Use o CodeDeploy com o Amazon Virtual Private Cloud
Se você usar a Amazon Virtual Private Cloud (Amazon VPC) para hospedar os recursos da AWS, poderá estabelecer uma conexão privada entre a VPC e o CodeDeploy. Você pode usar essa conexão para habilitar o CodeDeploy a se comunicar com os seus recursos na VPC sem passar pela Internet pública.
A Amazon VPC é um produto da AWS que pode ser utilizado para iniciar os recursos da AWS em uma rede virtual definida por você. Com a VPC, você tem controle sobre as configurações de rede, como o intervalo de endereços IP, sub-redes, tabelas de rotas e gateways de rede. Com endpoints da VPC, o roteamento entre a VPC e os serviços da AWS é realizado pela rede da AWS e você pode usar políticas do IAM para controlar o acesso aos recursos do serviço.
Para conectar sua VPC ao CodeDeploy, basta definir um endpoint da VPC de interface para o CodeDeploy. Um endpoint da interface é uma interface de rede elástica com um endereço IP privado que serve como ponto de entrada para o tráfego destinado ao serviço da AWS com suporte. O endpoint fornece uma conectividade confiável e escalável ao CodeDeploy sem a necessidade de um gateway da Internet, de uma instância de conversão de endereços de rede (NAT) ou de uma conexão VPN. Para obter mais informações, consulte O que é a Amazon VPC? no Guia do usuário da Amazon VPC.
Os endpoints da VPC de interface são desenvolvidos pelo AWS PrivateLink, uma tecnologia da AWS permite a comunicação privada entre os serviços da AWS usando uma interface de rede elástica com endereços IP privados. Para obter mais informações, consulte AWS PrivateLink
As etapas a seguir são para usuários da Amazon VPC. Para obter mais informações, consulte Conceitos básicos no Guia do usuário da Amazon VPC.
Disponibilidade
O CodeDeploy conta com dois endpoints da VPC: um para operações do agente do CodeDeploy e outro para operações da API CodeDeploy. A tabela abaixo mostra as Regiões AWS compatíveis com cada endpoint.
Para acessar mais informações sobre endpoints do FIPS, consulte Endpoints e cotas do AWS CodeDeploy.
| Nome da região | Código da região | Endpoint do agente | Endpoint de API | Região compatível com FIPS? |
|---|---|---|---|---|
|
Leste dos EUA (Norte da Virgínia) |
us-east-1 |
Sim |
Sim |
Sim |
|
Leste dos EUA (Ohio) |
us-east-2 |
Sim |
Sim |
Sim |
|
Oeste dos EUA (N. da Califórnia) |
us-west-1 |
Sim |
Sim |
Sim |
|
Oeste dos EUA (Oregon) |
us-west-2 |
Sim |
Sim |
Sim |
|
África (Cidade do Cabo) |
af-south-1 |
Sim |
Não |
|
|
Ásia-Pacífico (Hong Kong) |
ap-east-1 |
Sim |
Sim |
|
|
Ásia-Pacífico (Hyderabad) |
ap-south-2 |
Sim |
Não |
|
|
Ásia-Pacífico (Jacarta) |
ap-southeast-3 |
Sim |
Não |
|
|
Ásia-Pacífico (Melbourne) |
ap-southeast-4 |
Sim |
Não |
|
|
Ásia-Pacífico (Mumbai) |
ap-south-1 |
Sim |
Sim |
|
|
Ásia Pacifico (Osaka) |
ap-northeast-3 |
Sim |
Não |
|
|
Ásia-Pacífico (Seul) |
ap-northeast-2 |
Sim |
Sim |
|
|
Ásia-Pacífico (Singapura) |
ap-southeast-1 |
Sim |
Sim |
|
|
Ásia-Pacífico (Sydney) |
ap-southeast-2 |
Sim |
Sim |
|
|
Ásia-Pacífico (Tóquio) |
ap-northeast-1 |
Sim |
Sim |
|
|
Canadá (Central) |
ca-central-1 |
Sim |
Sim |
|
|
China (Pequim) |
cn-north-1 |
Sim |
Não |
|
|
China (Ningxia) |
cn-northwest-1 |
Não |
Não |
|
|
Europa (Frankfurt) |
eu-central-1 |
Sim |
Sim |
|
|
Europa (Irlanda) |
eu-west-1 |
Sim |
Sim |
|
|
Europa (Londres) |
eu-west-2 |
Sim |
Sim |
|
|
Europa (Milão) |
eu-south-1 |
Sim |
Não |
|
|
Europa (Paris) |
eu-west-3 |
Sim |
Sim |
|
|
Europa (Espanha) |
eu-south-2 |
Sim |
Não |
|
|
Europa (Estocolmo) |
eu-north-1 |
Sim |
Sim |
|
|
Europa (Zurique) |
eu-central-2 |
Sim |
Não |
|
|
Israel (Tel Aviv) |
il-central-1 |
Sim |
Sim |
|
|
Oriente Médio (Barém) |
me-south-1 |
Sim |
Sim |
|
|
Oriente Médio (Emirados Árabes Unidos) |
me-central-1 |
Sim |
Não |
|
|
América do Sul (São Paulo) |
sa-east-1 |
Sim |
Sim |
|
|
AWS GovCloud (Leste dos EUA) |
us-gov-east-1 |
Não |
Não |
Sim |
|
AWS GovCloud (Oeste dos EUA) |
us-gov-west-1 |
Não |
Não |
Sim |
Criar endpoints da VPC para o CodeDeploy
Para começar a usar o CodeDeploy com sua VPC, crie um endpoint da VPC de interface para o CodeDeploy. O CodeDeploy exige endpoints separados para as operações do Git do agente e para as operações da API do CodeDeploy. Dependendo das necessidades da sua empresa, pode ser necessário criar mais de um VPC endpoint. Ao criar um endpoint da VPC para o CodeDeploy, selecione AWSServiços, e em Nome do serviço, selecione a partir das opções a seguir:
-
com.amazonaws.region.git-codecommit: com.amazonaws.
region.codedeploy: um endpoint da VPC para operações de API do CodeDeploy. Por exemplo, escolha essa opção se os usuários utilizarem a AWS CLI, a API do CodeDeploy ou os SDKs da AWS para interagir com o CodeDeploy para operações comoCreateApplication,GetDeploymenteListDeploymentGroups. -
com.amazonaws.
region.codedeploy-fips: escolha essa opção se deseja criar um endpoint da VPC para operações de API do CodeDeploy para o endpoint do FIPS. -
com.amazonaws.
region.codedeploy-commands-secure: escolha essa opção se quiser criar um endpoint da VPC para operações do agente do CodeDeploy. Você também precisará definir:enable_auth_policy:paratrueno arquivo de configuração do agente e anexar as permissões necessárias. Para obter mais informações, consulte Configurar o agente do CodeDeploy e as permissões do IAM.
Se você estiver usando implantações Lambda ou ECS, só precisa criar um endpoint da VPC para com.amazonaws.region.codedeploy. Clientes que usam implantações do Amazon EC2 precisarão de endpoints da VPC para com.amazonaws.region.codedeploy e com.amazonaws.region.codedeploy-commands-secure.
Configurar o agente do CodeDeploy e as permissões do IAM
Para usar endpoints da VPC da Amazon com o CodeDeploy, você deve definir o valor de :enable_auth_policy: para true no arquivo de configuração do agente localizado em suas instâncias EC2 ou on-premises. Para obter mais informações sobre o arquivo de configuração do agente, consulte Referência de configuração do agente do CodeDeploy.
Você também deve adicionar as seguintes permissões do IAM ao seu perfil de instância do Amazon EC2 (se estiver usando instâncias do Amazon EC2) ou ao usuário do IAM ou perfil (se estiver usando instâncias on-premises).
{ "Statement": [ { "Action": [ "codedeploy-commands-secure:GetDeploymentSpecification", "codedeploy-commands-secure:PollHostCommand", "codedeploy-commands-secure:PutHostCommandAcknowledgement", "codedeploy-commands-secure:PutHostCommandComplete" ], "Effect": "Allow", "Resource": "*" } ] }
Para obter mais informações, consulte Criar um endpoint de interface no Guia do usuário da Amazon VPC.