Acesse de forma privada um endpoint central de serviços da AWS a partir de várias VPCs - Recomendações da AWS

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 de forma privada um endpoint central de serviços da AWS a partir de várias VPCs

Criado por Martin Guenthner (AWS) e Samuel Gordon (AWS)

Repositório de código: VPC Endpoint Sharing

Ambiente: produção

Tecnologias: Rede; Infraestrutura

Serviços da AWS: AWS RAM; Amazon Route 53; Amazon SNS; AWS Transit Gateway; Amazon VPC

Resumo

Os requisitos de segurança e conformidade do seu ambiente podem especificar que o tráfego para os serviços ou endpoints da Amazon Web Services (AWS) não deve atravessar a Internet pública. Esse padrão é uma solução projetada para uma hub-and-spoketopologia, em que uma VPC de hub central é conectada a várias VPCs de raios distribuídos. Nessa solução, você usa PrivateLink a AWS para criar uma interface VPC endpoint para o serviço da AWS na conta do hub. Em seguida, você usa gateways de trânsito e uma regra distribuída de Sistema de Nomes de Domínio (DNS) para resolver solicitações para o endereço IP privado do endpoint, entre as VPCs conectadas.

Esse padrão descreve como usar o AWS Transit Gateway, um endpoint de entrada do Amazon Route 53 Resolver e uma regra de encaminhamento compartilhada do Route 53 para resolver as consultas ao DNS dos recursos nas VPCs conectadas. Você cria o endpoint, o gateway de trânsito, o resolvedor e a regra de encaminhamento na conta do hub. Em seguida, use o AWS Resource Access Manager (AWS RAM) para compartilhar o gateway de trânsito e a regra de encaminhamento com as VPCs spoke. Os CloudFormation modelos da AWS fornecidos ajudam você a implantar e configurar os recursos no hub VPC e nas VPCs spoke.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • Esse padrão conecta contas hub e spoke na mesma região da AWS. Para implantações em várias regiões, você deve repetir esse padrão para cada região.

  • O serviço da AWS deve ser integrado PrivateLink como uma interface de VPC endpoint. Para obter uma lista completa, consulte os serviços da AWS que se integram à AWS PrivateLink (PrivateLink documentação).

  • A afinidade com a zona de disponibilidade não é garantida. Por exemplo, consultas da Zona de Disponibilidade A podem responder com um endereço IP da Zona de Disponibilidade B.

  • A interface de rede elástica associada ao VPC endpoint tem um limite de 10.000 consultas por segundo.

Arquitetura

Pilha de tecnologias de destino

  • Um hub VPC na conta hub da AWS

  • Uma ou mais VPCs spoke em uma conta da AWS spoke

  • Um ou mais endpoints VPC de interface na conta do hub

  • Resolvedores Route 53 de entrada e saída na conta do hub

  • Uma regra de encaminhamento do Route 53 Resolver implantada na conta do hub e compartilhada com a conta spoke

  • Um gateway de trânsito implantado na conta do hub e compartilhado com a conta spoke

  • AWS Transit Gateway conectando o hub e as VPCs spoke

Arquitetura de destino

A imagem a seguir mostra um exemplo de arquitetura para essa solução. Nessa arquitetura, a regra de encaminhamento do Route 53 Resolver na conta do hub tem a seguinte relação com os outros componentes da arquitetura:

  1. A regra de encaminhamento é compartilhada com a VPC spoke usando a AWS RAM.

  2. A regra de encaminhamento está associada ao resolvedor de saída na VPC do hub.

  3. A regra de encaminhamento tem como destino o resolvedor de entrada na VPC do hub.

Diagrama de arquitetura mostrando os recursos nas contas spoke e hub.

A imagem a seguir mostra o fluxo de tráfego por meio da arquitetura de exemplo:

  1. Um recurso como, por exemplo, em uma instância do Amazon Elastic Compute Cloud (Amazon EC2), na linguagem, a VPC spoke faz uma solicitação de DNS para <service>.<region>.amazonaws.com. A solicitação é recebida pelo Amazon DNS Resolver.

  2. A regra de encaminhamento do Route 53, que é compartilhada da conta do hub e associada à VPC spoke, intercepta a solicitação.

  3. Na VPC do hub, o resolvedor de saída usa a regra de encaminhamento para encaminhar a solicitação para o resolvedor de entrada.

  4. O Resolvedor de entrada usa o hub VPC Amazon DNS Resolver para resolver o endereço IP <service>.<region>.amazonaws.com para o endereço IP privado de um endpoint da VPC. Se nenhum endpoint da VPC estiver presente, ele será resolvido para o endereço IP público.

Fluxo de tráfego de um recurso na VPC spoke para um endpoint de serviço na VPC do hub.

Ferramentas

Ferramentas e serviços da AWS

  • CloudFormationA AWS ajuda você a configurar recursos da AWS, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida em todas as contas e regiões da AWS.

  • O Amazon Elastic Compute Cloud (Amazon EC2) oferece capacidade computacional escalável na Nuvem AWS. Você pode iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.

  • O AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.

  • O AWS Resource Access Manager (AWS RAM) ajuda a compartilhar com segurança seus recursos entre contas da para reduzir a sobrecarga operacional e fornecer visibilidade e auditabilidade.

  • O Amazon Route 53 é um serviço da web do Sistema de Nomes de Domínio (DNS) altamente disponível e dimensionável.

  • O AWS Systems Manager ajuda você a gerenciar seus aplicativos e infraestrutura em execução na nuvem AWS. Isso simplifica o gerenciamento de aplicações e recursos, diminui o tempo para detectar e resolver problemas operacionais e ajuda você a gerenciar seus recursos da AWS de modo seguro e em grande escala.

  • O AWS Transit Gateway é um hub central que conecta VPCs e redes on-premises.

  • A Amazon Virtual Private Cloud (Amazon VPC) ajuda a iniciar recursos da AWS em uma rede virtual definida por você. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

Outras ferramentas e serviços

  • nslookup é uma ferramenta de linha de comando usada para consultar registros DNS. Nesse padrão, você usa essa ferramenta para testar a solução.

Repositório de código

O código desse padrão está disponível em GitHub, no vpc-endpoint-sharingrepositório. Esse padrão fornece dois CloudFormation modelos da AWS:

  • Um modelo para implantar os seguintes recursos na conta do hub:

    • rSecurityGroupEndpoints: o grupo de segurança que controla o acesso ao endpoint da VPC.

    • rSecurityGroupResolvers: o grupo de segurança que controla o acesso ao Resolver do Route 53.

    • rKMSEndpoint, rSSMMessagesEndpoint, rSSMEndpoint, e rEC2MessagesEndpoint – Exemplo de endpoints VPC de interface na conta do hub. Personalize esses endpoints para o seu caso de uso.

    • rInboundResolver: um Route 53 Resolver que resolve consultas de DNS no hub Amazon DNS Resolver.

    • rOutboundResolver: um resolvedor de saída do Route 53 que encaminha as consultas para o Resolvedor de entrada.

    • rAWSApiResolverRule: a regra de encaminhamento do Route 53 Resolver que é compartilhada com todas as VPCs spoke.

    • rRamShareAWSResolverRule: o compartilhamento de RAM da AWS que permite que as VPCs spoke usem a regra de encaminhamento rAWSApiResolverRule.

    • * rVPC: o hub VPC, usado para modelar os serviços compartilhados.

    • * rSubnet1: uma sub-rede privada usada para hospedar os recursos do hub.

    • * rRouteTable1: a tabela de rotas para o hub VPC.

    • * rRouteTableAssociation1: para a tabela de rotas rRouteTable1 no hub VPC, a associação para a sub-rede privada.

    • * rRouteSpoke: a rota do hub VPC para a VPC spoke.

    • * rTgw: o gateway de trânsito que é compartilhado com todas as VPCs spoke.

    • * rTgwAttach: o anexo que permite ao hub VPC rotear o tráfego para o gateway de trânsito rTgw.

    • * rTgwShare: o compartilhamento de RAM da AWS que permite que as contas spoke usem o gateway de trânsito rTgw.

  • Um modelo para implantar os seguintes recursos nas contas spoke:

    • rAWSApiResolverRuleAssociation: uma associação que permite que a VPC spoke use a regra de encaminhamento compartilhado na conta do hub.

    • * rVPC: o VPC spoke.

    • * rSubnet1, rSubnet2, rSubnet3: uma sub-rede para cada zona de disponibilidade, usada para abrigar os recursos privados do spoke.

    • * rTgwAttach: o anexo que permite que a VPC spoke roteie o tráfego para o gateway de trânsito rTgw.

    • * rRouteTable1: a tabela de rotas para a VPC spoke.

    • * rRouteEndpoints: a rota dos recursos na VPC spoke até o gateway de trânsito.

    • * rRouteTableAssociation1/2/3: para a tabela de rotas rRouteTable1 na VPC spoke, as associações para as sub-redes privadas.

    • * rInstanceRole: o perfil do IAM usada para testar a solução.

    • * rInstancePolicy: a política do IAM usada para testar a solução.

    • * rInstanceSg: o grupo de segurança usado para testar a solução.

    • * rInstanceProfile: o perfil de instância do IAM usado para testar a solução.

    • * rInstance: uma instância do EC2 pré-configurada para acesso por meio do AWS Systems Manager. Use essa instância para testar a solução.

* Esses recursos oferecem suporte à arquitetura de amostra e podem não ser necessários ao implementar esse padrão em uma zona de pouso existente.

Épicos

TarefaDescriçãoHabilidades necessárias

Clone o repositório de códigos.

  1. Em uma interface da linha de comando, altere seu diretório de trabalho para o local em que você deseja armazenar os arquivos de amostra.

  2. Digite o comando :

    git clone https://github.com/aws-samples/vpc-endpoint-sharing.git
Administrador de rede, arquiteto de nuvem

Modifique os modelos.

  1. No repositório clonado, abra os arquivos hub.yml e spoke.yml.

  2. Analise os recursos criados por esses modelos e ajuste-os conforme necessário para seu ambiente. Para obter uma lista completa, consulte a seção Repositório de códigos em Ferramentas. Se suas contas já tiverem alguns desses recursos, remova-os do CloudFormation modelo. Para obter mais informações, consulte Trabalhando com modelos (CloudFormation documentação).

  3. Salve e feche os arquivos hub.yml e spoke.yml.

Administrador de rede, arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Implante os recursos do hub.

Usando o modelo hub.yml, crie uma pilha. CloudFormation Quando solicitado, apresente os valores para os parâmetros do modelo. Para obter mais informações, consulte Criação de uma pilha (CloudFormation documentação).

Arquiteto de nuvem, administrador de rede

Implante os recursos do spoke.

Usando o modelo spoke.yml, crie uma pilha. CloudFormation Quando solicitado, apresente os valores para os parâmetros do modelo. Para obter mais informações, consulte Criação de uma pilha (CloudFormation documentação).

Arquiteto de nuvem, administrador de rede
TarefaDescriçãoHabilidades necessárias

Teste consultas privadas de DNS para o serviço da AWS.

  1. Conecte-se à instância do rInstance EC2 usando o Session Manager, um recurso do AWS Systems Manager. Para obter mais informações, consulte Conectar-se à instância do Linux usando o Session Manager (documentação do Amazon EC2).

  2. Para um serviço da AWS que tenha um endpoint da VPC na conta do hub, use nslookup para confirmar se os endereços IP privados do Resolvedor do Route 53 de entrada foram retornados.

    A seguir temos um exemplo de uso nslookup para alcançar um endpoint do Amazon Systems Manager.

    nslookup ssm.<region>.amazonaws.com
  3. Na AWS Command Line Interface (AWS CLI), insira um comando que pode ajudar você a confirmar que as alterações não afetaram a funcionalidade do serviço. Para obter uma lista de comandos, consulte Referência de comandos da AWS CLI.

    Por exemplo, o comando a seguir deve retornar uma lista de documentos do Amazon Systems Manager.

    aws ssm list-documents
Administrador de rede

Teste consultas públicas de DNS em um serviço da AWS.

  1. Para um serviço da AWS que não tenha um endpoint da VPC na conta do hub, use nslookup para confirmar se os endereços IP públicos foram retornados. A seguir temos um exemplo de uso nslookup para acessar um endpoint do Amazon Simple Notification Service (Amazon SNS).

    nslookup sns.<region>.amazonaws.com
  2. Na AWS CLI, insira um comando que pode ajudá-lo a confirmar que as alterações não afetaram a funcionalidade do serviço. Para obter uma lista de comandos, consulte Referência de comandos da AWS CLI.

    Por exemplo, se algum tópico do Amazon SNS estiver presente na conta do hub, o comando a seguir deverá retornar uma lista de tópicos.

    aws sns list-topics
Administrador de rede

Recursos relacionados