As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Acesse aplicativos de contêineres de forma privada na Amazon EKS usando AWS PrivateLink um Network Load Balancer
Criado por Kirankumar Chandrashekar () AWS
Ambiente: produção | Tecnologias: contêineres e microsserviços DevOps; modernização; segurança, identidade e conformidade | Workload: todas as outras workloads |
AWSserviços: AmazonEKS; Amazon VPC |
Resumo
Esse padrão descreve como hospedar de forma privada um aplicativo de contêiner Docker no Amazon Elastic Kubernetes Service EKS (Amazon) por trás de um Network Load Balancer e acessar o aplicativo usando. AWS PrivateLink Em seguida, você pode usar uma rede privada para acessar com segurança os serviços na nuvem da Amazon Web Services (AWS).
O EKS cluster da Amazon que executa os aplicativos Docker, com um Network Load Balancer no front-end, pode ser associado a um endpoint de nuvem privada virtual VPC () para acesso. AWS PrivateLink Esse serviço de VPC endpoint pode então ser compartilhado com outros VPCs usando seus VPC endpoints.
A configuração descrita por esse padrão é uma forma segura de compartilhar o acesso ao aplicativo VPCs entre AWS contas. Não requer configurações especiais de conectividade ou roteamento, porque a conexão entre as contas do consumidor e do provedor está no AWS backbone global e não atravessa a Internet pública.
Pré-requisitos e limitações
Pré-requisitos
Docker
, instalado e configurado em macOS, Linux ou Windows. Um aplicativo em execução no Docker.
Uma conta da AWS ativa.
AWSInterface de linha de comando (AWSCLI) versão 2, instalada e configurada no Linux, macOS ou Windows.
Um EKS cluster Amazon existente com sub-redes privadas marcadas e configurado para hospedar aplicativos. Para obter mais informações, consulte Marcação de sub-rede na documentação da AmazonEKS.
Kubectl, instalado e configurado para acessar recursos em seu cluster da AmazonEKS. Para obter mais informações, consulte Instalando o kubectl na documentação da AmazonEKS.
Arquitetura
Pilha de tecnologia
Amazon EKS
AWS PrivateLink
Network Load Balancer
Automação e escala
Os manifestos do Kubernetes podem ser rastreados e gerenciados em um repositório baseado em Git (por exemplo, ativado AWS CodeCommit) e implantados usando integração contínua e entrega contínua (CI/CD) em. AWS CodePipeline
Você pode usar AWS CloudFormation para criar esse padrão usando infraestrutura como código (IaC).
Ferramentas
AWSCLI— AWS Command Line Interface (AWSCLI) é uma ferramenta de código aberto que permite interagir com AWS serviços usando comandos em seu shell de linha de comando.
Elastic Load Balancing — O Elastic Load Balancing distribui o tráfego de entrada de aplicativos ou de rede em vários destinos, como instâncias, contêineres e endereços IP do Amazon Elastic Compute Cloud (EC2Amazon), em uma ou mais zonas de disponibilidade.
Amazon EKS — O Amazon Elastic Kubernetes Service (EKSAmazon) é um serviço gerenciado que você pode usar para executar o AWS Kubernetes sem precisar instalar, operar e manter seu próprio plano de controle ou nós do Kubernetes.
Amazon VPC — A Amazon Virtual Private Cloud (AmazonVPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu.
Kubectl
: o Kubectl é um utilitário de linha de comando para executar comandos em clusters Kubernetes.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie o arquivo de manifesto de implantação do Kubernetes. | Crie um arquivo de manifesto de implantação modificando o arquivo de exemplo a seguir de acordo com seus requisitos.
Observação: este é um NGINX exemplo de arquivo de configuração implantado usando a imagem do NGINX Docker. Para obter mais informações, consulte Como usar a imagem oficial do NGINX Docker | DevOps engenheiro |
Implante o arquivo de manifesto de implantação do Kubernetes. | Execute o comando a seguir para aplicar o arquivo de manifesto de implantação ao seu EKS cluster da Amazon:
| DevOps engenheiro |
Crie o arquivo do manifesto do serviço do Kubernetes. | Crie um serviço de manifesto de serviço modificando o arquivo de exemplo a seguir de acordo com seus requisitos.
Importante: certifique-se de incluir o seguinte
| DevOps engenheiro |
Implante o arquivo de manifesto do serviço Kubernetes. | Execute o comando a seguir para aplicar o arquivo de manifesto do serviço ao seu EKS cluster da Amazon:
| DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Registre o nome do Network Load Balancer. | Execute o comando a seguir para recuperar o nome do Network Load Balancer:
Registre o nome do Network Load Balancer, necessário para criar um AWS PrivateLink endpoint. | DevOps engenheiro |
Crie um AWS PrivateLink endpoint. | Faça login no AWS Management Console, abra o VPC console da Amazon e crie um AWS PrivateLink endpoint. Associe esse endpoint ao Network Load Balancer, isso torna o aplicativo disponível de forma privada para os clientes. Para obter mais informações, consulte serviços de VPC endpoint (AWS PrivateLink) na VPC documentação da Amazon. Importante: se a conta do consumidor exigir acesso ao aplicativo, o ID da AWS conta do consumidor deverá ser adicionado à lista de principais permitidos para a configuração do AWS PrivateLink endpoint. Para obter mais informações, consulte Adicionar e remover permissões para seu serviço de endpoint na VPC documentação da Amazon. | Administrador de nuvem |
Crie um VPC endpoint. | No VPC console da Amazon, escolha Endpoint Services e, em seguida, escolha Create Endpoint Service. Crie um VPC endpoint para o AWS PrivateLink endpoint. O nome de domínio totalmente qualificado do VPC endpoint (FQDN) aponta FQDN para o do AWS PrivateLink endpoint. Isso cria uma interface de rede elástica para o serviço de VPC endpoint que os DNS endpoints podem acessar. | Administrador de nuvem |