Endpoints da VPC de interface do Amazon ECS (AWS PrivateLink)
É possível melhorar o procedimento de segurança da VPC configurando o Amazon ECS para usar um endpoint da VPC de interface. Os endpoints de interface são desenvolvidos pelo AWS PrivateLink, uma tecnologia que permite que você acesse APIs do Amazon ECS de modo privado usando endereços IP privados. O AWS PrivateLink restringe todo o tráfego de rede entre a VPC e o Amazon ECS à rede da Amazon. Você não precisa de um gateway da Internet, de um dispositivo NAT ou de um gateway privado virtual.
Para obter mais informações sobre o AWS PrivateLink e endpoints da VPC, consulte Endpoints da VPC no Guia do usuário da Amazon VPC.
Considerações
Considerações sobre endpoints nas regiões introduzidas a partir de 23 de dezembro de 2023
Antes de configurar endpoints da VPC de interface para o Amazon ECS, leve em conta as seguintes considerações:
-
Você deve ter os seguintes endpoints da VPC específicos da região:
nota
Se você não configurar todos os endpoints, seu tráfego passará pelos endpoints públicos, não pelo endpoint da VPC.
-
com.amazonaws.
region
.ecs-agent -
com.amazonaws.
region
.ecs-telemetry -
com.amazonaws.
region
.ecs
Por exemplo, a região Oeste do Canadá (Calgary) (ca-west-1) precisa dos seguintes endpoints da VPC:
-
com.amazonaws.ca-west-1.ecs-agent
-
com.amazonaws.ca-west-1.ecs-telemetry
-
com.amazonaws.ca-west-1.ecs
-
-
Quando você usar um modelo para criar recursos da AWS na nova região e o modelo tiver sido copiado de uma região introduzida antes de 23 de dezembro de 2023, dependendo da região de origem da cópia, faça uma das operações a seguir.
Por exemplo, a região de origem da cópia é Leste dos EUA (Norte da Virgínia) (us-east-1). A região de destino da cópia é Oeste do Canadá (Calgary) (ca-west-1).
Configuração Ação A região de origem da cópia não tem nenhum endpoint da VPC.
Crie todos os três endpoints da VPC para a nova região (por exemplo,
com.amazonaws.ca-west-1.ecs-agent
).A região de origem da cópia contém endpoints da VPC específicos da região.
-
Crie todos os três endpoints da VPC para a nova região (por exemplo,
com.amazonaws.ca-west-1.ecs-agent
). -
Exclua todos os três endpoints da VPC para a região de origem da cópia (por exemplo,
com.amazonaws.us-east-1.ecs-agent
).
-
Considerações sobre endpoints da VPC do Amazon ECS para o tipo de inicialização do Fargate
Quando há um endpoint da VPC para ecr.dkr
e ecr.api
na mesma VPC em que uma tarefa do Fargate é implantada, o endpoint da VPC é usado. Se não houver um endpoint da VPC, a interface do Fargate é usada.
Antes de configurar endpoints da VPC de interface para o Amazon ECS, leve em conta as seguintes considerações:
-
As tarefas que usam o tipo de inicialização do Fargate não exigem endpoints da VPC de interface para o Amazon ECS, mas você pode precisar de endpoints da VPC de interface para o Amazon ECR, o Secrets Manager ou o Amazon CloudWatch Logs descritos nos pontos a seguir.
-
Para permitir que suas tarefas extraiam imagens privadas do Amazon ECR, você deve criar endpoints da VPC de interface para o Amazon ECR. Para obter mais informações, consulte Endpoints da VPC de interface (AWS PrivateLink) no Guia do usuário do Amazon Elastic Container Registry.
Importante
Se você configurar o Amazon ECR para usar um endpoint da VPC de interface, crie uma função de execução de tarefas que inclua chaves de condição para restringir o acesso a uma VPC ou a um endpoint da VPC específico. Para ter mais informações, consulte Tarefas do Fargate que extraem imagens do Amazon ECR pelos endpoints da interface.
-
Para permitir que suas tarefas extraiam dados sigilosos do Secrets Manager, é necessário criar endpoints da VPC de interface para o Secrets Manager. Para obter mais informações, consulte Usar o Secrets Manager com endpoints da VPC no Guia do usuário do AWS Secrets Manager.
-
Se a VPC não tiver um gateway da internet e as tarefas usarem o driver de log
awslogs
para enviar informações de log para o CloudWatch Logs, você deverá criar um endpoint da VPC de interface para o CloudWatch Logs. Para obter mais informações, consulte Usar o CloudWatch Logs com endpoints da VPC de interface no Guia do usuário do Amazon CloudWatch Logs.
-
-
Atualmente, os VPC endpoints não oferecem compatibilidade com solicitações entre regiões. Crie o endpoint na mesma região em que você planeja emitir as chamadas de API para o Amazon ECS. Por exemplo, suponha que você queira executar tarefas na região Leste dos EUA (Norte da Virgínia). Para isso, você deve criar o endpoint da VPC do Amazon ECS no Leste dos EUA (Norte da Virgínia). Um endpoint da VPC do Amazon ECS criado em qualquer outra região não poderá executar tarefas no Leste dos EUA (Norte da Virgínia).
-
Os endpoints da VPC oferecem compatibilidade somente com DNS fornecidos pela Amazon por meio do Amazon Route 53. Se quiser usar seu próprio DNS, você pode usar o encaminhamento de DNS condicional. Para obter mais informações, consulte Conjuntos de Opções de DHCP no Manual do Usuário da Amazon VPC.
-
O grupo de segurança anexado ao endpoint da VPC deve permitir conexões de entrada na porta 443 na sub-rede privada da VPC.
-
O gerenciamento do Service Connect do proxy Envoy usa o endpoint da VPC
com.amazonaws.
. Quando você não usa os endpoints da VPC, o gerenciamento do proxy Envoy pelo Service Connect usa o endpointregion
.ecs-agentecs-sc
nessa região. Para obter uma lista dos endpoints do Amazon ECS em cada região, consulte Endpoints e cotas do Amazon ECS.
Considerações para endpoints da VPC do Amazon ECS para o tipo de inicialização do EC2.
Antes de configurar endpoints da VPC de interface para o Amazon ECS, leve em conta as seguintes considerações:
-
As tarefas que usam o tipo de inicialização do EC2 exigem que as instâncias de contêiner nas quais são iniciadas executem a versão
1.25.1
ou posterior do agente de contêiner do Amazon ECS. Para ter mais informações, consulte Gerenciamento de instâncias de contêiner do Linux no Amazon ECS. -
Para permitir que suas tarefas extraiam dados sigilosos do Secrets Manager, é necessário criar endpoints da VPC de interface para o Secrets Manager. Para obter mais informações, consulte Usar o Secrets Manager com endpoints da VPC no Guia do usuário do AWS Secrets Manager.
-
Se a VPC não tiver um gateway da internet e as tarefas usarem o driver de log
awslogs
para enviar informações de log para o CloudWatch Logs, você deverá criar um endpoint da VPC de interface para o CloudWatch Logs. Para obter mais informações, consulte Usar o CloudWatch Logs com endpoints da VPC de interface no Guia do usuário do Amazon CloudWatch Logs. -
Atualmente, os VPC endpoints não oferecem compatibilidade com solicitações entre regiões. Crie o endpoint na mesma região em que você planeja emitir as chamadas de API para o Amazon ECS. Por exemplo, suponha que você queira executar tarefas na região Leste dos EUA (Norte da Virgínia). Para isso, você deve criar o endpoint da VPC do Amazon ECS no Leste dos EUA (Norte da Virgínia). Um endpoint da VPC do Amazon ECS criado em qualquer outra região não pode executar tarefas no Leste dos EUA (Norte da Virgínia).
-
Os endpoints da VPC oferecem compatibilidade somente com DNS fornecidos pela Amazon por meio do Amazon Route 53. Se quiser usar seu próprio DNS, você pode usar o encaminhamento de DNS condicional. Para obter mais informações, consulte Conjuntos de Opções de DHCP no Manual do Usuário da Amazon VPC.
-
O grupo de segurança anexado ao endpoint da VPC deve permitir conexões de entrada na porta 443 na sub-rede privada da VPC.
Criar os endpoints da VPC para o Amazon ECS
Para criar os endpoints da VPC para o serviço do Amazon ECS, use o procedimento Criar um endpoint de interface no Guia do usuário da Amazon VPC. Se tiver instâncias de contêiner existentes na VPC, você deverá criar os endpoints na ordem em que são listados. Se você planeja criar as instâncias de contêiner depois que o VPC endpoint for criado, a ordem não importa.
nota
Se você não configurar todos os endpoints, seu tráfego passará pelos endpoints públicos, não pelo endpoint da VPC.
-
com.amazonaws.
region
.ecs-agent -
com.amazonaws.
region
.ecs-telemetry -
com.amazonaws.
region
.ecs
nota
A região
representa o identificador da região para uma região da AWS compatível com o Amazon ECS, como us-east-2
para a região Leste dos EUA (Ohio).
O endpoint ecs-agent
usa a API ecs:poll
e o endpoint ecs-telemetry
usa a API ecs:poll
e ecs:StartTelemetrySession
.
Se você tiver tarefas existentes que estão usando o tipo de inicialização do EC2, depois de ter criado os endpoints da VPC, cada instância de contêiner deverá obter a nova configuração. Para que isso aconteça, você deve reinicializar cada instância de contêiner ou reiniciar o agente de contêiner do Amazon ECS em cada instância de contêiner. Para reiniciar o agente do contêiner, faça o seguinte.
Para reiniciar o agente de contêiner do Amazon ECS
-
Faça login em sua instância de contêiner via SSH.
-
Pare o agente de contêiner do .
sudo docker stop ecs-agent
-
Inicie o agente do contêiner
sudo docker start ecs-agent
Depois que os endpoints da VPC forem criados e o agente de contêiner do Amazon ECS for reiniciado em cada instância de contêiner, todas as tarefas recém-inicializadas obterão a nova configuração.
Criar uma política de endpoint da VPC para o Amazon ECS
É possível anexar uma política de endpoint ao endpoint da VPC que controla o acesso ao Amazon ECS. Essa política especifica as seguintes informações:
-
A entidade principal que pode executar ações.
-
As ações que podem ser executadas.
-
Os recursos sobre os quais as ações podem ser realizadas.
Para obter mais informações, consulte Controlar o acesso a serviços com VPC endpoints no Guia do usuário da Amazon VPC.
Exemplo: política de endpoint da VPC para ações do Amazon ECS
Veja a seguir um exemplo de política de endpoint para o Amazon ECS. Quando anexada a um endpoint, essa política concede acesso à permissão para criar e listar clusters. Como as ações CreateCluster
e ListClusters
não aceitam recursos, a definição de recurso é definida como * para todos os recursos.
{ "Statement":[ { "Effect": "Allow", "Action": [ "ecs:CreateCluster", "ecs:ListClusters" ], "Resource": [ "*" ] } ] }