

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
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft"></a>

*Kien Pham e Alex Pazik, Amazon Web Services*

## Resumo
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-summary"></a>

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](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) 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](https://docs.aws.amazon.com/vpc/latest/ipam/create-ipam.html) 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
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS com AWS Control Tower habilitado em um AFT suportado [Região da AWS](https://docs.aws.amazon.com/controltower/latest/userguide/region-how.html)e implantado
+ Um [provedor de sistema de controle de versão (VCS)](https://github.com/aws-ia/terraform-aws-control_tower_account_factory?tab=readme-ov-file#input_vcs_provider) compatível BitBucket, como GitHub, e Enterprise GitHub 
+ Interface de linha de comandos (CLI) do Terraform [instalada](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)
+ 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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [configurado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)

**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](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

**Versões do produto**
+ [AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/2022-all.html#version-3.0) versão 3.0 ou posterior, anterior à versão 4.0
+ [AFT](https://github.com/aws-ia/terraform-aws-control_tower_account_factory), 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](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) (`terraform-provider-aws`) versão 5.11.0 ou posterior, anterior à versão 6.0.0
+ [Módulo do Terraform para IPAM](https://github.com/aws-ia/terraform-aws-ipam) (`aws-ia/ipam/aws`), versão 2.1.0 ou versões posteriores

## Arquitetura
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-architecture"></a>

O diagrama apresentado a seguir ilustra o fluxo de trabalho e os componentes deste padrão.

![Fluxo de trabalho para criar a alocação IPAM IPv4 CIDR do Amazon VPC.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/986cfc7d-058b-4490-9029-6cd1eadd1dd2/images/f90b84dd-0420-460e-ac0f-9f22b4a9fdc4.png)


O fluxo de trabalho consiste nas seguintes tarefas principais:

1. **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.

1. **Automatize a construção** — Dentro CodeBuild, vários projetos de construção são AWS Step Functions acionados.

1. **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
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-tools"></a>

**Serviços da AWS**
+ O [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) é 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](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 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 Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)orquestra as capacidades de vários outros [Serviços da AWS](https://docs.aws.amazon.com/controltower/latest/userguide/integrated-services.html), 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](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) é um serviço de banco de dados NoSQL totalmente gerenciado que fornece performance rápida, previsível e escalável.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é 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)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)é 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 Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html)ajuda 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](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)é 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)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 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](https://docs.github.com/)é uma plataforma para desenvolvedores que os desenvolvedores podem usar para criar, armazenar, gerenciar e compartilhar seu código.
+ [HashiCorp O Terraform](https://www.terraform.io/) é 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](https://www.python.org/) é 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](https://aws.amazon.com/developer/language/python/).

**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](https://github.com/aws-ia/terraform-aws-control_tower_account_factory).

## Práticas recomendadas
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-best-practices"></a>

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](https://github.com/aws-ia/terraform-aws-control_tower_account_factory). 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
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-epics"></a>

### Configure e configure seu AWS ambiente
<a name="set-up-and-configure-your-aws-environment"></a>


| 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](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html) 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](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html#aft-configure-and-launch) 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](https://docs.aws.amazon.com/controltower/latest/userguide/aft-post-deployment.html) na AWS Control Tower documentação. | Administrador de nuvem | 

### Criação do IPAM
<a name="create-ipam"></a>


| 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:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html)<br />Como alternativa, você pode usar AWS CLI e executar o seguinte comando:<pre>aws ec2 enable-ipam-organization-admin-account \<br />    --delegated-admin-account-id 012345678901</pre><br />Para obter mais informações, consulte [Integrar o IPAM com contas em uma AWS organização](https://docs.aws.amazon.com/vpc/latest/ipam/enable-integ-ipam.html) na documentação da Amazon VPC [enable-ipam-organization-admine](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-ipam-organization-admin-account.html) -account na AWS CLI Referência de comando. Para 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<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html)<br />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. Certifique-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 | 

### Integração do IPAM com o AFT
<a name="integrate-ipam-with-aft"></a>


| 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:<pre># Default name for customization repo<br />cd aft-account-customizations # Replace with your actual repo name if different than the default<br />mkdir -p APG-AFT-IPAM/terraform # Replace APG-AFT-IPAM with your desired customization name<br />cd APG-AFT-IPAM/terraform</pre> | DevOps engenheiro | 
| Crie o arquivo `aft-providers.jinja`. | Adicione código dinâmico ao arquivo `aft-providers.jinja` que especifique o backend e o provedor do Terraform a serem utilizados.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps engenheiro | 
| Crie o arquivo `backend.jinja`. | Adicione código dinâmico ao arquivo `backend.jinja` que especifique o backend e o provedor do Terraform a serem utilizados.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps engenheiro | 
| Crie o arquivo `main.tf`. | Crie um novo `main.tf` arquivo e adicione o código que define duas fontes de dados que recuperam dois valores de AWS Systems Manager (`aws_ssm`) e cria a VPC.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps engenheiro | 
| Crie o arquivo `variables.tf`. | Crie um arquivo `variables.tf` que declare as variáveis usadas pelo módulo do Terraform.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps engenheiro | 
| Crie o arquivo `terraform.tfvars`. | Crie um arquivo `terraform.tfvars` que defina os valores das variáveis que serão transferidas para o arquivo `main.tf`.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps engenheiro | 
| Crie o arquivo `outputs.tf`. | Crie um novo `outputs.tf` arquivo que exponha alguns valores em CodeBuild.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | 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:<pre># Assumes you are still in the /terraform directory<br />cd .. # Skip if you are in the account customization root directory (APG-AFT-IPAM)<br />git add .<br />git commit -m "APG customization"<br />git push origin</pre> | DevOps engenheiro | 
| Aplique a personalização. | Adicione código ao arquivo `account-requests.tf` para solicitar uma nova conta com a personalização para a conta recém-criada. Os campos personalizados criam parâmetros do Systems Manager na conta de venda que são necessários para criar a VPC com o CIDR alocado pelo IPv4 IPAM correto.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | AWS DevOps | 
| Valide a personalização. | Faça login na conta fornecida recentemente e verifique se a personalização foi aplicada com êxito.<br />Use as seguintes etapas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps engenheiro | 

## Solução de problemas
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-troubleshooting"></a>


| 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](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) na *Referência geral da AWS *. | 

## Recursos relacionados
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-resources"></a>

**AWS service (Serviço da AWS) documentação**
+ [AWS Control Tower Guia do usuário](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
+ [Como funciona o IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/how-it-works-ipam.html)
+ [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
+ [AWS service (Serviço da AWS) cotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)

**Outros recursos**
+ [Documentação do Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)