

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 no Amazon ECS usando o AWS Fargate, a PrivateLink AWS e um Network Load Balancer
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer"></a>

*Kirankumar Chandrashekar, Amazon Web Services*

## Resumo
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer-summary"></a>

Esse padrão descreve como hospedar de forma privada um aplicativo de contêiner Docker na nuvem da Amazon Web Services (AWS) usando o Amazon Elastic Container Service (Amazon ECS) com um tipo de lançamento do AWS Fargate, atrás de um Network Load Balancer, e acessar o aplicativo usando a AWS. PrivateLink O Amazon Relational Database Service (Amazon RDS) hospeda os banco de dados relacional para o aplicativo em execução no Amazon ECS com alta disponibilidade (HA). Você pode usar o Amazon Elastic File System (Amazon EFS) se o aplicativo exigir armazenamento persistente.

Esse padrão usa um [tipo de lançamento Fargate](https://docs.aws.amazon.com/AmazonECS/latest/userguide/launch_types.html) para o serviço do Amazon ECS executando os aplicativos Docker, com um Network Load Balancer no frontend. Em seguida, ele pode ser associado a um endpoint de nuvem privada virtual (VPC) para acesso por meio da AWS. PrivateLink Esse serviço de VPC endpoint pode então ser compartilhado com outras pessoas VPCs usando seus VPC endpoints.

Você pode usar o Fargate com o Amazon ECS para executar contêineres sem precisar gerenciar servidores ou clusters de instâncias do Amazon Elastic Compute Cloud (Amazon). EC2 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 no Amazon ECS usando a AWS PrivateLink e um Network](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-privatelink-and-a-network-load-balancer.html?did=pg_card&trk=pg_card) Load Balancer.

## Pré-requisitos e limitações
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ [AWS Command Line Interface (AWS CLI) versão 2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), instalado e configurado no Linux, macOS ou Windows
+ [Docker](https://www.docker.com/), instalado e configurado no Linux, macOS ou Windows
+ Um aplicativo em execução no Docker

## Arquitetura
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer-architecture"></a>

![\[Usando PrivateLink para acessar um aplicativo de contêiner no Amazon ECS com um tipo de lançamento do AWS Fargate.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/31cca5e2-8d8b-45ec-b872-a06b0dd97007/images/57cc9995-45f4-4039-a0bf-2d2b3d6a05de.png)


**Pilha de tecnologia**
+ Amazon CloudWatch
+ Amazon Elastic Container Registry (Amazon ECR)
+ Amazon ECS
+ Amazon EFS
+ Amazon RDS
+ Amazon Simple Storage Service (Amazon S3)
+ AWS Fargate
+ AWS PrivateLink
+ AWS Secrets Manager
+ Application Load Balancer
+ Network Load Balancer
+ VPC

**Automação e escala**
+ Você pode usar CloudFormation a [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) para criar esse padrão usando a [infraestrutura como código](https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html).

## Ferramentas
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer-tools"></a>

**Serviços da AWS**
+ [O Amazon Elastic Container Registry (Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)) é um serviço gerenciado de registro de imagens de contêineres da AWS que é seguro, escalável e confiável.
+ [O Amazon Elastic Container Service (Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)) é 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.
+ [O Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) fornece um sistema de arquivos NFS elástico simples, escalável e totalmente gerenciado para uso com serviços de nuvem e recursos locais da AWS.
+ [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)é uma tecnologia que você pode usar com o Amazon ECS para executar contêineres sem precisar gerenciar servidores ou clusters de EC2 instâncias da Amazon.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/rds/index.html) é um serviço da web que facilita a configuração, a operação e a escalabilidade de um banco de dados relacional na Nuvem AWS.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento para a internet. Ele foi projetado para facilitar a computação de escala na web para os desenvolvedores.
+ O [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/) ajuda a substituir credenciais codificadas, incluindo senhas, por uma chamada de API ao Secrets Manager para recuperar o segredo por programação.
+ [A Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda você a lançar recursos da AWS em uma rede virtual que você definiu.
+ O [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) distribui o tráfego de entrada de aplicativos ou de rede em vários destinos, como EC2 instâncias, contêineres e endereços IP, em várias zonas de disponibilidade.

**Outras ferramentas**
+ O [Docker](https://www.docker.com/) ajuda os desenvolvedores a empacotar, enviar e executar facilmente qualquer aplicativo como um contêiner leve, portátil e autossuficiente.

## Épicos
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer-epics"></a>

### Criar componentes de rede
<a name="create-networking-components"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma VPC. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 

### Criar os balanceadores de carga
<a name="create-the-load-balancers"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um Network Load Balancer.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html)Para obter ajuda com esse e outros artigos, consulte a seção *Recursos relacionados*. | Administrador de nuvem | 
| Criar um Application Load Balancer. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 

### Criar um sistema de arquivos do Amazon EFS
<a name="create-an-amazon-efs-file-system"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um sistema de arquivos do Amazon EFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 
| Monte destinos para as sub-redes. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 
| Verifique se as sub-redes estão montadas como destinos.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 

### Criar um bucket do S3.
<a name="create-an-s3-bucket"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um bucket do S3. | Abra o console do Amazon S3 e [crie um bucket do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html#creating-bucket) para armazenar os ativos estáticos do seu aplicativo, se necessário. | Administrador de nuvem | 

### Crie um segredo do Secrets Manager
<a name="create-a-secrets-manager-secret"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
|  Crie uma chave do AWS KMS para criptografar o segredo do Secrets Manager. | Abra o console do AWS Key Management Service (AWS KMS) e crie uma chave do KMS. | Administrador de nuvem | 
|  Crie um segredo do Secrets Manager para armazenar a senha do Amazon RDS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 

### Criar uma instância de do Amazon RDS
<a name="create-an-amazon-rds-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um grupo de sub-redes de banco de dados.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 
| Crie uma instância de do Amazon RDS. | Crie e configure uma instância do Amazon RDS nas sub-redes privadas. Certifique-se de que o **Multi-AZ** esteja ativado para alta disponibilidade (HA). | Administrador de nuvem | 
| Carregue dados na instância do Amazon RDS.  | Carregue os dados relacionais exigidos pelo seu aplicativo na sua instância do Amazon RDS. Esse processo irá variar dependendo das necessidades do seu aplicativo, bem como de como o esquema do banco de dados é definido e projetado. | DBA | 

### Criar os componentes do Amazon ECS
<a name="create-the-amazon-ecs-components"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um cluster do ECS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 
| Criar as imagens do Docker. | Crie as imagens do Docker seguindo as instruções na [AWS documentação](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-container-image.html). | Administrador de nuvem | 
| Crie um repositório do Amazon ECR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem, DevOps engenheiro | 
| Envie imagens do Docker ao repositório do Amazon ECR.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 
| Criar uma definição de tarefa do Amazon ECS.  | É necessária uma definição de tarefa para executar contêineres do Docker no Amazon ECS. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html)Para obter ajuda na configuração da definição de tarefa, consulte “Criação de uma definição de tarefa” na seção *Recursos relacionados*. Certifique-se de fornecer as imagens do Docker que você enviou para o Amazon ECR. | Administrador de nuvem | 
| Crie um serviço do ECS e escolha Fargate como o tipo de lançamento. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 

### Configurar a AWS PrivateLink
<a name="set-up-aws-privatelink"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o PrivateLink endpoint da AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer.html) | Administrador de nuvem | 

### Criar um VPC endpoint
<a name="create-a-vpc-endpoint"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um VPC endpoint | [Crie um VPC endpoint para o endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) da AWS que PrivateLink você criou anteriormente. O nome de domínio totalmente qualificado (FQDN) do VPC endpoint apontará para o FQDN do endpoint da AWS. PrivateLink Isso cria uma interface de rede elástica para o serviço de endpoint da VPC que os endpoints do Domain Name Service podem acessar. | Administrador de nuvem | 

### Defina o alvo
<a name="set-the-target"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Adicione o Application Load Balancer como destino. | [Para adicionar o Application Load Balancer como destino para o Network Load Balancer, siga as instruções na documentação.AWS](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/application-load-balancer-target.html) | Desenvolvedor de aplicativos | 

## Recursos relacionados
<a name="access-container-applications-privately-on-amazon-ecs-by-using-aws-fargate-aws-privatelink-and-a-network-load-balancer-resources"></a>

**Criar os balanceadores de carga:**
+ [Use um Network Load Balancer para o Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/nlb.html)
+ [Criar um Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html)
+ [Use um Application Load Balancer para o Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/alb.html)
+ [Criar um Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)

**Criar um sistema de arquivos do Amazon EFS**
+ [Criar um sistema de arquivos do Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html)
+ [Crie destinos de montagem no Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html)

**Criar um segredo do Secrets Manager:**
+ [Crie chaves no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
+ [Criar um segredo no AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)

**Criar uma instância de do Amazon RDS:**
+ [Criar uma instância de banco de dados do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)

**Criar os componentes do Amazon ECS**
+ [Criar um repositório do Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html)
+ [Autentique o Docker com o repositório do Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth)
+ [Enviar uma imagem para um repositório do Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html)
+ [Criar uma definição de tarefa do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html)
+ [Criar um serviço do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-console-v2.html)

**Outros recursos:**
+ [Acessando serviços com segurança pela AWS PrivateLink](https://d1.awsstatic.com/whitepapers/aws-privatelink.pdf)