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á.
Automatize as alocações IPv4 IPAM CIDR do Amazon VPC para novos usando o AFT Contas da AWS
Kien Pham e Alex Pazik, Amazon Web Services
Resumo
Esse padrão mostra como automatizar as alocações de CIDR do Amazon VPC IP Address Manager (IPAM IPv4 ) para novos Contas da AWS usando o Account AWS Control Tower Factory for Terraform (AFT). Isso é feito usando uma personalização em nível de conta que aloca um bloco IPv4 CIDR do IPAM para uma nova nuvem privada virtual (VPC) usando o módulo. aft-account-customizations
Com o IPAM, você pode organizar, atribuir, monitorar e auditar endereços IP em grande escala, permitindo que você planeje, rastreie e monitore facilmente endereços IP para suas AWS cargas de trabalho. Você pode criar um IPAM e um pool de IPAM para usar na alocação de um bloco IPv4 CIDR para uma nova VPC durante o processo de venda automática da conta.
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS com AWS Control Tower habilitado em um AFT suportado Região da AWSe implantado
Um provedor de sistema de controle de versão (VCS)
compatível BitBucket, como GitHub, e Enterprise GitHub Interface de linha de comandos (CLI) do Terraform instalada
Um ambiente de runtime capaz de executar o módulo do Terraform responsável por instalar o AFT
AWS Command Line Interface (AWS CLI) instalado e configurado
Limitações
Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte AWS Services by Region
. Para endpoints específicos, consulte Service endpoints and quotas e clique no link correspondente ao serviço desejado.
Versões do produto
AWS Control Tower landing zone versão 3.0 ou posterior, anterior à versão 4.0
AFT
, versão 1.13.0 ou versões posteriores, mas anterior à versão 2.0.0 Terraform OSS, versão 1.2.0 ou versões posteriores, mas anterior à versão 2.0.0
Terraform AWS Provider
( terraform-provider-aws) versão 5.11.0 ou posterior, anterior à versão 6.0.0Módulo do Terraform para IPAM
( aws-ia/ipam/aws), versão 2.1.0 ou versões posteriores
Arquitetura
O diagrama apresentado a seguir ilustra o fluxo de trabalho e os componentes deste padrão.

O fluxo de trabalho consiste nas seguintes tarefas principais:
Alterações de gatilho — As alterações na personalização do Terraform e do IPAM são enviadas ao GitHub repositório e enviadas. Essa tarefa aciona o AWS CodeBuild pipeline automaticamente.
Automatize a construção — Dentro CodeBuild, vários projetos de construção são AWS Step Functions acionados.
Aplique personalização — Step Functions CodeBuild coordena para planejar e aplicar as alterações do Terraform. Essa tarefa usa o módulo AFT Terraform para coordenar a atribuição de IP do pool IPAM à conta vendida. AWS
Ferramentas
Serviços da AWS
O AWS CodeBuild é um serviço de compilação totalmente gerenciado que permite compilar o código-fonte, realizar testes de unidade e produzir artefatos preparados para a implantação.
O AWS CodePipeline ajuda você a modelar e configurar rapidamente os diferentes estágios de uma versão de software, além de automatizar as etapas necessárias para a implantação contínua de alterações.
AWS Control Towerorquestra as capacidades de vários outros Serviços da AWS, incluindo AWS Organizations AWS Service Catalog, e. Centro de Identidade do AWS IAM Ele pode ajudar você a configurar e administrar um ambiente AWS com várias contas, seguindo as melhores práticas prescritivas.
O Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado que fornece performance rápida, previsível e escalável.
O AWS Lambda é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
AWS SDK para Python (Boto3)
é um kit de desenvolvimento de software que ajuda você a integrar seu aplicativo, biblioteca ou script Python com o. Serviços da AWS AWS Service Catalogajuda você a gerenciar centralmente catálogos de serviços de TI aprovados. AWS Os usuários finais podem implantar rapidamente somente os serviços de TI aprovados de que precisam, seguindo as restrições definidas pela organização.
AWS Step Functionsé um serviço de orquestração sem servidor que ajuda você a combinar AWS Lambda funções e outras Serviços da AWS para criar aplicativos essenciais para os negócios.
A Amazon Virtual Private Cloud (Amazon VPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. 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. O Amazon VPC IP Address Manager (IPAM) é um recurso de VPC que facilita o planejamento, o rastreamento e o monitoramento de endereços IP para suas cargas de trabalho. AWS
Outras ferramentas
GitHub
é uma plataforma para desenvolvedores que os desenvolvedores podem usar para criar, armazenar, gerenciar e compartilhar seu código. HashiCorp O Terraform
é uma ferramenta de infraestrutura como código (IaC) que ajuda você a criar e gerenciar recursos na nuvem e no local. Isso inclui componentes de baixo nível, como instâncias de computação, armazenamento e rede, e componentes de alto nível, como entradas de DNS e recursos de software como serviço (SaaS). Python
é uma linguagem de programação de computador de uso geral. É possível usá-lo para criar aplicações, automatizar tarefas e desenvolver serviços na Nuvem AWS .
Repositório de código
O código desse padrão está disponível no repositório GitHub AWS Control Tower Account Factory for Terraform
.
Práticas recomendadas
Ao implantar o AFT, recomendamos seguir as práticas recomendadas para garantir uma implementação segura, eficiente e bem-sucedida. As diretrizes e recomendações principais para implementar e operar o AFT incluem:
Análise completa das entradas: analise e compreenda cuidadosamente cada entrada
. A configuração correta das entradas é essencial para a instalação e o funcionamento do AFT. Atualizações regulares de modelos — Mantenha os modelos atualizados com os AWS recursos mais recentes e as versões do Terraform. As atualizações regulares ajudam você a aproveitar as novas funcionalidades e manter a segurança.
Versionamento: especifique a versão do módulo do AFT e, se possível, realize testes em uma implantação separada do AFT.
Escopo: use o AFT apenas para implantar barreiras de proteção e personalizações para a infraestrutura. Não o use para implantar sua aplicação.
Análise de código e validação: o pipeline do AFT exige uma configuração do Terraform que tenha passado por análise de código e validação. Execute a análise de código, a validação e os testes antes de enviar a configuração para os repositórios do AFT.
Módulos do Terraform — Crie código reutilizável do Terraform como módulos e sempre especifique as versões do Terraform e do AWS provedor de acordo com os requisitos da sua organização.
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Implantar AWS Control Tower. | Instale e configure AWS Control Tower em seu AWS ambiente para garantir o gerenciamento e a governança centralizados do seu Contas da AWS. Para obter mais informações, consulte Introdução AWS Control Tower na AWS Control Tower documentação. | Administrador de nuvem |
Implante o AWS Control Tower Account Factory for Terraform (AFT). | Configure o AFT em uma nova conta gerencial dedicada do AFT. Para obter mais informações, consulte Configurar e iniciar seu AWS Control Tower Account Factory for Terraform na AWS Control Tower documentação. | Administrador de nuvem |
Conclua as etapas necessárias após a implantação do AFT. | Depois que a implantação da infraestrutura AFT estiver concluída, conclua as etapas em Etapas de pós-implantação na AWS Control Tower documentação. | Administrador de nuvem |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Delegue um administrador para o IPAM. | Para delegar uma conta de administrador IPAM em sua AWS organização, use as seguintes etapas:
Como alternativa, você pode usar AWS CLI e executar o seguinte comando:
Para obter mais informações, consulte Integrar o IPAM com contas em uma AWS organização na documentação da Amazon VPC enable-ipam-organization-admine -account na AWS CLI Referência de comando. ImportantePara continuar usando o IPAM, você deve fazer login na conta de administrador delegado. O perfil de SSO ou as variáveis de AWS ambiente especificadas na próxima etapa devem permitir que você faça login nessa conta e conceda permissões para criar um pool regional e de nível superior do IPAM. | Administrador da AWS |
Crie um grupo regional e de nível superior do IPAM. | O GitHub repositório desse padrão contém um modelo do Terraform que você pode usar para criar seu pool de nível superior e pool regional do IPAM. Em seguida, você pode compartilhar os pools com uma organização, unidade organizacional (OU) ou outro recurso usando AWS Resource Access Manager (AWS RAM). Conta da AWS Use as seguintes etapas:
Anote o ID do grupo de recursos apresentado depois da criação. O ID será necessário ao realizar a solicitação da conta. Se você esquecer o ID do grupo de recursos, poderá obtê-lo posteriormente no Console de gerenciamento da AWS. ImportanteCertifique-se de que os pools criados CIDRs não se sobreponham a nenhum outro pool em sua região de trabalho. Você pode criar um grupo sem um CIDR, mas não poderá usar o grupo para alocações até que você tenha provisionado um CIDR para ele. Você pode adicionar CIDRs a um pool a qualquer momento editando o pool. | Administrador da AWS |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Inicie a criação da personalização da conta. | Para iniciar uma nova personalização de conta, execute os seguintes comandos no seu terminal:
| DevOps engenheiro |
Crie o arquivo | Adicione código dinâmico ao arquivo Use as seguintes etapas:
| DevOps engenheiro |
Crie o arquivo | Adicione código dinâmico ao arquivo Use as seguintes etapas:
| DevOps engenheiro |
Crie o arquivo | Crie um novo Use as seguintes etapas:
| DevOps engenheiro |
Crie o arquivo | Crie um arquivo Use as seguintes etapas:
| DevOps engenheiro |
Crie o arquivo | Crie um arquivo Use as seguintes etapas:
| DevOps engenheiro |
Crie o arquivo | Crie um novo Use as seguintes etapas:
| DevOps engenheiro |
Confirme a personalização. | Para confirmar a nova personalização para o repositório de personalizações de conta, execute os seguintes comandos:
| DevOps engenheiro |
Aplique a personalização. | Adicione código ao arquivo Use as seguintes etapas:
| AWS DevOps |
Valide a personalização. | Faça login na conta fornecida recentemente e verifique se a personalização foi aplicada com êxito. Use as seguintes etapas:
| DevOps engenheiro |
Solução de problemas
| Problema | Solução |
|---|---|
Você recebe falhas na criação ou no gerenciamento de recursos devido a permissões insuficientes. | Analise as funções e políticas AWS Identity and Access Management (IAM) anexadas ao Step Functions e a outros serviços envolvidos na implantação. CodeBuild Confirme que todos têm as permissões necessárias. Se houver problemas de permissão, ajuste as políticas do IAM para conceder o acesso necessário. |
Você atinge as AWS service (Serviço da AWS) cotas durante a implantação. | Antes de implantar o pipeline, verifique as AWS service (Serviço da AWS) cotas de recursos como buckets do Amazon Simple Storage Service (Amazon S3), funções e funções do IAM. AWS Lambda Se necessário, solicite aumento das cotas. Para obter mais informações, consulte AWS service (Serviço da AWS) Quotas na Referência geral da AWS . |
Recursos relacionados
AWS service (Serviço da AWS) documentação
Outros recursos