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 ECS usando AWS Fargate e um AWS PrivateLink Network Load Balancer
Criado por Kirankumar Chandrashekar () AWS
Ambiente: produção | Tecnologias: contêineres e microsserviços; redes; segurança, identidade, conformidade; aplicativos web e móveis | Workload: todas as outras workloads |
AWSserviços: Amazon EC2 Container Registry; AmazonECS; AmazonEFS; Amazon; Amazon RDSVPC; Elastic Load Balancing (ELB); Lambda AWS |
Resumo
Esse padrão descreve como hospedar de forma privada um aplicativo de contêiner Docker na nuvem Amazon Web Services (AWS) usando o Amazon Elastic Container Service (AmazonECS) com um tipo de lançamento AWS Fargate, atrás de um Network Load Balancer, e acessar o aplicativo usando. AWS PrivateLink O Amazon Relational Database Service (RDSAmazon) hospeda o banco de dados relacional para o aplicativo executado na ECS Amazon com alta disponibilidade (HA). Você pode usar o Amazon Elastic File System (AmazonEFS) se o aplicativo exigir armazenamento persistente.
Esse padrão usa um tipo de lançamento Fargate para o ECS serviço Amazon que executa os aplicativos Docker, com um Network Load Balancer no front-end. Em seguida, ele 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.
Você pode usar o Fargate com ECS a Amazon para executar contêineres sem precisar gerenciar servidores ou clusters de instâncias do Amazon Elastic Compute Cloud (AmazonEC2). Você também pode usar um grupo do Amazon EC2 Auto Scaling em vez do Fargate. Para obter mais informações, consulte Acesse aplicativos de contêineres de forma privada na Amazon ECS usando AWS PrivateLink um Network Load Balancer.
Pré-requisitos e limitações
Pré-requisitos
Uma AWS conta ativa
AWSInterface de linha de comando (AWSCLI) versão 2, instalada e configurada no Linux, macOS ou Windows
Docker
, instalado e configurado no Linux, macOS ou Windows Um aplicativo em execução no Docker
Arquitetura
Pilha de tecnologia
Amazon CloudWatch
Amazon Elastic Container Registry (AmazonECR)
Amazon ECS
Amazon EFS
Amazon RDS
Amazon Simple Storage Service (Amazon S3)
AWS Fargate
AWSLambda
AWS PrivateLink
AWS Secrets Manager
Application Load Balancer
Network Load Balancer
VPC
Automação e escala
Você pode usar AWS CloudFormationpara criar esse padrão usando Infraestrutura como Código.
Ferramentas
Amazon ECS — O Amazon Elastic Container Service (AmazonECS) é um serviço de gerenciamento de contêineres altamente escalável e rápido que facilita a execução, a parada e o gerenciamento de contêineres em um cluster.
Amazon ECR — O Amazon Elastic Container Registry (AmazonECR) é um serviço gerenciado de registro de imagens de AWS contêineres que é seguro, escalável e confiável.
Amazon EFS — O Amazon Elastic File System (AmazonEFS) fornece um sistema de NFS arquivos elástico simples, escalável e totalmente gerenciado para uso com serviços AWS em nuvem e recursos locais.
AWSFargate — AWS Fargate é uma tecnologia que você pode usar com a Amazon ECS para executar contêineres sem precisar gerenciar servidores ou clusters de instâncias da Amazon. EC2
AWSLambda — O Lambda é um serviço de computação que permite executar código sem provisionar ou gerenciar servidores.
Amazon RDS — O Amazon Relational Database Service (RDSAmazon) é um serviço web que facilita a configuração, a operação e a escalabilidade de um banco de dados relacional na AWS nuvem.
Amazon S3: o Amazon Simple Storage Service (Amazon S3) serve como armazenamento para a internet. Ele foi projetado para facilitar a computação de escala na web para os desenvolvedores.
AWSSecrets Manager — O Secrets Manager ajuda você a substituir as credenciais codificadas em seu código, incluindo senhas, por uma API chamada para o Secrets Manager para recuperar o segredo programaticamente.
Amazon VPC — A Amazon Virtual Private Cloud (AmazonVPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu.
Elastic Load Balancing — O Elastic Load Balancing ELB () distribui o tráfego de entrada de aplicativos ou de rede em vários destinos, EC2 como instâncias, contêineres e endereços IP, em várias zonas de disponibilidade.
Docker
: o Docker ajuda os desenvolvedores a empacotar, enviar e executar facilmente qualquer aplicativo como um contêiner leve, portátil e autossuficiente.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie umVPC. |
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um Network Load Balancer. |
Para obter ajuda com esse e outros artigos, consulte a seção Recursos relacionados. | Administrador de nuvem |
Criar um Application Load Balancer. |
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um sistema de EFS arquivos da Amazon. |
| Administrador de nuvem |
Monte destinos para as sub-redes. |
| Administrador de nuvem |
Verifique se as sub-redes estão montadas como destinos. |
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um bucket do S3. | Abra o console do Amazon S3 e crie um bucket do S3 para armazenar os ativos estáticos do seu aplicativo, se necessário. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma AWS KMS chave para criptografar o segredo do Secrets Manager. | Abra o console AWS Key Management Service (AWSKMS) e crie uma KMS chave. | Administrador de nuvem |
Crie um segredo do Secrets Manager para armazenar a RDS senha da Amazon. |
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um grupo de sub-redes de banco de dados. |
| Administrador de nuvem |
Crie uma RDS instância da Amazon. | Crie e configure uma RDS instância da Amazon dentro das sub-redes privadas. Certifique-se de que o Multi-AZ esteja ativado para alta disponibilidade (HA). | Administrador de nuvem |
Carregue dados na RDS instância da Amazon. | Carregue os dados relacionais exigidos pelo seu aplicativo na sua RDS instância da Amazon. Esse processo irá variar dependendo das necessidades do seu aplicativo, bem como de como o esquema do banco de dados é definido e projetado. | DBA |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um ECS cluster. |
| Administrador de nuvem |
Criar as imagens do Docker. | Crie as imagens do Docker seguindo as instruções na seção Recursos relacionados. | Administrador de nuvem |
Crie um ECR repositório da Amazon. |
| Administrador de nuvem, DevOps engenheiro |
Envie as imagens do Docker para o ECR repositório da Amazon. |
| Administrador de nuvem |
Crie uma definição de ECS tarefa da Amazon. | É necessária uma definição de tarefa para executar contêineres Docker na AmazonECS.
Para obter ajuda na configuração da definição de tarefa, consulte “Criar uma definição de tarefa” na seção Recursos relacionados. Importante: certifique-se de fornecer as imagens do Docker que você enviou para a AmazonECR. | Administrador de nuvem |
Crie um ECS serviço e escolha Fargate como o tipo de lançamento. |
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure o AWS PrivateLink endpoint. |
Para obter mais informações, consulte a seção Recursos relacionados. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um VPC endpoint. | Crie um VPC endpoint para o AWS PrivateLink endpoint que você criou anteriormente. O nome de domínio totalmente qualificado do VPC endpoint (FQDN) apontará para o AWS PrivateLink FQDN endpoint. Isso cria uma interface de rede elástica para o serviço de VPC endpoint que os endpoints do Domain Name Service podem acessar. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar a função do Lambda. | Abra o console Lambda e crie uma função do Lambda para atualizar os endereços IP do Application Load Balancer como destinos para o Network Load Balancer. Para obter mais informações sobre isso, consulte a postagem do blog “Usando endereços IP estáticos para Application Load Balancers” na seção Recursos relacionados. | Desenvolvedor de aplicativos |
Recursos relacionados
Criar os balanceadores de carga:
Crie um sistema de EFS arquivos da Amazon:
Crie um bucket S3:
Criar um segredo do Secrets Manager:
Crie uma RDS instância da Amazon:
Crie os ECS componentes da Amazon:
Configurar AWS PrivateLink:
Crie um VPC endpoint:
Criar a função do Lambda:
Outros recursos: