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á.
Automatizar a configuração do emparelhamento entre regiões com o AWS Transit Gateway
Criado por Ram Kandaswamy (AWS)
Ambiente: produção | Tecnologias: rede; nuvem híbrida | Serviços da AWS: AWS Transit Gateway; AWS Step Functions; AWS Lambda |
Resumo
O AWS Transit Gateway conecta nuvens privadas virtuais (VPCs) e redes on-premises. O tráfego do gateway de trânsito sempre permanece no backbone global da Amazon Web Services (AWS) e não atravessa a Internet pública, o que reduz os vetores de ameaças, como explorações comuns e ataques distribuídos de negação de serviço (DDoS).
Caso precise se comunicar entre duas ou mais regiões da AWS, você poderá usar o emparelhamento entre regiões do Gateway de trânsito para estabelecer conexões de emparelhamento entre gateways de trânsito em diferentes regiões. No entanto, configurar manualmente o emparelhamento entre regiões com o gateway de trânsito pode ser um processo demorado que tem várias etapas. Esse padrão fornece um processo automatizado para remover essas etapas manuais usando código para realizar o emparelhamento. Você pode usar essa abordagem se precisar configurar repetidamente várias regiões e contas da AWS durante a configuração de uma organização multirregional.
Esse padrão usa uma CloudFormation pilha da AWS que inclui o fluxo de trabalho do AWS Step Functions, funções do AWS Lambda, funções do AWS Identity and Access Management (IAM) e grupos de log no Amazon CloudWatch Logs. Em seguida, você pode iniciar a execução do Step Functions e criar a conexão de emparelhamento entre regiões para seus gateways de trânsito.
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
Um bucket existente do Amazon Simple Storage Service (Amazon S3)
Gateways de trânsito, criados e configurados na região solicitante e nas regiões aceitantes. A região solicitante é onde uma solicitação de emparelhamento é originada e as regiões aceitantes aceitam a solicitação de emparelhamento. Para obter mais informações, consulte Criar e aceitar uma conexão de emparelhamento da VPC na documentação da VPC da Amazon.
VPCs, instaladas e configuradas nas regiões aceitantes e solicitante. Para ver as etapas para criar uma VPC, consulte Crie sua VPC em Conceitos básicos da Amazon VPC na documentação da Amazon VPC.
As VPCs devem usar a tag
addToTransitGateway
e o valortrue
.Grupos de segurança e listas de controle de acesso (ACL) para suas VPCs configurados de acordo com seus requisitos. Para obter mais informações sobre isso, consulte Grupos de segurança para a VPC e para ACLs de rede na documentação da Amazon VPC.
Regiões e limitações da AWS
Somente algumas regiões da AWS oferecem suporte para emparelhamento entre regiões. Para obter uma lista completa das regiões que oferecem suporte ao emparelhamento entre regiões, consulte AWS Transit Gateway FAQs
. No código de exemplo em anexo, presume-se que a região solicitante seja
us-east-2
e a região aceitante sejaus-west-2
. Se quiser configurar regiões diferentes, você deve editar esses valores em todos os arquivos Python. Para implementar uma configuração mais complexa que envolva mais de duas regiões, você pode alterar as Step Functions para passar as regiões como um parâmetro para a função do Lambda e executar a função para cada combinação.
Arquitetura
![A máquina de estado Step Functions usa a função Lambda para criar uma conexão de emparelhamento para gateways de trânsito.](images/pattern-img/b678bb87-c7b9-4f7b-b26e-eaac650e5d1b/images/d58f0586-659d-4111-b3a8-2fe23d578fef.png)
O diagrama mostra um fluxo de trabalho com as seguintes estapas:
O usuário cria uma CloudFormation pilha da AWS.
CloudFormation A AWS cria uma máquina de estado Step Functions que usa uma função Lambda. Para obter mais informações, consulte Como criar uma máquina de estado do Step Functions que usa o Lambda na documentação do AWS Step Functions.
Step Functions chama uma função do Lambda para emparelhamento.
A função do Lambda cria uma conexão de emparelhamento entre os gateways de trânsito.
Step Functions chama uma função do Lambda para modificações na tabela de rotas.
A função do Lambda modifica as tabelas de rotas adicionando o bloco Encaminhamento Entre Domínios Sem Classificação (CIDR) das VPCs.
Fluxo de trabalho do Step Functions
![Fluxo de trabalho do Step Functions para chamar a função Lambda para modificar tabelas de rotas para emparelhamento de gateway de trânsito.](images/pattern-img/b678bb87-c7b9-4f7b-b26e-eaac650e5d1b/images/2f235f47-5d68-492c-b954-7dc170939cae.png)
O diagrama mostra o seguinte fluxo de Step Functions:
O fluxo de trabalho Step Functions chama a função do Lambda para o emparelhamento do gateway de trânsito.
Há uma chamada no cronômetro para aguardar um minuto.
O status de emparelhamento é recuperado e enviado para o bloco de condições. O bloco é responsável pelo loop.
Se a condição de sucesso não for atendida, o fluxo de trabalho será codificado para entrar no estágio do cronômetro.
Se a condição de sucesso for atendida, uma função do Lambda será chamada para modificar as tabelas de rotas. Após essa chamada, o fluxo de trabalho do Step Functions termina.
Ferramentas
AWS CloudFormation — CloudFormation A AWS é um serviço que ajuda você a modelar e configurar seus recursos da AWS.
Amazon CloudWatch Logs — O CloudWatch Logs ajuda você a centralizar os registros de todos os seus sistemas, aplicativos e serviços da AWS que você usa.
AWS Identity and Access Management (IAM): o IAM é um serviço web que ajuda você a controlar, com segurança, o acesso a serviços da AWS.
AWS Lambda: o Lambda executa seu código em uma infraestrutura de computação de alta disponibilidade e executa toda a administração dos recursos computacionais.
AWS Step Functions: o Step Functions facilita a coordenação de componentes de aplicativos distribuídos como uma série de etapas em um fluxo de trabalho visual.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Faça upload dos arquivos em anexo no bucket do S3. | Faça login no Console de Gerenciamento da AWS, abra o console do Amazon S3 e, em seguida, faça o upload dos arquivos | AWS geral |
Crie a CloudFormation pilha da AWS. | Execute o comando a seguir para criar uma CloudFormation pilha da AWS usando o
O AWS CloudFormation stack cria o fluxo de trabalho Step Functions, as funções Lambda, as funções do IAM CloudWatch e os grupos de log. Certifique-se de que o CloudFormation modelo da AWS se refira ao bucket do S3 que contém os arquivos que você carregou anteriormente. Observação: você também pode criar uma pilha usando o CloudFormation console da AWS. Para obter mais informações sobre isso, consulte Criação de uma pilha no CloudFormation console da AWS na CloudFormation documentação da AWS. | DevOps engenheiro |
Iniciar uma nova execução em Step Functions. | Abra o console do Step Functions e inicie uma nova execução. O Step Functions chama a função do Lambda e cria a conexão de emparelhamento para os gateways de trânsito. Não é necessário um arquivo JSON de entrada. Verifique se um anexo está disponível e se o tipo de conexão é de emparelhamento. Para obter mais informações, consulte Iniciar uma nova execução em Getting started with AWS Step Functions na documentação do AWS Steps Functions. | DevOps engenheiro, General AWS |
Verifique as rotas nas tabelas de rotas. | O emparelhamento entre regiões é estabelecido entre os gateways de trânsito. As tabelas de rotas são atualizadas com o intervalo de blocos CIDR IPv4 da região emparelhada da VPC. Abra o console do Amazon VPC e escolha a guia Associações na tabela de rotas que corresponde ao anexo do gateway de trânsito. Verifique o intervalo de blocos CIDR da VPC das regiões emparelhadas. Para etapas e instruções detalhadas, consulte Associar uma tabela de rotas do gateway de trânsito na documentação do Amazon VPC. | Administrador de rede |
Recursos relacionados
Anexos
Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip