Objetivo geral:
Setup completo de um cluster Kubernetes utilizando AWS EKS e Terraform seguindo as melhores práticas e documentações oficias. Demonstração de atualizações de aplicações e demais recursos
Objetivo da parte III:
Restringir acesso externo ao cluster.
Avisos importantes
Leitura das partes 1 e 2.
A parte 1 é responsável pelo setup inicial do cluster, clique aqui.
A parte 2 é responsável por habilitar todos os logs do Control Plane.
A configuração do cluster é exclusiva para laboratório e testes.
Pré requisitos
Todos da parte 1 e da parte 2.
Entendendo alguns acessos ao cluster
A opção API server endpoint access jpa veem habilitada por padrão com a configuração Public and private, sendo assim O servidor de API do cluster é acessível pela internet.
Para mais informações acesse a documentação oficial clicando aqui.
Se esse é seu caso nós podemos restringir o acesso público as aplicações alterando a opção Public access source allowlist.
Essa opção restringe quais serão os blocos de IP´s públicos que terão acesso ao cluster.
Agora que "os trem" estão mais claros, Let's go to work!
Configurações inicias
Vamos restringir o acesso ao cluster para IP´s públicos que estão liberados em uma Allow-List customizada.
Para isso vamos editar o arquivo main.tf
e adicionar no modulo do EKS a entrada abaixo:
cluster_endpoint_public_access_cidrs = var.cluster_endpoint_public_access_cidrs
No arquivo variables.tf
vamos inserir o trecho abaixo:
variable "cluster_endpoint_public_access_cidrs" {
description = "A list of Allow Public IP"
type = list(string)
default = ["101.65.0.0/22"]
}
Na opção default, inserimos todos a lista de IP´s públicos que terão acesso ao cluster.
Aplicando as atualizações
Vamos executar o Plan e o Apply para atualizar nosso template com as alterações.
terraform plan && terraform apply -auto-approve
Validações
Através da console de gerenciamento da AWS, procure pelo serviço AWS EKS, localize o cluster e clique no menu Networking.
Localize a opção Public access source allowlist e verifique se todos os ip´s inseridos no código estão listados aqui.
Próximas partes
- AWS EKS - Parte IV - Configurando Add-ons gerenciados (em construção)
- AWS EKS - Parte V - Deploy e atualização de uma app (em construção)
Partes Anteriores
Referências
Top comments (0)