

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á.

# Implementação do Account Factory for Terraform (AFT) usando um pipeline de bootstrap
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline"></a>

*Vinicius Elias e Edgar Costa Filho, Amazon Web Services*

## Resumo
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-summary"></a>

Esse padrão fornece um método simples e seguro para implantar o AWS Control Tower Account Factory for Terraform (AFT) a partir da conta de gerenciamento do. AWS Organizations O núcleo da solução é um CloudFormation modelo que automatiza a configuração do AFT criando um pipeline do Terraform, que é estruturado para ser facilmente adaptável à implantação inicial ou às atualizações subsequentes.

A segurança e a integridade dos dados são as principais prioridades AWS, portanto, o arquivo de estado do Terraform, que é um componente essencial que rastreia o estado da infraestrutura e das configurações gerenciadas, é armazenado com segurança em um bucket do Amazon Simple Storage Service (Amazon S3). Esse bucket é configurado com várias medidas de segurança, incluindo criptografia do lado do servidor e políticas para bloquear o acesso público, para ajudar a garantir que seu estado do Terraform seja protegido contra acesso não autorizado e violações de dados.

A conta de gerenciamento organiza e supervisiona todo o ambiente, portanto, é um recurso essencial em. AWS Control Tower Esse padrão segue as AWS melhores práticas e garante que o processo de implantação não seja apenas eficiente, mas também esteja alinhado aos padrões de segurança e governança, para oferecer uma maneira abrangente, segura e eficiente de implantar o AFT em seu AWS ambiente.

Para obter mais informações sobre o AFT, consulte a [documentação do AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html).

## Pré-requisitos e limitações
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-prereqs"></a>

**Pré-requisitos **
+ Um ambiente básico de AWS várias contas com, no mínimo, as seguintes contas: conta de gerenciamento, conta de arquivamento de registros, conta de auditoria e uma conta adicional para gerenciamento de AFT.
+ Um AWS Control Tower ambiente estabelecido. A conta de gerenciamento deve ser configurada adequadamente, pois o CloudFormation modelo será implantado nela.
+ As permissões necessárias na conta AWS de gerenciamento. Você precisará de permissões suficientes para criar e gerenciar recursos, como buckets, AWS Lambda funções, funções AWS Identity and Access Management (IAM) e AWS CodePipeline projetos do S3.
+ Familiaridade com o Terraform. Compreender os principais conceitos e o fluxo de trabalho do Terraform é importante porque a implantação envolve a geração e o gerenciamento das configurações do Terraform.

**Limitações**
+ Esteja ciente das [cotas de recursos da AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) em sua conta. A implantação pode criar vários recursos, e encontrar cotas de serviço pode impedir o processo de implantação.
+ O modelo foi desenvolvido para versões específicas do Terraform e Serviços da AWS. A atualização ou alteração de versões pode exigir modificações no modelo.
+ O modelo não oferece suporte a serviços de sistema de controle de versão (VCS) autogerenciado, como GitHub o Enterprise.

**Versões do produto**
+ Terraform versão 1.6.6 ou posterior
+ AFT versão 1.11 ou posterior

## Arquitetura
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-architecture"></a>

**Pilha de tecnologias de destino**
+ CloudFormation
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodePipeline
+ Amazon EventBridge
+ IAM
+ AWS Lambda
+ Amazon S3

**Arquitetura de destino**

O diagrama a seguir ilustra a implementação discutida neste padrão.

![Fluxo de trabalho para implementar o AFT usando um pipeline de bootstrap.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/944f9912-87c7-4cc5-8478-7070cf67f7ee/images/4ee74757-940d-4d92-a7f0-fb0db1476247.png)


O fluxo de trabalho consiste em três tarefas principais: criar os recursos, gerar o conteúdo e executar o pipeline.

*Criar os recursos*

O [CloudFormation modelo fornecido com esse padrão](https://github.com/aws-samples/aft-bootstrap-pipeline/blob/main/code/aft-deployment-pipeline.yaml) cria e configura todos os recursos necessários, dependendo dos parâmetros selecionados ao implantar o modelo. No mínimo, o modelo cria os seguintes recursos:
+ Um CodePipeline pipeline para implementar o AFT
+ Um bucket do S3 para armazenar o arquivo de estado do Terraform associado à implementação do AFT
+ Dois CodeBuild projetos para implementar o plano do Terraform e aplicar comandos em diferentes estágios do pipeline
+ Funções CodeBuild e CodePipeline serviços do IAM
+ Um segundo bucket do S3 para armazenar artefatos do runtime do pipeline

Dependendo do provedor de VCS selecionado (CodeCommit ou do VCS externo), o modelo cria os seguintes recursos. 
+ Para **CodeCommit**:
  + Um CodeCommit repositório para armazenar o código de bootstrap do AFT Terraform
  + Uma EventBridge regra para capturar alterações no CodeCommit repositório na ramificação `main`
  + Outra função do IAM para a EventBridge regra
+ Para qualquer outro **provedor externo de VCS**, como GitHub:
  + Uma Conexões de código da AWS conexão

Além disso, quando você seleciona CodeCommit como provedor de VCS, se você definir o `Generate AFT Files` parâmetro como`true`, o modelo cria esses recursos adicionais para gerar o conteúdo:
+ Um bucket S3 para armazenar o conteúdo gerado e ser usado como fonte do CodeCommit repositório
+ Uma função do Lambda para processar os parâmetros fornecidos e gerar o conteúdo apropriado
+ Uma função do IAM para executar a função do Lambda
+ Um recurso CloudFormation personalizado que executa a função Lambda quando o modelo é implantado

*Gerar o conteúdo*

Para gerar os arquivos de bootstrap do AFT e seu conteúdo, a solução usa uma função do Lambda e um bucket do S3. A função cria uma pasta no bucket e, em seguida, cria dois arquivos dentro da pasta: `main.tf` e `backend.tf`. A função também processa os CloudFormation parâmetros fornecidos e preenche esses arquivos com código predefinido, substituindo os respectivos valores dos parâmetros.

Para visualizar o código usado como modelo para gerar os arquivos, consulte o [GitHub repositório](https://github.com/aws-samples/aft-bootstrap-pipeline) da solução. Basicamente, os arquivos são gerados da seguinte forma.

**main.tf**

```
module "aft" {
  source = "github.com/aws-ia/terraform-aws-control_tower_account_factory?ref=<aft_version>"

  # Required variables
  ct_management_account_id  = "<ct_management_account_id>"
  log_archive_account_id    = "<log_archive_account_id>"
  audit_account_id          = "<audit_account_id>"
  aft_management_account_id = "<aft_management_account_id>"
  ct_home_region            = "<ct_home_region>"

  # Optional variables
  tf_backend_secondary_region = "<tf_backend_secondary_region>"
  aft_metrics_reporting       = "<false|true>"

  # AFT Feature flags
  aft_feature_cloudtrail_data_events      = "<false|true>"
  aft_feature_enterprise_support          = "<false|true>"
  aft_feature_delete_default_vpcs_enabled = "<false|true>"

  # Terraform variables
  terraform_version      = "<terraform_version>"
  terraform_distribution = "<terraform_distribution>"

  # VCS variables (if you have chosen an external VCS)
  vcs_provider                                  = "<github|githubenterprise|gitlab|gitlabselfmanaged|bitbucket>"
  account_request_repo_name                     = "<org-name>/aft-account-request"
  account_customizations_repo_name              = "<org-name>/aft-account-customizations"
  account_provisioning_customizations_repo_name = "<org-name>/aft-account-provisioning-customizations"
  global_customizations_repo_name               = "<org-name>/aft-global-customizations"

}
```

**backend.tf**

```
terraform {
  backend "s3" {
    region = "<aft-main-region>"
    bucket = "<s3-bucket-name>"
    key    = "aft-setup.tfstate"
  }
}
```

Durante a criação do CodeCommit repositório, se você definir o `Generate AFT Files` parâmetro como`true`, o modelo usará o bucket do S3 com o conteúdo gerado como a origem da `main` ramificação para preencher automaticamente o repositório.

*Executando o pipeline*

Depois que os recursos foram criados e os arquivos de bootstrap foram configurados, o pipeline é executado. O primeiro estágio (*Origem*) busca o código-fonte da ramificação principal do repositório e o segundo estágio (*Compilação*) executa o comando de plano do Terraform e gera os resultados a serem revisados. No terceiro estágio (*Aprovação*), o pipeline aguarda uma ação manual para aprovar ou rejeitar o último estágio (*Implantação*). No último estágio, o pipeline executa o comando `apply` do Terraform usando o resultado do comando `plan` anterior do Terraform como entrada. Finalmente, uma função entre contas e as permissões na conta gerencial são usadas para criar os recursos do AFT na conta gerencial do AFT.

**nota**  
Se você selecionar um provedor de VCS externo, precisará autorizar a conexão com suas credenciais de provedor de VCS. Para concluir a configuração, siga as etapas em [Atualizar uma conexão pendente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) na documentação do console do AWS Developer Tools.

## Ferramentas
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-tools"></a>

**Serviços da AWS**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ajuda você a configurar recursos da AWS, provisioná-los de forma rápida e consistente e gerenciá-los em todo o seu ciclo de vida em todas Contas da AWS as regiões.
+ 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 CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) é um serviço de controle de versão que ajuda no armazenamento e no gerenciamento de repositórios Git de forma privada, sem a necessidade de administrar o próprio sistema de controle de origem.
+ 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.
+ [Conexões de código da AWS](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html)permite que AWS recursos e serviços, como CodePipeline, se conectem a repositórios de código externos, como GitHub.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que executa seu código em resposta a eventos e gerencia automaticamente os recursos de computação, fornecendo uma maneira rápida de criar uma aplicação moderna e sem servidor para produção.
+ [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

**Outras ferramentas**
+ O [Terraform](https://developer.hashicorp.com/terraform?product_intent=terraform) é uma ferramenta de infraestrutura como código (IaC) que permite criar, alterar e versionar a infraestrutura com segurança e eficiência. 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 SaaS.
+ O [Python](https://docs.python.org/3.9/tutorial/index.html) é uma linguagem de programação poderosa e fácil de aprender. Ele tem estruturas de dados de alto nível eficientes e fornece uma abordagem simples, mas eficaz, à programação orientada a objetos.

**Repositório de código**

O código desse padrão está disponível no [repositório do pipeline de bootstrap do GitHub AFT](https://github.com/aws-samples/aft-bootstrap-pipeline).

Para o repositório oficial do AFT, consulte [AWS Control Tower Account Factory for Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main) em. GitHub

## Práticas recomendadas
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-best-practices"></a>

Ao implantar o AFT usando o CloudFormation modelo fornecido, recomendamos que você siga as melhores práticas para ajudar a garantir uma implementação segura, eficiente e bem-sucedida. As principais diretrizes e recomendações para implementar e operar o AFT incluem o seguinte.
+ **Revisão completa dos parâmetros**: analise e compreenda cuidadosamente cada parâmetro no CloudFormation modelo. A definição correta dos parâmetros é crucial para a configuração e o funcionamento corretos do AFT.
+ **Atualizações regulares do modelo**: mantenha o modelo atualizado 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="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-epics"></a>

### Configurar e configurar o AWS ambiente
<a name="set-up-and-configure-the-aws-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Prepare o AWS Control Tower ambiente. | Instale e configure AWS Control Tower em seu AWS ambiente para garantir gerenciamento e governança centralizados para 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 | 
| Crie a conta gerencial do AFT. | Use o AWS Control Tower Account Factory para lançar uma nova Conta da AWS para servir como sua conta de gerenciamento da AFT. Para obter mais informações, consulte [Provisionar contas com o AWS Service Catalog Account Factory](https://docs.aws.amazon.com/controltower/latest/userguide/provision-as-end-user.html) na AWS Control Tower documentação. | Administrador de nuvem | 

### Implante o CloudFormation modelo na conta de gerenciamento
<a name="deploy-the-cfnshort-template-in-the-management-account"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie o CloudFormation modelo. | Neste épico, você implanta o CloudFormation modelo fornecido com essa solução para configurar o pipeline de bootstrap do AFT em sua conta AWS de gerenciamento. O pipeline implanta a solução AFT na conta gerencial do AFT que você configurou no épico anterior.<br />**Etapa 1: abrir o CloudFormation console**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 2: criar uma nova pilha**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 3: configurar os parâmetros da pilha**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 4: decidir sobre a geração de arquivos**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 5: preencher os AWS Control Tower detalhes da conta AFT**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 6: configurar as opções do AFT**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 7: especificar as versões**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 8: analisar e criar a pilha**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 9: monitorar a criação da pilha**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 10: verificar a implantação**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de nuvem | 

### Preencher e validar o repositório e o pipeline de bootstrap do AFT
<a name="populate-and-validate-the-aft-bootstrap-repository-and-pipeline"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Opção 1: preencher o repositório de bootstrap do AFT para um VCS externo. | Se você definir o provedor de VCS como um VCS externo (não para CodeCommit), siga estas etapas.<br />(Opcional) Depois de implantar o CloudFormation modelo, você pode preencher ou validar o conteúdo no repositório de bootstrap AFT recém-criado e testar se o pipeline foi executado com êxito.<br />**Etapa 1: atualizar a conexão**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 2: preencher o repositório**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 2: confirmar e enviar as alterações**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de nuvem | 
| Opção 2: Preencher o repositório AFT bootstrap para. CodeCommit | Se você definir o provedor VCS como CodeCommit, siga estas etapas.<br />(Opcional) Depois de implantar o CloudFormation modelo, você pode preencher ou validar o conteúdo no repositório de bootstrap AFT recém-criado e testar se o pipeline foi executado com êxito.<br />Se você definir o parâmetro `Generate AFT Files` como `true`, vá para a próxima narrativa (validando o pipeline).<br />**Etapa 1: preencher o repositório**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 2: confirmar e enviar as alterações**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de nuvem | 
| Valide o pipeline de bootstrap do AFT. | **Etapa 1: Visualizar o pipeline**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 2: aprovar os resultados do plano do Terraform**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 3: aguardar a implantação**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Etapa 4: verificar os recursos criados**[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de nuvem | 

## Solução de problemas
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| A função Lambda personalizada incluída no CloudFormation modelo falha durante a implantação. | Verifique os CloudWatch registros da Amazon para a função Lambda para identificar o erro. Os logs fornecem informações detalhadas e podem ajudar a identificar o problema específico. Confirme se a função do Lambda tem as permissões necessárias e se as variáveis de ambiente foram definidas corretamente. | 
| Você recebe falhas na criação ou no gerenciamento de recursos devido a permissões insuficientes. | Analise as funções e políticas do IAM que estão associadas à função Lambda e 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ê está usando uma versão desatualizada do CloudFormation modelo com versões mais recentes Serviços da AWS ou do Terraform. | Atualize regularmente o CloudFormation modelo para ser compatível com as versões mais recentes AWS e do Terraform. Verifique as notas de lançamento ou a documentação para ver se há alterações ou requisitos específicos da versão. | 
| 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 S3, funções do IAM e funções Lambda. Solicite aumentos, se necessário. Para obter mais informações, consulte [AWS service (Serviço da AWS) as cotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) no AWS site. | 
| Você encontra erros devido a parâmetros de entrada incorretos no CloudFormation modelo. | Verifique novamente todos os parâmetros de entrada em busca de erros de digitação ou valores incorretos. Confirme se os identificadores de recursos, como nomes de conta IDs e região, estão corretos. | 

## Recursos relacionados
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-resources"></a>

Para implementar este padrão com sucesso, revise os recursos a seguir. Esses recursos fornecem informações e orientações adicionais que podem ser imprescindíveis na configuração e no gerenciamento do AFT usando o CloudFormation.

**AWS****documentação:**
+ [AWS Control Tower O Guia do usuário](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) oferece informações detalhadas sobre configuração e gerenciamento AWS Control Tower.
+ [CloudFormation a documentação](https://docs.aws.amazon.com/cloudformation/index.html) fornece informações sobre CloudFormation modelos, pilhas e gerenciamento de recursos.

**Práticas recomendadas e políticas do IAM:**
+ [As melhores práticas de segurança no IAM explicam](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) como ajudar a proteger AWS recursos usando funções e políticas do IAM.

**Terraform em AWS:**
+ A [documentação do Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) fornece informações abrangentes sobre como usar o Terraform com. AWS

**AWS service (Serviço da AWS) cotas:**
+ [AWS service (Serviço da AWS) as cotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) fornecem informações sobre como visualizar as AWS service (Serviço da AWS) cotas e como solicitar aumentos.