Acessar os Serviços da AWS pelo AWS PrivateLink - Amazon Virtual Private Cloud

Acessar os Serviços da AWS pelo AWS PrivateLink

Acesse o AWS service (Serviço da AWS) usando um endpoint. Os endpoints de serviço padrão são interfaces públicas, então é necessário adicionar um gateway da Internet à VPC para que o tráfego possa ir da VPC para o AWS service (Serviço da AWS). Caso essa configuração não funcione com seus requisitos de segurança de rede, você pode usar o AWS PrivateLink para conectar sua VPC aos Serviços da AWS como se estivessem em sua VPC, sem usar um gateway da Internet.

É possível acessar de modo privado os Serviços da AWS que se integram ao AWS PrivateLink usando endpoints da VPC. Você pode criar e gerenciar todas as camadas da pilha de aplicações sem usar um gateway da Internet.

Visão geral

Você pode acessar os Serviços da AWS pelos endpoints de serviço públicos ou conectar-se aos Serviços da AWS compatíveis usando o AWS PrivateLink. Esta visão geral compara esses métodos.

Acesso por meio de endpoints de serviço públicos

O seguinte diagrama mostra como as instâncias acessam os Serviços da AWS pelos endpoints de serviço público. O tráfego para um AWS service (Serviço da AWS) de uma instância em uma sub-rede pública é encaminhado ao gateway da Internet da VPC e depois ao AWS service (Serviço da AWS). O tráfego para um AWS service (Serviço da AWS) de uma instância em uma sub-rede privada é encaminhado a um gateway NAT, depois ao gateway da Internet da VPC e depois ao AWS service (Serviço da AWS). Embora atravesse o gateway da Internet, o tráfego não sai da rede da AWS.


        Por padrão, o tráfego da VPC para um AWS service (Serviço da AWS) é encaminhando por meio de um gateway da Internet, mas não sai da rede da AWS.
Conectar-se pelo AWS PrivateLink

O seguinte diagrama mostra como as instâncias acessam Serviços da AWS pelo AWS PrivateLink. Primeiro, crie um endpoint da VPC de interface, que estabelece conexões entre as sub-redes na VPC e um AWS service (Serviço da AWS) usando interfaces de rede. O tráfego destinado ao AWS service (Serviço da AWS) é resolvido para os endereços IP privados das interfaces de rede do endpoint usando DNS e depois é enviado ao AWS service (Serviço da AWS) usando a conexão entre o endpoint da VPC e o AWS service (Serviço da AWS).


        Com o AWS PrivateLink, o tráfego da sua VPC para um AWS service (Serviço da AWS) usa as conexões entre as sub-redes e o AWS service (Serviço da AWS) fornecido pelo endpoint da VPC.

Os Serviços da AWS aceitam solicitações de conexão automaticamente. O serviço não pode iniciar solicitações para recursos pelo endpoint da VPC.

Nomes de hosts DNS

A maioria dos Serviços da AWS oferecem endpoints regionais públicos que apresentam a sintaxe a seguir.

protocol://service_code.region_code.amazonaws.com

Por exemplo, o endpoint público do Amazon CloudWatch em us-east-2 é o seguinte.

https://monitoring.us-east-2.amazonaws.com

Com o AWS PrivateLink, você envia tráfego ao serviço usando endpoints privados. Quando você cria um endpoint da VPC de interface, nós criamos nomes de DNS regionais e zonais que podem ser usados para comunicação com o AWS service (Serviço da AWS) de sua VPC.

O nome DNS regional para seu endpoint da VPC de interface tem a seguinte sintaxe:

endpoint_id.service_id.region.vpce.amazonaws.com

Os nomes DNS zonais apresentam a seguinte sintaxe:

endpoint_id-az_name.service_id.region.vpce.amazonaws.com

Após a criação de um endpoint da VPC de interface para um AWS service (Serviço da AWS), é possível habilitar o DNS privado. Com o DNS privado, você pode continuar fazendo solicitações a um serviço usando o nome de DNS de seu endpoint público enquanto utiliza a conectividade privada por meio do endpoint da VPC da interface. Para obter mais informações, consulte Resolução do DNS.

O seguinte comando describe-vpc-endpoints exibe as entradas DNS para um endpoint da interface.

aws ec2 describe-vpc-endpoints --vpc-endpoint-id vpce-099deb00b40f00e22 --query VpcEndpoints[*].DnsEntries

Veja a seguir um exemplo de saída de um endpoint da interface para o Amazon CloudWatch com nomes DNS privados habilitados. A primeira entrada é o endpoint regional privado. As três entradas seguintes são os endpoints zonais privados. A entrada final é da zona hospedada privada oculta, que resolve solicitações para o endpoint público para os endereços IP privados das interfaces de rede do endpoint.

[ [ { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2c.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2a.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2b.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "monitoring.us-east-2.amazonaws.com", "HostedZoneId": "Z06320943MMOWYG6MAVL9" } ] ]

Resolução do DNS

Os registros DNS que criamos para o endpoint da VPC de interface são públicos. Logo, esses nomes DNS podem ser resolvidos publicamente. Porém, as solicitações de DNS de fora da VPC ainda retornam os endereços IP privados das interfaces de rede do endpoint. Portanto, esses endereços IP não podem ser usados para acessar o serviço de endpoint, a menos que você tenha acesso à VPC.

DNS privado

Se você habilitar o DNS privado para seu endpoint da VPC da interface e sua VPC tiver os nomes de host de DNS e resolução de DNS habilitados, criaremos uma zona hospedada privada oculta gerenciada pela AWS para você. A zona hospedada contém um conjunto de registros para o nome do DNS padrão do serviço que é resolvido para os endereços IP privados das interfaces de rede do endpoint na VPC. Portanto, se você tiver aplicações existentes que enviam solicitações ao AWS service (Serviço da AWS) usando um endpoint regional público, essas solicitações agora passam pelas interfaces de rede do endpoint sem necessitar de nenhuma alteração nessas aplicações.

A Amazon fornece um servidor de DNS à VPC, o Route 53 Resolver. O Route 53 Resolver resolve automaticamente nomes de domínio de VPC locais e os registra em zonas hospedadas privadas. No entanto, não é possível usar o Route 53 Resolver de fora da sua VPC. Se desejar acessar seu endpoint da VPC por sua rede on-premises, use endpoints do Route 53 Resolver e regras do Resolver. Para obter mais informações, consulte Integrar o AWS Transit Gateway com o AWS PrivateLink e o Amazon Route 53 Resolver).

Zonas de disponibilidade e sub-redes

Você pode configurar um endpoint da VPC com uma sub-rede por zona de disponibilidade. Criamos uma interface de rede do endpoint para o endpoint da VPC na sub-rede. Atribuímos endereços IP a cada interface de rede de endpoint a partir de sua sub-rede, com base no tipo de endereço IP do endpoint da VPC. Os endereços IP de uma interface de rede de endpoint não mudarão durante a vida útil de seu endpoint da VPC.

Em um ambiente de produção, para alta disponibilidade e resiliência, recomendamos o seguinte:

  • Configure pelo menos duas zonas de disponibilidade por endpoint da VPC e implante seus recursos da AWS que devem acessar o AWS service (Serviço da AWS) nessas zonas de disponibilidade.

  • Configure nomes DNS privados para o endpoint da VPC.

  • Acesse o AWS service (Serviço da AWS) usando seu nome DNS regional, também conhecido como endpoint público.

O diagrama a seguir mostra um endpoint da VPC para o Amazon CloudWatch com uma interface de rede de endpoint em uma única zona de disponibilidade. Quando qualquer recurso em qualquer sub-rede na VPC acessa o Amazon CloudWatch usando seu endpoint público, resolvemos o tráfego para o endereço IP da interface de rede do endpoint. Isso inclui tráfego de sub-redes em outras zonas de disponibilidade. No entanto, se a zona de disponibilidade 1 estiver comprometida, os recursos na zona de disponibilidade 2 perderão o acesso ao Amazon CloudWatch.


        Um endpoint da VPC de interface para o Amazon CloudWatch, habilitado para uma única zona de disponibilidade com tráfego por meio do nome DNS regional.

O diagrama a seguir mostra um endpoint da VPC para o Amazon CloudWatch com uma interface de rede de endpoint em duas zonas de disponibilidade. Quando qualquer recurso em qualquer sub-rede da VPC acessa o Amazon CloudWatch utilizando seu endpoint público, selecionamos uma interface de rede de endpoint íntegra utilizando o algoritmo round robin para alternar entre elas. Em seguida, resolvemos o tráfego para o endereço IP da interface de rede do endpoint selecionada.


        Um endpoint da VPC de interface para o Amazon CloudWatch, habilitado para várias zonas de disponibilidade com tráfego por meio do endpoint regional.

Se for melhor para seu caso de uso, você poderá enviar tráfego de seus recursos para o AWS service (Serviço da AWS) usando a interface de rede do endpoint na mesma zona de disponibilidade. Para fazer isso, use o endpoint zonal privado ou o endereço IP da interface de rede do endpoint.


        Um endpoint da VPC de interface para o Amazon CloudWatch, habilitado para várias zonas de disponibilidade, com tráfego por meio de endpoints zonais privados.

Tipos de endereço IP

Os Serviços da AWS podem oferecer suporte a IPv6 por meio de seus endpoints privados, mesmo que não ofereçam suporte ao IPv6 por meio de seus endpoints públicos. Os endpoints que oferecem suporte a IPv6 podem responder a consultas de DNS com registros AAAA.

Requisitos para habilitar IPv6 para um endpoint de interface
  • O AWS service (Serviço da AWS) deve disponibilizar seus terminais de serviço via IPv6. Para obter mais informações, consulte Visualizar suporte a IPv6.

  • O tipo de endereço IP de um endpoint da interface deve ser compatível com as sub-redes do endpoint da interface, conforme descrito aqui:

    • IPv4: atribua endereços IPv4 às interfaces de rede de endpoint. Só haverá suporte para esta opção se todas as sub-redes selecionadas tiverem intervalos de endereços IPv4.

    • IPv6: atribua endereços IPv6 às interfaces de rede de endpoint. Só haverá suporte para esta opção se todas as sub-redes selecionadas forem sub-redes IPv6 apenas.

    • Dualstack: atribua endereços IPv4 e IPv6 às interfaces de rede de endpoint. Só haverá suporte para esta opção se todas as sub-redes selecionadas tiverem intervalos de endereços IPv4 e IPv6.

Se um endpoint da VPC de interface for compatível com IPv4, as interfaces de rede do endpoint terão endereços IPv4. Se um endpoint da VPC de interface for compatível com IPv6, as interfaces de rede do endpoint terão endereços IPv6. Não é possível acessar o endereço IPv6 de uma interface de rede de endpoint pela Internet. Se você descrever uma interface de rede de endpoint com um endereço IPv6, observe que denyAllIgwTraffic está habilitado.