Use o CodeDeploy com o Amazon Virtual Private Cloud - AWS CodeDeploy

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 como CreateApplication, GetDeployment e ListDeploymentGroups.

  • 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: para true no 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.