

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

# Gerenciamento
<a name="management-pattern-list"></a>

**Topics**
+ [Gerenciamento de custos](costmanagement-pattern-list.md)
+ [Computação de usuário final](endusercomputing-pattern-list.md)
+ [Computação de alta performance](highperformancecomputing-pattern-list.md)
+ [Nuvem híbrida](hybrid-pattern-list.md)
+ [Gerenciamento e governança](governance-pattern-list.md)
+ [Mensagens e comunicações](messagingandcommunications-pattern-list.md)
+ [Estratégia de várias contas](multiaccountstrategy-pattern-list.md)

# Gerenciamento de custos
<a name="costmanagement-pattern-list"></a>

**Topics**
+ [Crie relatórios detalhados de custo e uso para trabalhos do AWS Glue usando o Explorador de Custos da AWS](create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.md)
+ [Crie relatórios detalhados de custo e uso para clusters do Amazon EMR usando o Explorador de Custos da AWS](create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer.md)
+ [Mais padrões](costmanagement-more-patterns-pattern-list.md)

# Crie relatórios detalhados de custo e uso para trabalhos do AWS Glue usando o Explorador de Custos da AWS
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer"></a>

*Parijat Bhide e Aromal Raj Jayarajan, Amazon Web Services*

## Resumo
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-summary"></a>

Esse padrão mostra como rastrear os custos de uso dos trabalhos de integração de dados do AWS Glue configurando [tags de alocação de custos definidas pelo usuário](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html). Você pode usar essas tags para criar relatórios detalhados de custo e uso no Explorador de Custos da AWS para trabalhos em várias dimensões. Por exemplo, você pode monitorar os custos de uso no nível da equipe, do projeto ou do centro de custos.

## Pré-requisitos e limitações
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um ou mais [trabalhos do AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/how-it-works.html) com tags definidas pelo usuário ativadas

## Arquitetura
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-architecture"></a>

**Pilha de tecnologias de destino**
+ AWS Glue
+ AWS Cost Explorer

O diagrama a seguir mostra como você pode aplicar tags para rastrear os custos de uso de trabalhos do AWS Glue.

![\[Criação e aplicação de etiquetas em trabalhos do AWS Glue para rastrear os custos de uso no Explorador de Custos da AWS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/e0ae6643-713d-423a-9013-b41b30638053/images/f2b74ef1-494d-439b-9aec-5a9d601126a6.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Um engenheiro de dados ou administrador da AWS cria tags de alocação de custos definidas pelo usuário para os trabalhos do AWS Glue.

1. Um administrador da AWS ativa as tags.

1. As tags reportam metadados para o Explorador de Custos da AWS.

## Ferramentas
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-tools"></a>
+ O [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) é um serviço de extração, transformação e carregamento (ETL) totalmente gerenciado. Ele ajuda você a categorizar, limpar, enriquecer e mover dados de forma confiável entre armazenamentos de dados e fluxos de dados.
+ O [Explorador de Custos da AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-what-is.html) permite que você visualize e analise seus custos e uso do AWS.

## Épicos
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-epics"></a>

### Criar e ativar tags para suas tarefas do AWS Glue
<a name="create-and-activate-tags-for-your-aws-glue-jobs"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie tags de alocação de custos definidas pelo usuário para suas tarefas do AWS Glue. | **Para adicionar tags a uma tarefa existente do AWS Glue**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.html)**Para adicionar tags a um trabalho novo do AWS Glue**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.html)Para obter mais informações, consulte [Etiquetas da AWS no AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) no *Guia do desenvolvedor do AWS Glue*. | Engenheiro de dados | 
| Ativar as tags de alocação de custos definidas pelo usuário. | Siga as instruções em [Ativação de tags de alocação de custos definidas pelo usuário](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) no Guia do usuário do *AWS Billing*. | Administrador da AWS | 

### Crie relatórios detalhados de custo e uso para seus trabalhos do AWS Glue
<a name="create-cost-and-usage-reports-for-your-aws-glue-jobs"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie relatórios de custo e uso para seus trabalhos do AWS Glue usando filtros de tag no Explorador de Custos da AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.html)Para obter mais informações, consulte [Explorar seus dados usando o Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-exploring-data.html) no *Guia do usuário do AWS Cost Management*. | AWS geral, administrador da AWS | 

# Crie relatórios detalhados de custo e uso para clusters do Amazon EMR usando o Explorador de Custos da AWS
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer"></a>

*Parijat Bhide e Aromal Raj Jayarajan, Amazon Web Services*

## Resumo
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-summary"></a>

Esse padrão mostra como rastrear os custos de uso dos clusters do Amazon EMR configurando [tags de alocação de custos definidas pelo usuário](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html). Você pode usar essas tags para criar relatórios detalhados de custo e uso no Explorador de Custos da AWS para clusters em várias dimensões. Por exemplo, você pode monitorar os custos de uso no nível da equipe, do projeto ou do centro de custos.

## Pré-requisitos e limitações
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um ou mais [clusters EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html) com tags definidas pelo usuário ativadas

## Arquitetura
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-architecture"></a>

**Pilha de tecnologias de destino**
+ Amazon EMR
+ AWS Cost Explorer

**Arquitetura de destino**

O diagrama a seguir mostra como você pode aplicar tags para rastrear os custos de uso de clusters específicos do Amazon EMR.

![\[Uso de etiquetas de alocação de custos para clusters do Amazon EMR.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/3e470077-e3b1-43cf-8cb9-0895fe39e664/images/fb6b78cb-47bb-4ba1-848a-98dba02bdbb2.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Um engenheiro de dados ou administrador da AWS cria tags de alocação de custos definidas pelo usuário para os clusters do Amazon EMR.

1. Um administrador da AWS ativa as tags.

1. As tags reportam metadados para o Explorador de Custos da AWS.

## Ferramentas
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-tools"></a>

**Ferramentas**
+ O [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html) é uma plataforma de cluster gerenciada que simplifica a execução de frameworks de big data para processar e analisar grandes volumes de dados.
+ O [Explorador de Custos da AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-what-is.html) permite que você visualize e analise seus custos e uso.

## Épicos
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-epics"></a>

### Crie e ative tags para seus clusters do Amazon EMR
<a name="create-and-activate-tags-for-your-amazon-emr-clusters"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie tags de alocação de custos definidas pelo usuário para seus clusters do Amazon EMR. | **Para adicionar tags a um cluster existente do Amazon EMR**Siga as instruções em [Adicionar tags a um cluster existente](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags-add.html) no Guia de *gerenciamento do Amazon EMR.***Para adicionar tags a um novo cluster do Amazon EMR**Siga as instruções em [Adicionar tags a um novo cluster](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags-add-new.html) no *Guia de gerenciamento do Amazon EMR.*Para obter mais informações sobre como configurar um cluster do Amazon EMR, consulte [Planejar e configurar clusters](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan.html) no *Guia de gerenciamento do Amazon EMR*. | Engenheiro de dados | 
| Ativar as tags de alocação de custos definidas pelo usuário. | Siga as instruções em [Ativação de tags de alocação de custos definidas pelo usuário](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) no Guia do usuário do *AWS Billing*. | Administrador da AWS | 

### Crie relatórios de custo e uso para seus clusters do Amazon EMR
<a name="create-cost-and-usage-reports-for-your-amazon-emr-clusters"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie relatórios de custo e uso para seus clusters do Amazon EMR usando filtros de tag no Explorador de Custos da AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer.html)Para obter mais informações, consulte [Explorar seus dados usando o Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-exploring-data.html) no *Guia do usuário do AWS Cost Management*. | AWS geral, administrador da AWS | 

# Mais padrões
<a name="costmanagement-more-patterns-pattern-list"></a>

**Topics**
+ [Automatize as operações de AWS infraestrutura usando o Amazon Bedrock](automate-aws-infrastructure-operations-by-using-amazon-bedrock.md)
+ [Faça o inventário automático de AWS recursos em várias contas e regiões](automate-aws-resource-inventory.md)
+ [Automatize a criação de recursos da Amazon WorkSpaces Applications usando AWS CloudFormation](automate-the-creation-of-appstream-2-0-resources-using-aws-cloudformation.md)
+ [Arquivar automaticamente itens no Amazon S3 usando o DynamoDB TTL](automatically-archive-items-to-amazon-s3-using-dynamodb-ttl.md)
+ [Pare e inicie automaticamente uma instância de banco de dados Amazon RDS usando o Windows AWS Systems Manager de manutenção](automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.md)
+ [Crie relatórios detalhados de custos e uso para o Amazon RDS e o Amazon Aurora](create-detailed-cost-and-usage-reports-for-amazon-rds-and-amazon-aurora.md)
+ [Estime os custos de armazenamento de uma tabela do Amazon DynamoDB](estimate-storage-costs-for-an-amazon-dynamodb-table.md)
+ [Expressa o custo de uma tabela do DynamoDB para capacidade sob demanda](estimate-the-cost-of-a-dynamodb-table-for-on-demand-capacity.md)
+ [Configuração do ajuste de escala automático orientado por eventos no Amazon EKS usando o Identidade de Pods do Amazon EKS e o KEDA](event-driven-auto-scaling-with-eks-pod-identity-and-keda.md)
+ [Coordene a dependência de recursos e a execução de tarefas usando a AWS Fargate WaitCondition construção de gancho](use-the-aws-fargate-waitcondition-hook-construct.md)

# Computação de usuário final
<a name="endusercomputing-pattern-list"></a>

**Topics**
+ [Implemente a autenticação SAML 2.0 para a Amazon WorkSpaces usando Auth0 e AWS Managed Microsoft AD](implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.md)
+ [Mais padrões](endusercomputing-more-patterns-pattern-list.md)

# Implemente a autenticação SAML 2.0 para a Amazon WorkSpaces usando Auth0 e AWS Managed Microsoft AD
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad"></a>

*Siva Vinnakota e Shantanu Padhye, Amazon Web Services*

## Resumo
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-summary"></a>

Esse padrão explora como você pode integrar o Auth0 AWS Directory Service for Microsoft Active Directory para criar uma solução robusta de autenticação SAML 2.0 para seu ambiente Amazon. WorkSpaces Ele explica como estabelecer uma federação entre eles Serviços da AWS para habilitar recursos avançados, como autenticação multifator (MFA) e fluxos de login personalizados, preservando o acesso contínuo ao desktop. AWS Managed Microsoft AD Independentemente de você gerenciar um pequeno número ou milhares de usuários, essa integração proporciona maior flexibilidade e segurança à sua organização. Este padrão fornece as etapas necessárias para o processo de configuração, permitindo que você implemente essa solução em seu próprio ambiente.

## Pré-requisitos e limitações
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ AWS Managed Microsoft AD
+ Um desktop provisionado no Amazon WorkSpaces Personal que está associado ao AWS Managed Microsoft AD
+ Uma instância do Amazon Elastic Compute Cloud (Amazon EC2)
+ Uma conta do Auth0

**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 [Serviços da AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte a página [Cotas e endpoints de serviços](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

## Arquitetura
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-architecture"></a>

O processo de autenticação SAML 2.0 para um aplicativo WorkSpaces cliente consiste em cinco etapas que são ilustradas no diagrama a seguir. Essas etapas representam um fluxo de trabalho típico para o processo de login. É possível usar essa abordagem distribuída de autenticação após seguir as instruções apresentadas neste padrão, para oferecer um método estruturado e seguro para o acesso dos usuários.

![\[Fluxo de trabalho para o processo de autenticação SAML 2.0 para um aplicativo WorkSpaces cliente.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/5a0f227c-c111-495b-9fde-98ae7832bb10/images/957b2a11-e898-4c4f-ae4e-c2e85bfa93a0.png)


 Fluxo de trabalho:

1. **Registro**. O usuário inicia o aplicativo cliente WorkSpaces e insere o código de WorkSpaces registro do diretório habilitado para SAML WorkSpaces . WorkSpaces retorna a URL do provedor de identidade Auth0 (IdP) para o aplicativo cliente.

1. **Login. **O WorkSpaces cliente redireciona para o navegador da web do usuário usando o URL Auth0.  O usuário realiza a autenticação com seu nome de usuário e senha. O Auth0 retorna uma afirmação do padrão SAML ao navegador do cliente. A afirmação do padrão SAML consiste em um token criptografado que comprova a identidade do usuário.

1. **Autenticar.** O navegador do cliente publica a declaração SAML no Início de Sessão da AWS endpoint para validá-la. Início de Sessão da AWS permite que o chamador assuma uma função AWS Identity and Access Management (IAM). Isso retorna um token que contém credenciais temporárias para o perfil do IAM.

1. **WorkSpaces logar**. O WorkSpaces cliente apresenta o token ao endpoint do WorkSpaces serviço. WorkSpaces troca o token por um token de sessão e retorna o token de sessão ao WorkSpaces cliente com uma URL de login. Quando o WorkSpaces cliente carrega a página de login, o valor do nome de usuário é preenchido pelo `NameId` valor passado na resposta do SAML.

1. **Streaming**. O usuário insere sua senha e se autentica no WorkSpaces diretório. Após a autenticação, WorkSpaces retorna um token para o cliente. O cliente redireciona de volta para o WorkSpaces serviço e apresenta o token. Isso intermedia uma sessão de streaming entre o WorkSpaces cliente e o. WorkSpace

**nota**  
Para configurar uma experiência perfeita de login único que não exija uma solicitação de senha, consulte [Autenticação baseada em certificado](https://docs.aws.amazon.com/workspaces/latest/adminguide/certificate-based-authentication.html) e Pessoal na documentação. WorkSpaces WorkSpaces 

## Ferramentas
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-tools"></a>

**Serviços da AWS**
+  WorkSpacesA [Amazon](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) é um serviço de infraestrutura de desktop virtual (VDI) totalmente gerenciado que fornece aos usuários desktops baseados em nuvem sem precisar adquirir e implantar hardware ou instalar software complexo.
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)permite que suas cargas de trabalho e AWS recursos com reconhecimento de diretório usem o Microsoft Active Directory no. Nuvem AWS

**Outras ferramentas**
+ O [Auth0](https://auth0.com/) é uma plataforma destinada à autenticação e à autorização que permite gerenciar o acesso às suas aplicações.

## Épicos
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-epics"></a>

### Configuração do conector LDAP do Active Directory no Auth0
<a name="configure-the-active-directory-ldap-connector-in-auth0"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o conector LDAP do Active Directory no Auth0 com. AWS Managed Microsoft AD | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | Administrador de nuvem, arquiteto de nuvem | 
| Crie uma aplicação no Auth0 para gerar o arquivo de manifesto de metadados em SAML. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | Administrador de nuvem, arquiteto de nuvem | 

### Configuração do IdP, do perfil e da política para SAML 2.0 no IAM
<a name="set-up-idp-role-and-policy-for-saml-2-0-in-iam"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um IdP do SAML 2.0 no IAM. | Para configurar o SAML 2.0 como um IdP, siga as etapas descritas em [Create a SAML identity provider in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) na documentação do IAM. | Administrador de nuvem | 
| Crie uma política e um perfil do IAM para federação do SAML 2.0. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | Administrador de nuvem | 

### Configuração das afirmações no Auth0
<a name="configure-assertions-in-auth0"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o Auth0 e as afirmações do padrão SAML. | É possível usar ações do Auth0 para configurar afirmações nas respostas do SAML 2.0. Uma afirmação do padrão SAML consiste em um token criptografado que comprova a identidade do usuário.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html)Isso conclui a configuração da autenticação SAML 2.0 para desktops WorkSpaces pessoais. A seção [Arquitetura](#implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-architecture) ilustra o processo de autenticação após a configuração. | Administrador de nuvem | 

## Solução de problemas
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Problemas de autenticação do SAML 2.0 em WorkSpaces** ** | Se você encontrar algum problema ao implementar a autenticação SAML 2.0 para WorkSpaces Personal, siga as etapas e os links descritos no [artigo AWS re:POST](https://repost.aws/knowledge-center/workspaces-saml-authentication-issues) sobre solução de problemas de autenticação SAML 2.0.Para obter informações adicionais sobre como investigar erros do SAML 2.0 durante o acesso WorkSpaces, consulte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | 

## Recursos relacionados
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-resources"></a>
+ [Configurar o SAML 2.0 for WorkSpaces Personal](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html) (WorkSpaces documentação)
+ [Documentação do Auth0](https://auth0.com/docs)

# Mais padrões
<a name="endusercomputing-more-patterns-pattern-list"></a>

**Topics**
+ [Automatize a criação de recursos da Amazon WorkSpaces Applications usando AWS CloudFormation](automate-the-creation-of-appstream-2-0-resources-using-aws-cloudformation.md)
+ [Melhore a qualidade das chamadas nas estações de trabalho dos atendentes nas centrais de atendimento do Amazon Connect](improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.md)
+ [Execute tarefas do AWS Systems Manager Automation de forma síncrona a partir do AWS Step Functions](run-aws-systems-manager-automation-tasks-synchronously-from-aws-step-functions.md)

# Computação de alta performance
<a name="highperformancecomputing-pattern-list"></a>

**Topics**
+ [Implantação de um sistema de arquivos do Lustre para processamento de dados de alta performance usando o Terraform e a DRA](deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.md)
+ [Configure um painel de monitoramento da Grafana para a AWS ParallelCluster](set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.md)
+ [Mais padrões](highperformancecomputing-more-patterns-pattern-list.md)

# Implantação de um sistema de arquivos do Lustre para processamento de dados de alta performance usando o Terraform e a DRA
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra"></a>

*Arun Bagal e Ishwar Chauthaiwale, Amazon Web Services*

## Resumo
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-summary"></a>

Esse padrão implanta automaticamente um sistema de arquivos Lustre AWS e o integra ao Amazon Elastic Compute Cloud (Amazon) EC2 e ao Amazon Simple Storage Service (Amazon S3).

Esta solução auxilia na configuração rápida de um ambiente de computação de alta performance (HPC) com armazenamento integrado, recursos de computação e acesso aos dados do Amazon S3. Ele combina os recursos de armazenamento do Lustre com as opções de computação flexíveis fornecidas pela Amazon EC2 e o armazenamento de objetos escalável no Amazon S3, para que você possa lidar com cargas de trabalho com uso intenso de dados em aprendizado de máquina, HPC e análise de big data.

O padrão usa um módulo HashiCorp Terraform e o Amazon for Lustre FSx para simplificar o seguinte processo:
+ Provisionamento de um sistema de arquivos do Lustre
+ Estabelecendo uma associação de repositório de dados (DRA) entre FSx o Lustre e um bucket do S3 para vincular o sistema de arquivos Lustre aos objetos do Amazon S3
+ Criação de uma EC2 instância
+ Montagem do sistema de arquivos Lustre com o DRA vinculado ao Amazon S3 na instância EC2 

Entre os benefícios desta solução, destacam-se:
+ Design modular. Você pode gerenciar e atualizar de forma simples cada componente desta solução.
+ Escalabilidade. Você pode implantar rapidamente ambientes consistentes em Contas da AWS nossas regiões.
+ Flexibilidade. Você pode personalizar a implantação para atender às suas necessidades específicas.
+ Práticas recomendadas. Esse padrão usa módulos pré-configurados que seguem as AWS melhores práticas.

Para obter mais informações sobre sistemas de arquivos do Lustre, consulte o [site do Lustre](https://www.lustre.org/).

## Pré-requisitos e limitações
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ Uma política de privilégios mínimos AWS Identity and Access Management (IAM) (consulte [as instruções](https://aws.amazon.com/blogs/security/techniques-for-writing-least-privilege-iam-policies/))

**Limitações**

FSx for Lustre limita o sistema de arquivos Lustre a uma única zona de disponibilidade, o que pode ser uma preocupação se você tiver requisitos de alta disponibilidade. Caso a zona de disponibilidade em que o sistema de arquivos está localizado falhe, o acesso ao sistema será interrompido até a recuperação. Para garantir alta disponibilidade, é possível usar a DRA para vincular o sistema de arquivos do Lustre ao Amazon S3 e transferir dados entre zonas de disponibilidade.

**Versões do produto**
+ [Terraform versão 1.9.3 ou posterior](https://developer.hashicorp.com/terraform/install?product_intent=terraform)
+ [HashiCorp AWS Provider versão 4.0.0 ou posterior](https://registry.terraform.io/providers/hashicorp/aws/latest)

## Arquitetura
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-architecture"></a>

O diagrama a seguir mostra a arquitetura do Lustre e a complementar Serviços da AWS no Nuvem AWS. FSx 

![\[FSx para implantação do Lustre com AWS KMS, Amazon EC2, Amazon Logs e CloudWatch Amazon S3.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/51d38589-e752-42cd-9f46-59c3c8d0bfd3/images/c1c21952-fd6f-4b1d-9bf8-09b2f4f4459f.png)


A arquitetura inclui o seguinte:
+ Um bucket do S3 é usado como local de armazenamento durável, escalável e econômico para os dados. A integração entre FSx o Lustre e o Amazon S3 fornece um sistema de arquivos de alto desempenho que está perfeitamente vinculado ao Amazon S3.
+ FSx for Lustre executa e gerencia o sistema de arquivos Lustre.
+ O Amazon CloudWatch Logs coleta e monitora dados de log do sistema de arquivos. Esses logs fornecem insights sobre a performance, a integridade e a atividade do sistema de arquivos do Lustre.
+ A Amazon EC2 é usada para acessar sistemas de arquivos Lustre usando o cliente Lustre de código aberto. EC2 as instâncias podem acessar sistemas de arquivos de outras zonas de disponibilidade dentro da mesma nuvem privada virtual (VPC). A configuração de rede permite o acesso entre sub-redes dentro da VPC. Depois que o sistema de arquivos do Lustre é montado na instância, você pode trabalhar com arquivos e diretórios como se fossem parte de um sistema de arquivos local.
+ AWS Key Management Service (AWS KMS) aumenta a segurança do sistema de arquivos fornecendo criptografia para dados em repouso.

**Automação e escala**

O Terraform facilita a implantação, o gerenciamento e a escalabilidade dos seus sistemas de arquivos do Lustre em diferentes ambientes. No FSx Lustre, um único sistema de arquivos tem limitações de tamanho, então talvez seja necessário escalar horizontalmente criando vários sistemas de arquivos. É possível usar o Terraform para provisionar vários sistemas de arquivos do Lustre de acordo com as necessidades da sua workload.

## Ferramentas
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-tools"></a>

**Serviços da AWS**
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+ [O Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
+ [O Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) torna fácil e econômico lançar, executar e escalar um sistema de arquivos Lustre de alto desempenho.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ajuda você a criar e controlar chaves criptográficas para ajudar a proteger seus dados.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

**Repositório de código**

O código desse padrão está disponível no [sistema de arquivos GitHub Provision FSx for Lustre usando o repositório Terraform](https://github.com/aws-samples/provision-fsx-lustre-with-terraform).

## Práticas recomendadas
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-best-practices"></a>
+ As variáveis apresentadas a seguir definem o sistema de arquivos do Lustre. Certifique-se de que essas configurações estejam corretas de acordo com o ambiente, seguindo as instruções apresentadas na seção [Épicos](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics).
  + `storage_capacity`— A capacidade de armazenamento do sistema de arquivos Lustre, em GiBs. O valor mínimo e padrão é 1.200 GiB.
  + `deployment_type`: o tipo de implantação do sistema de arquivos do Lustre. Para obter uma explicação das duas opções `PERSISTENT_1` e `PERSISTENT_2` (padrão), consulte a [documentação do FSx Lustre.](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#persistent-file-system)
  + `per_unit_storage_throughput`— A taxa de transferência de leitura e gravação, em MBs por segundo por TiB.  
  + `subnet_id`— O ID da sub-rede privada em que você deseja FSx implantar o Lustre.
  + `vpc_id`— O ID da sua nuvem privada virtual AWS onde você deseja FSx implantar o Lustre.
  + `data_repository_path`: o caminho para o bucket do S3 que será vinculado ao sistema de arquivos do Lustre.
  + `iam_instance_profile`— O perfil da instância do IAM a ser usado para iniciar a EC2 instância.
  + `kms_key_id`— O Amazon Resource Name (ARN) da AWS KMS chave que será usada para criptografia de dados.
+ Garanta o acesso adequado à rede e o posicionamento correto na VPC usando as variáveis `security_group` e `vpc_id`.
+ Execute o comando `terraform plan`, conforme descrito na seção [Épicos](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics), para obter uma visualização prévia e verificar as alterações antes de aplicá-las. Esse procedimento auxilia na detecção de problemas potenciais e assegura que você tenha ciência do que será implantado.
+ Use o comando `terraform validate`, conforme descrito na seção [Épicos](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics), para verificar erros de sintaxe e confirmar se a configuração está correta.

## Épicos
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics"></a>

### Configurar o ambiente
<a name="set-up-your-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o Terraform. | Para instalar o Terraform em sua máquina local, siga as instruções apresentadas na [documentação do Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli). | AWS DevOps, DevOps engenheiro | 
| Configure as AWS credenciais. | Para configurar o perfil AWS Command Line Interface (AWS CLI) para a conta, siga as instruções na [AWS documentação](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html). | AWS DevOps, DevOps engenheiro | 
| Clone o GitHub repositório. | Para clonar o GitHub repositório, execute o comando:<pre>git clone https://github.com/aws-samples/provision-fsx-lustre-with-terraform.git</pre> | AWS DevOps, DevOps engenheiro | 

### Configure e implante FSx para o Lustre
<a name="configure-and-deploy-fsxlustre"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualize a configuração de implantação. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps, DevOps engenheiro | 
| Realize a inicialização do ambiente do Terraform. | Para inicializar o ambiente e executar o módulo do Terraform `fsx_deployment`, execute:<pre>terraform init</pre> | AWS DevOps, DevOps engenheiro | 
| Valide a sintaxe do Terraform. | Para verificar erros de sintaxe e confirmar que a configuração está correta, execute:<pre>terraform validate </pre> | AWS DevOps, DevOps engenheiro | 
| Valide a configuração do Terraform. | Para criar um plano de execução do Terraform e visualizar previamente a implantação, execute:<pre>terraform plan -var-file terraform.tfvars</pre> | AWS DevOps, DevOps engenheiro | 
| Realize a implantação do módulo do Terraform. | Para implantar os recursos do FSx for Lustre, execute:<pre>terraform apply -var-file terraform.tfvars</pre> | AWS DevOps, DevOps engenheiro | 

### Limpe AWS os recursos
<a name="clean-up-aws-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remova AWS os recursos. | Depois de terminar de usar seu ambiente FSx for Lustre, você pode remover os AWS recursos implantados pelo Terraform para evitar cobranças desnecessárias. O módulo do Terraform fornecido no repositório de código automatiza essa limpeza.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps, DevOps engenheiro | 

## Solução de problemas
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| FSx for Lustre retorna erros. | Para obter ajuda com FSx problemas do Lustre, consulte [Solução de problemas do Amazon FSx for Lustre na documentação](https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html) do FSx for Lustre. | 

## Recursos relacionados
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-resources"></a>
+ [Construindo o Amazon FSx for Lustre usando o Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/fsx_lustre_file_system) (referência do AWS provedor na documentação do Terraform)
+ [Introdução ao Amazon FSx for Lustre (FSx para](https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html) documentação do Lustre)
+ [AWS postagens de blog sobre Amazon FSx for Lustre](https://aws.amazon.com/blogs/storage/tag/amazon-fsx-for-lustre/)

# Configure um painel de monitoramento da Grafana para a AWS ParallelCluster
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster"></a>

*Dario La Porta e William Lu, Amazon Web Services*

## Resumo
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-summary"></a>

 ParallelCluster A AWS ajuda você a implantar e gerenciar clusters de computação de alta performance (HPC). Ele oferece suporte aos agendadores de trabalhos de código aberto AWS Batch e Slurm. Embora a AWS ParallelCluster esteja integrada à Amazon CloudWatch para registro e métricas, ela não fornece um painel de monitoramento para a carga de trabalho.

O [painel Grafana para AWS ParallelCluster](https://github.com/aws-samples/aws-parallelcluster-monitoring) (GitHub) é um painel de monitoramento para a AWS. ParallelCluster Ele fornece informações sobre o agendador de tarefas e métricas detalhadas de monitoramento no nível do sistema operacional (SO). Para obter mais informações sobre os painéis incluídos nessa solução, consulte [Exemplos de painéis no GitHub repositório](https://github.com/aws-samples/aws-parallelcluster-monitoring#example-dashboards). Essas métricas ajudam você a entender melhor a workload de HPC e seu desempenho. No entanto, o código do painel não é atualizado para as versões mais recentes da AWS ParallelCluster ou para os pacotes de código aberto usados na solução. Esse padrão aprimora a solução para fornecer os seguintes benefícios:
+ Compatível com AWS ParallelCluster v3
+ Usa a versão mais recente dos pacotes de código aberto, incluindo Prometheus, Grafana, Prometheus Slurm Exporter e NVIDIA DCGM-Exporter
+ Aumenta o número de núcleos de CPU e GPUs que os trabalhos do Slurm usam
+ Adiciona um painel de monitoramento de trabalhos
+ Aprimora o painel de monitoramento de nós da GPU para nós com 4 ou 8 unidades de processamento gráfico () GPUs

Essa versão da solução aprimorada foi implementada e verificada no ambiente de produção de HPC de um cliente da AWS.

## Pré-requisitos e limitações
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-prereqs"></a>

**Pré-requisitos **
+ [AWS ParallelCluster CLI](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster-v3.html), instalada e configurada.
+ Uma [configuração de rede](https://docs.aws.amazon.com/parallelcluster/latest/ug/iam-roles-in-parallelcluster-v3.html) compatível com a AWS ParallelCluster. Esse padrão usa a [AWS ParallelCluster usando a configuração de duas sub-redes](https://docs.aws.amazon.com/parallelcluster/latest/ug/network-configuration-v3.html#network-configuration-v3-two-subnets), o que requer uma sub-rede pública, uma sub-rede privada, um gateway de internet e um gateway NAT.
+ Todos os nós de ParallelCluster cluster da AWS devem ter acesso à Internet. Isso é necessário para que os scripts de instalação possam baixar o software de código aberto e as imagens do Docker.
+ Um [par de chaves](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) na Amazon Elastic Compute Cloud (Amazon EC2). Os recursos que têm esse par de chaves têm acesso Secure Shell (SSH) ao nó principal.

**Limitações**
+ Esse padrão foi projetado para suportar Ubuntu 20.04 LTS. Se você estiver usando uma versão diferente do Ubuntu ou se usar Amazon Linux ou CentOS, precisará modificar os scripts fornecidos com essa solução. Essas modificações não estão incluídas nesse padrão.

**Versões do produto**
+ Ubuntu 20.04 LTS
+ ParallelCluster 3.X

**Considerações sobre faturamento e custos**
+ A solução implantada nesse padrão não é coberta pelo nível gratuito. As cobranças se aplicam à Amazon EC2, ao Amazon FSx for Lustre, ao gateway NAT no Amazon VPC e ao Amazon Route 53.

## Arquitetura
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-architecture"></a>

**Arquitetura de destino**

O diagrama a seguir mostra como um usuário pode acessar o painel de monitoramento da AWS ParallelCluster no nó principal. O nó principal executa NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter e NGINX Open Source. Os nós de computação executam o Prometheus Node Exporter e também executam o NVIDIA DCGM-Exporter se o nó contiver. GPUs O nó principal recupera informações dos nós de computação e exibe esses dados no painel da Grafana.

![\[Acessando o painel de monitoramento da AWS ParallelCluster no nó principal.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/a2132c94-98e0-4b90-8be0-99ebfa546442/images/d2255792-f66a-4ef2-8f04-cc3d5482db5f.png)


Na maioria dos casos, o nó principal não está muito carregado porque o agendador de tarefas não exige uma quantidade significativa de CPU ou memória. Os usuários acessam o painel no nó principal usando SSL na porta 443.

Todos os espectadores autorizados podem visualizar anonimamente os painéis de monitoramento. Somente o administrador da Grafana pode modificar os painéis. Você configura uma senha para o administrador da Grafana no `aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml` arquivo.

## Ferramentas
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-tools"></a>

**Serviços da AWS**
+ O [NICE DCV](https://docs.aws.amazon.com/dcv/#nice-dcv) é um protocolo de exibição remota de alto desempenho que ajuda você a fornecer desktops remotos e streaming de aplicativos de qualquer nuvem ou datacenter para qualquer dispositivo, em diferentes condições de rede.
+  ParallelClusterA [AWS](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html) ajuda você a implantar e gerenciar clusters de computação de alta performance (HPC). Ele oferece suporte aos agendadores de trabalhos de código aberto AWS Batch e Slurm.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ A [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda a iniciar recursos da AWS em uma rede virtual definida por você.

**Outras ferramentas**
+ O [Docker](https://www.docker.com/) é um conjunto de produtos de plataforma como serviço (PaaS) que usam a virtualização no nível do sistema operacional para fornecer software em contêineres.
+ O [Grafana](https://grafana.com/docs/grafana/latest/introduction/) é um software de código aberto que ajuda você a consultar, visualizar, alertar e explorar métricas, registros e rastreamentos.
+ [O NGINX Open Source](https://nginx.org/en/docs/?_ga=2.187509224.1322712425.1699399865-405102969.1699399865) é um servidor web de código aberto e proxy reverso.
+ O [NVIDIA Data Center GPU Manager (DCGM)](https://docs.nvidia.com/data-center-gpu-manager-dcgm/index.html) é um conjunto de ferramentas para gerenciar e monitorar unidades de processamento gráfico (GPUs) de data center NVIDIA em ambientes de cluster. Nesse padrão, você usa o [DCGM-Exporter, que ajuda a exportar](https://github.com/NVIDIA/dcgm-exporter) métricas de GPU do Prometheus.
+ *O [Prometheus](https://prometheus.io/docs/introduction/overview/) é um kit de ferramentas de monitoramento de sistema de código aberto que coleta e armazena suas métricas como dados de séries temporais com pares de valores-chave associados, chamados de rótulos.* [Nesse padrão, você também usa o [Prometheus Slurm](https://github.com/vpenso/prometheus-slurm-exporter) Exporter para coletar e exportar métricas e usa o Prometheus Node Exporter para exportar métricas dos nós de computação.](https://github.com/prometheus/node_exporter)
+ O [Ubuntu](https://help.ubuntu.com/) é um sistema operacional de código aberto baseado em Linux, projetado para servidores corporativos, desktops, ambientes de nuvem e IoT.

**Repositório de código**

O código desse padrão está disponível no GitHub [pcluster-monitoring-dashboard](https://github.com/aws-samples/parallelcluster-monitoring-dashboard)repositório.

## Épicos
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-epics"></a>

### Crie os recursos necessários
<a name="create-the-required-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um bucket do S3. | Crie um bucket do Amazon S3. Você usa esse bucket para armazenar os scripts de configuração. Para obter instruções, consulte [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) na documentação do Amazon S3. | AWS geral | 
| Clonar o repositório. | Clone o GitHub [pcluster-monitoring-dashboard](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring)repositório executando o comando a seguir.<pre>git clone https://github.com/aws-samples/parallelcluster-monitoring-dashboard.git</pre> | DevOps engenheiro | 
| Crie uma senha de administrador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Fazer scripts de shell Linux  | 
| Copie os arquivos necessários para o bucket do S3. | Copie o script [post\$1install.sh](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/post_install.sh) e a [aws-parallelcluster-monitoring](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring)pasta no bucket do S3 que você criou. Para obter instruções, consulte [Fazer uploads de objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) na documentação do Amazon S3. | AWS geral | 
| Configure um grupo de segurança adicional para o nó principal. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador da AWS | 
| Configure uma política do IAM para o nó principal. | Crie uma política do baseada em identidade para o nó principal. Essa política permite que o nó recupere dados métricos da Amazon CloudWatch. O GitHub repositório contém um exemplo de [política](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/head_node.json). Para obter instruções, consulte [Criar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) na documentação do AWS Identity and Access Management (IAM). | Administrador da AWS | 
| Configure uma política do IAM para os nós de computação. | Crie uma política do baseada em identidade para os nós de computação. Essa política permite que o nó crie as tags que contêm o ID do trabalho e o proprietário do trabalho. O GitHub repositório contém um exemplo de [política](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/compute_node.json). Para obter instruções, consulte [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) na documentação do IAM.Se usar o arquivo de exemplo fornecido, substitua os seguintes valores:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador da AWS | 

### Criar um cluster
<a name="create-the-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Modifique o arquivo de modelo de cluster fornecido. | Crie o ParallelCluster cluster da AWS. Use o arquivo de modelo [cluster.yaml](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/cluster.yaml) CloudFormation AWS fornecido como ponto de partida para criar o cluster. Substitua os seguintes valores no modelo fornecido:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador da AWS | 
| Crie o cluster. | Na AWS ParallelCluster CLI, insira o seguinte comando. Isso implanta o CloudFormation modelo e cria o cluster. Para obter mais informações sobre esse comando, consulte [pcluster create-cluster na documentação da AWS](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.create-cluster-v3.html). ParallelCluster <pre>pcluster create-cluster -n <cluster_name> -c cluster.yaml</pre> | Administrador da AWS | 
| Monitore a criação do cluster. | Insira o comando a seguir para monitorar a criação do cluster. Para obter mais informações sobre esse comando, consulte [pcluster describe-cluster na documentação da AWS](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.describe-cluster-v3.html). ParallelCluster <pre>pcluster describe-cluster -n <cluster_name></pre> | Administrador da AWS | 

### Usar os painéis do Grafana
<a name="using-the-grafana-dashboards"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Acesso ao portal Grafana. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador da AWS | 

### Limpe a solução para parar de incorrer em custos associados
<a name="clean-up-the-solution-to-stop-incurring-associated-costs"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Excluir o cluster. | Insira o comando a seguir para excluir o cluster. Para obter mais informações sobre esse comando, consulte [pcluster delete-cluster na documentação da AWS](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.delete-cluster-v3.html). ParallelCluster <pre>pcluster delete-cluster -n <cluster_name></pre> | Administrador da AWS | 
| Exclua as políticas do IAM. | Exclua as políticas que você criou para o nó principal e o nó de computação. Para obter mais informações sobre como excluir políticas, consulte [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) na documentação do IAM. | Administrador da AWS | 
| Para excluir a regra e o grupo de segurança | Exclua o grupo de segurança que você criou para o nó principal. Para obter mais informações, consulte [Excluir regras de grupos de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-group-rules) e [Excluir um grupo de segurança](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-groups) na documentação do Amazon VPC. | Administrador da AWS | 
| Exclua o bucket do S3. | Exclua o bucket do S3 que você criou para armazenar os scripts de configuração. Para obter mais informações, consulte [Excluir um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) na documentação do Amazon S3 | AWS geral | 

## Solução de problemas
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| O nó principal não está acessível no navegador. | Verifique o grupo de segurança e confirme se a porta de entrada 443 está aberta. | 
| Grafana não abre. | No nó principal, verifique o log do contêiner`docker logs Grafana`. | 
| Algumas métricas não têm dados. | No nó principal, verifique os logs de todos os contêineres. | 

## Recursos relacionados
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-resources"></a>

**Documentação da AWS**
+ [Políticas do IAM para a Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html)

**Outros recursos da AWS**
+ [AWS ParallelCluster](https://aws.amazon.com/hpc/parallelcluster/)
+ [Painel de monitoramento para a AWS ParallelCluster](https://aws.amazon.com/blogs/compute/monitoring-dashboard-for-aws-parallelcluster/) (publicação no blog da AWS)

**Outros recursos**
+ [Sistema de monitoramento Prometheus](https://prometheus.io/)
+ [Grafana](https://grafana.com/)

# Mais padrões
<a name="highperformancecomputing-more-patterns-pattern-list"></a>

**Topics**
+ [Implementação de diagnósticos e solução de problemas com base em IA no Kubernetes usando a integração do K8sGPT e do Amazon Bedrock](implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration.md)

# Nuvem híbrida
<a name="hybrid-pattern-list"></a>

**Topics**
+ [Configure um CI/CD pipeline para cargas de trabalho híbridas no Amazon ECS Anywhere usando o AWS CDK e GitLab](set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.md)
+ [Mais padrões](hybrid-more-patterns-pattern-list.md)

# Configure um CI/CD pipeline para cargas de trabalho híbridas no Amazon ECS Anywhere usando o AWS CDK e GitLab
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab"></a>

*Rafael Ortiz, Amazon Web Services*

## Resumo
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-summary"></a>

O Amazon ECS Anywhere é uma extensão do Amazon Elastic Container Service (Amazon ECS). Ele fornece suporte para registrar uma *instância externa*, como um servidor on-premises ou uma máquina virtual (VM), no cluster do Amazon ECS. Esse atributo ajuda a reduzir custos e mitigar operações e orquestrações de contêineres on-premises. Você pode usar o ECS Anywhere para implantar e executar aplicativos de contêiner em ambientes on-premises e na nuvem. Isso elimina a necessidade de sua equipe aprender vários domínios e conjuntos de habilidades ou gerenciar softwares complexos por conta própria.

Esse padrão descreve uma step-by-step abordagem para provisionar um cluster do Amazon ECS com instâncias do Amazon ECS Anywhere usando pilhas do Cloud Development Kit (AWS CDK) da Amazon Web Services (AWS). Em seguida, você usa CodePipeline a AWS para configurar um pipeline de integração e implantação contínuas (CI/CD). Em seguida, você replica seu repositório de GitLab código na AWS CodeCommit e implanta seu aplicativo em contêineres no cluster Amazon ECS.

Esse padrão foi projetado para ajudar aqueles que usam a infraestrutura local para executar aplicativos de contêiner e gerenciar GitLab a base de código do aplicativo. Você pode gerenciar essas workloads usando os serviços de Nuvem AWS, sem perturbar sua infraestrutura on-premises existente.

## Pré-requisitos e limitações
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um aplicativo de contêiner executado na infraestrutura on-premises.
+ Um GitLab repositório onde você gerencia a base de código do seu aplicativo. Para obter mais informações, consulte [Repositório](https://docs.gitlab.com/ee/user/project/repository/) (GitLab).
+ AWS Command Line Interface (AWS CLI), instalada e configurada. Para obter mais informações, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) (Documentação da AWS CLI).
+ AWS CDK Toolkit, instalado e configurado globalmente. Para obter mais informações, consulte [Instalar o AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install) na documentação do AWS CDK Workshop.
+ npm, instalado e configurado para o AWS CDK em. TypeScript Para obter mais informações, consulte [Como baixar e instalar o Node.js e o npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) (documentação do npm).

**Limitações**
+ Para limitações e considerações, consulte [Instâncias externas (Amazon ECS Anywhere)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html#ecs-anywhere-considerations) na documentação do Amazon ECS.

**Versões do produto**
+ AWS CDK Toolkit versão 2.27.0 ou superior
+ npm versão 7.20.3 ou superior
+ Node.js versão 16.6.1 ou superior

## Arquitetura
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-architecture"></a>

**Pilha de tecnologias de destino**
+ AWS CDK
+ AWS CloudFormation
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodePipeline
+ Amazon ECS Anywhere
+ Amazon Elastic Container Registry (Amazon ECR)
+ AWS Identity and Access Management (IAM)
+ AWS Systems Manager
+ GitLab repositório

**Arquitetura de destino**

![\[Diagrama de arquitetura da configuração do cluster e do CI/CD pipeline do Amazon ECS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/b0f35986-a839-4b01-8eb0-4748182ddafc/images/85b8d4d9-3591-4d69-a54b-64aa543498f1.png)


Esse diagrama representa dois fluxos de trabalho principais descritos nesse padrão, provisionando o cluster do Amazon ECS e configurando o CI/CD pipeline que configura e implanta o pipeline, da CI/CD seguinte forma:

1. **Provisionar o cluster do Amazon ECS**

   1. Quando você implanta a primeira pilha de CDK da AWS, ela cria uma CloudFormation pilha na AWS.

   1. Essa CloudFormation pilha provisiona um cluster do Amazon ECS e recursos relacionados da AWS.

   1. Para registrar uma instância externa com um cluster do Amazon ECS, você deve instalar o AWS Systems Manager Agent (SSM Agent) na sua VM e registrar a VM como uma instância gerenciada do AWS Systems Manager. 

   1. Você deve instalar o agente de contêiner do Amazon ECS e o Docker na sua VM para registrá-la como instância externa com o cluster do Amazon ECS.

   1. Quando a instância externa é registrada e configurada com o cluster Amazon ECS, ela pode executar vários contêineres na sua VM, que é registrada como uma instância externa.

   1. O cluster do Amazon ECS está ativo e pode executar as cargas de trabalho do aplicativo por meio de contêineres. A instância de contêiner Amazon ECS Anywhere é executada em um ambiente on-premises, mas está associada ao cluster do Amazon ECS na nuvem.

1. **Configurando e implantando o pipeline CI/CD **

   1. Quando você implanta a segunda pilha de CDK da AWS, ela cria outra CloudFormation pilha na AWS.

   1. Essa CloudFormation pilha provisiona um pipeline CodePipeline e recursos relacionados da AWS.

   1. Você envia e mescla as alterações do código do aplicativo em um repositório local GitLab . 

   1. O GitLab repositório é automaticamente replicado para o CodeCommit repositório.

   1. As atualizações do CodeCommit repositório são CodePipeline iniciadas automaticamente. 

   1. CodePipeline copia o código CodeCommit e cria o aplicativo implantável integrado. CodeBuild

   1. CodePipeline cria uma imagem Docker do ambiente de CodeBuild construção e a envia para o repositório Amazon ECR.

   1. CodePipeline inicia CodeDeploy ações que extraem a imagem do contêiner do repositório Amazon ECR.

   1. CodePipeline implanta a imagem do contêiner no cluster Amazon ECS.

**Automação e escala**

Esse padrão usa o AWS CDK como uma ferramenta de infraestrutura como código (IaC) para configurar e implantar essa arquitetura. O AWS CDK ajuda você a orquestrar os recursos da AWS e configurar o Amazon ECS Anywhere e o pipeline. CI/CD 

## Ferramentas
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-tools"></a>

**Serviços da AWS**
+ O [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar a infraestrutura da Nuvem AWS em código.
+  CodeCommitA [AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) é um serviço de controle de versão que ajuda você a armazenar e gerenciar repositórios Git de forma privada, sem precisar gerenciar seu próprio sistema de controle de origem.
+  CodePipelineA [AWS](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 e automatizar as etapas necessárias para liberar alterações de software continuamente.
+ A [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
+ O [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) é um serviço gerenciado de registro de imagens de contêineres seguro, escalável e confiável.
+ O [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) é um serviço de gerenciamento de contêineres escalável e rápido que facilita a execução, a interrupção e o gerenciamento de contêineres em um cluster. Esse padrão também usa o [Amazon ECS Anywhere](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html), que fornece suporte para registrar um servidor on-premises ou uma VM no cluster do Amazon ECS.

**Outras ferramentas**
+ [O Node.js](https://nodejs.org/en/docs/) é um ambiente de tempo de JavaScript execução orientado a eventos projetado para criar aplicativos de rede escaláveis.
+ O [npm](https://docs.npmjs.com/about-npm) é um registro de software executado em um ambiente Node.js e usado para compartilhar ou emprestar pacotes e gerenciar a implantação de pacotes privados.
+ O [Vagrant](https://developer.hashicorp.com/vagrant/docs) é um utilitário de código aberto para criar e manter ambientes portáteis de desenvolvimento de software virtual. Para fins de demonstração, esse padrão usa o Vagrant para criar uma VM on-premises.

**Repositório de código**

O código desse padrão está disponível no [pipeline de GitHub CI/CD do Amazon ECS Anywhere usando o repositório AWS](https://github.com/aws-samples/amazon-ecs-anywhere-cicd-pipeline-cdk-sample) CDK.

## Práticas recomendadas
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-best-practices"></a>

Considere as seguintes práticas recomendadas ao implantar esse padrão:
+ [Melhores práticas para desenvolver e implantar infraestrutura em nuvem com o AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/best-practices.html)
+ [Melhores práticas para desenvolver aplicativos em nuvem com o AWS CDK](https://aws.amazon.com/blogs/devops/best-practices-for-developing-cloud-applications-with-aws-cdk/) (publicação no blog da AWS)

## Épicos
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-epics"></a>

### Verifique a configuração do AWS CDK
<a name="verify-the-aws-cdk-configuration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique a versão do AWS CDK. | Verifique a versão do AWS CDK Toolkit inserindo o comando a seguir.<pre>cdk --version</pre>Este padrão requer a versão 2.27.0 ou superior. Se você tiver uma versão anterior, siga as instruções na [documentação do AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) para atualizá-la. | DevOps engenheiro | 
| Verificar a versão do npm. | Verifique a versão do npm inserindo o comando a seguir.<pre>npm --version</pre>Este padrão requer a versão 7.20.3 ou superior. Se você tiver uma versão anterior, siga as instruções na [documentação do npm](https://docs.npmjs.com/try-the-latest-stable-version-of-npm) para atualizá-la. | DevOps engenheiro | 
| Configurar credenciais da AWS. | Configure as credenciais da AWS inserindo o comando `aws configure` e seguindo as instruções.<pre>$aws configure<br />AWS Access Key ID [None]: <your-access-key-ID><br />AWS Secret Access Key [None]: <your-secret-access-key><br />Default region name [None]: <your-Region-name><br />Default output format [None]:</pre> | DevOps engenheiro | 

### Faça o bootstrap do ambiente do AWS CDK
<a name="bootstrap-the-aws-cdk-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clone o repositório de códigos do AWS CDK. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps engenheiro | 
| Inicialize o ambiente do . | Implante o CloudFormation modelo na conta e na região da AWS que você deseja usar inserindo o seguinte comando.<pre>cdk bootstrap <account-number>/<Region></pre>Para obter mais informações, consulte [Inicialização](https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html) na documentação do AWS CDK. | DevOps engenheiro | 

### Crie e implante a infraestrutura do Amazon ECS Anywhere
<a name="build-and-deploy-the-infrastructure-for-amazon-ecs-anywhere"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale as dependências do pacote e compile os TypeScript arquivos. | Instale as dependências do pacote e compile os TypeScript arquivos digitando os seguintes comandos.<pre>$cd EcsAnywhereCdk<br />$npm install<br />$npm fund </pre>Esses comandos instalam todos os pacotes do repositório de exemplo. Para obter mais informações, consulte [npm ci](https://docs.npmjs.com/cli/v7/commands/npm-ci) e [npm install](https://docs.npmjs.com/cli/v7/commands/npm-install) na documentação do npm. Se você receber algum erro sobre pacotes ausentes ao inserir esses comandos, consulte a seção [Solução](#set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting) de problemas desse padrão. | DevOps engenheiro | 
| Crie o projeto. | Para compilar o código do projeto, digite o comando a seguir.<pre>npm run build</pre>Para obter mais informações sobre como criar e implantar o projeto, consulte [Seu primeiro aplicativo da AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html#:~:text=the%20third%20parameter.-,Synthesize%20an%20AWS%20CloudFormation%20template,-Synthesize%20an%20AWS) na documentação da AWS CDK. | DevOps engenheiro | 
| Implante a pilha de infraestrutura do Amazon ECS Anywhere. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps engenheiro | 
| Verifique a criação e a saída da pilha. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps engenheiro | 

### Configurar uma VM on-premises
<a name="set-up-an-on-premises-vm"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar a VM. | Crie uma VM Vagrant inserindo o comando `vagrant up` do diretório raiz onde o Vagrantfile está localizado. Para obter mais informações, consulte a [documentação do Vagrant](https://developer.hashicorp.com/vagrant/docs/cli/up). | DevOps engenheiro | 
| Registre sua VM como uma instância externa. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html)Isso configura sua VM como uma instância externa do Amazon ECS Anywhere e registra a instância no cluster do Amazon ECS. Para obter mais informações, consulte [Registro de uma instância externa em um cluster](https://docs.amazonaws.cn/en_us/AmazonECS/latest/developerguide/ecs-anywhere-registration.html) na documentação do Amazon ECS. Se você tiver algum problema, consulte a seção [Solução de problemas](#set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting). | DevOps engenheiro | 
| Verifique o status do Amazon ECS Anywhere e da VM externa. | Para verificar se sua VM está conectada ao ambiente de gerenciamento do Amazon ECS e em execução, use os seguintes comandos.<pre>$aws ssm describe-instance-information<br />$aws ecs list-container-instances --cluster $CLUSTER_NAME</pre> | DevOps engenheiro | 

### Implante o CI/CD pipeline
<a name="deploy-the-ci-cd-pipeline"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma ramificação no CodeCommit repositório. | Crie uma ramificação nomeada `main` no CodeCommit repositório criando o primeiro commit para o repositório. Você pode seguir a documentação da AWS para [criar um commit in CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-commit.html#create-first-commit). O comando a seguir é um exemplo.<pre>aws codecommit put-file \<br />  --repository-name EcsAnywhereRepo \<br />  --branch-name main \<br />  --file-path README.md \<br />  --file-content "Test" \<br />  --name "Dev Ops" \<br />  --email "devops@example.com" \<br />  --commit-message "Adding README."</pre> | DevOps engenheiro | 
| Configure o espelhamento do repositório. | Você pode espelhar um GitLab repositório de e para fontes externas. Você pode selecionar qual repositório serve como fonte. Ramificações, tags e commits são sincronizados automaticamente. Configure um push mirror entre o GitLab repositório que hospeda seu aplicativo e o CodeCommit repositório. Para obter instruções, consulte [Configurar um espelho de pressão de GitLab para CodeCommit](https://docs.gitlab.com/ee/user/project/repository/mirror/push.html#set-up-a-push-mirror-from-gitlab-to-aws-codecommit) (GitLab documentação).Por padrão, o espelhamento sincroniza automaticamente o repositório. Se você quiser atualizar manualmente os repositórios, consulte [Atualizar um espelho](https://docs.gitlab.com/ee/user/project/repository/mirror/#update-a-mirror) (GitLab documentação). | DevOps engenheiro | 
| Implante a pilha de CI/CD tubulações. | Implemente a pilha do `EcsAnywherePipelineStack` inserindo os comandos abaixo.<pre>$cdk  deploy EcsAnywherePipelineStack</pre> | DevOps engenheiro | 
| Teste o CI/CD pipeline. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps engenheiro | 

### Limpeza
<a name="clean-up"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpe e exclua os recursos. | Depois de percorrer esse padrão, você deve remover os proof-of-concept recursos que criou. Para limpar, insira os comandos a seguir.<pre>$cdk destroy EcsAnywherePipelineStack<br />$cdk destroy EcsAnywhereInfraStack</pre> | DevOps engenheiro | 

## Solução de problemas
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Erros sobre pacotes ausentes ao instalar dependências de pacotes. | Insira um dos comandos a seguir para resolver pacotes ausentes.<pre>$npm ci</pre>or<pre>$npm install -g @aws-cdk/<package_name></pre> | 
| Ao executar o comando `aws ssm create-activation` na VM, você receberá o seguinte erro.`An error occurred (ValidationException) when calling the CreateActivation operation: Nonexistent role or missing ssm service principal in trust policy: arn:aws:iam::000000000000:role/EcsAnywhereInstanceRole` | A pilha do `EcsAnywhereInfraStack` não está totalmente implantada e o perfil do IAM necessário para executar esse comando ainda não foi criado. Verifique o status da pilha no CloudFormation console. Use o comando novamente depois que o status muar para `CREATE_COMPLETE`. | 
| Uma verificação de integridade do Amazon ECS retorna `UNHEALTHY` e você vê o seguinte erro na seção **Serviços** do cluster no console do Amazon ECS.`service EcsAnywhereService was unable to place a task because no container instance met all of its requirements. Reason: No Container Instances were found in your cluster.` | Reinicie o agente do Amazon ECS na VM do Vagrant inserindo os comandos a seguir.<pre>$vagrant ssh<br />$sudo systemctl restart ecs<br />$sudo systemctl status ecs</pre> | 

## Recursos relacionados
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-resources"></a>
+ [Página de marketing do Amazon ECS Anywhere](https://aws.amazon.com/ecs/anywhere/)
+ [Documentação do Amazon ECS Anywhere](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html#ecs-anywhere-considerations)
+ [Demonstração do Amazon ECS Anywhere](https://www.youtube.com/watch?v=-eud6yUXsJM) (vídeo)
+ GitHubAmostras de [workshops do Amazon ECS Anywhere](https://github.com/aws-samples/aws-ecs-anywhere-workshop-samples) ()
+ [Espelhamento do repositório (documentação](https://docs.gitlab.com/ee/user/project/repository/mirror/)) GitLab 

# Mais padrões
<a name="hybrid-more-patterns-pattern-list"></a>

**Topics**
+ [Implante aplicativos em contêineres em AWS IoT Greengrass V2 execução como um contêiner Docker](deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.md)
+ [Gerencie aplicativos de contêineres on-premises configurando o Amazon ECS Anywhere com o AWS CDK](manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk.md)
+ [Modifique os cabeçalhos HTTP ao migrar de F5 para um Application Load Balancer na AWS](modify-http-headers-when-you-migrate-from-f5-to-an-application-load-balancer-on-aws.md)
+ [Redefinir a hospedagem de workloads on-premises na Nuvem AWS: lista de verificação de migração](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Use as consultas do BMC Discovery para extrair dados de migração para o planejamento da migração](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)

# Gerenciamento e governança
<a name="governance-pattern-list"></a>

**Topics**
+ [Identifique e alerte quando os recursos do Amazon Data Firehose não estiverem criptografados com uma chave AWS KMS](identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key.md)
+ [Automatize as alocações IPv4 IPAM CIDR do Amazon VPC para novos usando o AFT Contas da AWS](automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.md)
+ [Automatizar a adição ou atualização de entradas de registro do Windows usando o AWS Systems Manager](automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager.md)
+ [Crie automaticamente um RFC no AMS usando Python](automatically-create-an-rfc-in-ams-using-python.md)
+ [Pare e inicie automaticamente uma instância de banco de dados Amazon RDS usando o Windows AWS Systems Manager de manutenção](automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.md)
+ [Centralização da distribuição de pacotes de software no AWS Organizations usando o Terraform](centralize-software-package-distribution-in-aws-organizations-by-using-terraform.md)
+ [Configure o registro em log para aplicativos.NET no Amazon CloudWatch Logs usando NLog](configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.md)
+ [Copie os produtos do AWS Service Catalog em diferentes contas e regiões da AWS](copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.md)
+ [Crie uma matriz RACI ou RASCI para um modelo operacional em nuvem](create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.md)
+ [Crie alarmes para métricas personalizadas usando a detecção de CloudWatch anomalias da Amazon](create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection.md)
+ [Crie um AWS Cloud9 IDE que usa volumes do Amazon EBS com criptografia padrão](create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.md)
+ [Crie CloudWatch painéis da Amazon baseados em tags automaticamente](create-tag-based-amazon-cloudwatch-dashboards-automatically.md)
+ [Documentação do projeto da sua Zona de Pouso da AWS](document-your-aws-landing-zone-design.md)
+ [Melhore o desempenho operacional habilitando o Amazon DevOps Guru em várias regiões e contas da AWS e OUs com o AWS CDK](improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.md)
+ [Governança de conjuntos de permissões para várias contas usando o Account Factory para Terraform](govern-permission-sets-aft.md)
+ [Implementação do Account Factory for Terraform (AFT) usando um pipeline de bootstrap](implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.md)
+ [Gerencie produtos do AWS Service Catalog em várias contas e regiões da AWS](manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions.md)
+ [Monitoramento de clusters Pacemaker no RHEL para SAP por meio dos serviços da AWS](monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.md)
+ [Monitore a atividade do aplicativo usando o CloudWatch Logs Insights](monitor-application-activity-by-using-cloudwatch-logs-insights.md)
+ [Monitore o uso de uma Amazon Machine Image compartilhada em várias Contas da AWS](monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.md)
+ [Ver os detalhes do snapshot do EBS para sua conta ou organização da AWS](view-ebs-snapshot-details-for-your-aws-account-or-organization.md)
+ [Mais padrões](governance-more-patterns-pattern-list.md)

# Identifique e alerte quando os recursos do Amazon Data Firehose não estiverem criptografados com uma chave AWS KMS
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumo
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-summary"></a>

Para fins de conformidade, algumas organizações devem ter a criptografia habilitada nos recursos de entrega de dados, como o Amazon Data Firehose. Esse padrão mostra uma forma de monitorar, detectar e notificar quando os recursos estão fora de conformidade.

Para manter o requisito de criptografia, esse padrão pode ser usado AWS para fornecer monitoramento e detecção automatizados dos recursos de entrega do Amazon Data Firehose que não são criptografados com uma chave AWS Key Management Service (AWS KMS). A solução envia notificações de alerta e pode ser estendida para realizar a correção automática. Essa solução pode ser aplicada a uma conta individual ou a um ambiente de várias contas, como um ambiente que usa um AWS landing zone ou. AWS Control Tower

## Pré-requisitos e limitações
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-prereqs"></a>

**Pré-requisitos **
+ Fluxo de entrega do Amazon Data Firehose
+ Permissões e familiaridade suficientes com CloudFormation o que é usado nessa automação de infraestrutura

**Limitações**
+ A solução não é em tempo real porque usa AWS CloudTrail eventos para detecção e há um atraso entre o momento em que um recurso não criptografado é criado e a notificação é enviada.

## Arquitetura
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-architecture"></a>

**Pilha de tecnologias de destino**

A solução usa tecnologia sem servidor e os seguintes serviços:
+ AWS CloudTrail
+ Amazon CloudWatch
+ AWS Command Line Interface (AWS CLI)
+ AWS Identity and Access Management (IAM)
+ Amazon Data Firehose
+ AWS Lambda
+ Amazon Simple Notiﬁcation Service (Amazon SNS)

**Arquitetura de destino**

![\[Processo para gerar alertas quando os recursos do Data Firehose não estiverem criptografados.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/897ba8cf-d1c2-4149-98e7-09d3d90d13d6/images/d694f718-bd0c-4d14-a2e4-e0ea58dc048e.png)


O diagrama ilustra estas etapas:

1. Um usuário cria ou modifica o Amazon Data Firehose.

1. Um CloudTrail evento é detectado e correspondido.

1. Lambda é invocado.

1. São identificados os recursos que não estão em conformidade.

1. Notificação por e-mail é enviada.

**Automação e escala**

Você pode usar CloudFormation StackSets para aplicar essa solução a várias contas Regiões da AWS ou a várias contas com um único comando.

## Ferramentas
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-tools"></a>
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)é um AWS service (Serviço da AWS) que ajuda você a viabilizar a governança, a conformidade e a auditoria operacional e de risco do seu Conta da AWS. As ações realizadas por um usuário, função ou um AWS service (Serviço da AWS) são registradas como eventos em CloudTrail. Os eventos incluem ações realizadas nas operações Console de gerenciamento da AWS AWS CLI, AWS SDKs, e da API.
+ [A Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) fornece um fluxo quase em tempo real de eventos do sistema que descrevem mudanças nos AWS recursos.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que permite que você interaja Serviços da AWS usando comandos em seu shell de linha de comando. 
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) é um serviço web que ajuda você a controlar com segurança o acesso aos AWS recursos. Com o IAM, você controla quem pode se autenticar (fazer login) e quem tem autorização (permissões) para acessar os recursos. 
+ O [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) é um serviço totalmente gerenciado para entrega de dados de streaming em tempo real. Com o Firehose, não é necessário criar aplicações ou gerenciar recursos. Configure os produtores de dados para enviar dados ao Firehose e ele entregará automaticamente os dados ao destino especificado.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que permite a execução de código sem a necessidade de provisionar ou gerenciar servidores. O Lambda executa o código somente quando necessário e dimensiona automaticamente, desde algumas solicitações por dia até milhares por segundo. Você paga somente pelo tempo de computação que consumir, portanto, não há cobrança quando seu código não estiver em execução. 
+ O [Amazon Simple Notiﬁcation Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) é um serviço gerenciado que fornece entrega de mensagens de publicadores para assinantes (que também são conhecidos como produtores e consumidores).

## Épicos
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-epics"></a>

### Aplicar a criptografia para fins de conformidade
<a name="enforce-encryption-for-compliance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implantar CloudFormation StackSets. | No AWS CLI, use o `firehose-encryption-checker.yaml` modelo (anexado) para criar o conjunto de pilhas executando o comando a seguir.  Forneça um nome do recurso da Amazon (ARN) do tópico do Amazon SNS válido para o parâmetro. A implantação deve criar com sucesso regras de CloudWatch eventos, a função Lambda e uma função do IAM com as permissões necessárias, conforme descrito no modelo.<pre>aws cloudformation create-stack-set    --stack-set-name my-stack-set   --template-body file://firehose-encryption-checker.yaml </pre> | Arquiteto de nuvem, administrador de sistemas | 
| Crie instâncias da pilha. | As pilhas podem ser criadas na Regiões da AWS sua escolha, bem como em uma ou mais contas.  Para criar instâncias de pilhas, execute o comando apresentado a seguir. Substitua o nome da pilha, os números das contas e as regiões pelos seus próprios valores.<pre>aws cloudformation create-stack-instances     --stack-set-name my-stack-set    --accounts 123456789012 223456789012   --regions us-east-1 us-east-2 us-west-1 us-west-2     --operation-preferences FailureToleranceCount=1 </pre> | Arquiteto de nuvem, administrador de sistemas | 

## Recursos relacionados
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-resources"></a>
+ [Trabalhando com CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)
+ [O que é Amazon CloudWatch Events?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)

## Anexos
<a name="attachments-897ba8cf-d1c2-4149-98e7-09d3d90d13d6"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/897ba8cf-d1c2-4149-98e7-09d3d90d13d6/attachments/attachment.zip)

# 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)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>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 AWSUse 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)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.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.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.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.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`.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.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.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.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)

# Automatizar a adição ou atualização de entradas de registro do Windows usando o AWS Systems Manager
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager"></a>

*Appasaheb Bagali, Amazon Web Services*

## Resumo
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-summary"></a>

O AWS Systems Manager é uma ferramenta de gerenciamento remoto para instâncias do Amazon Elastic Compute Cloud (Amazon EC2). O Systems Manager fornece visibilidade e controle sobre sua infraestrutura no Amazon Web Services. Essa ferramenta versátil pode ser usada para corrigir alterações no registro do Windows que são identificadas como vulnerabilidades pelo relatório de verificação de vulnerabilidades de segurança. 

Esse padrão abrange as etapas para manter seguras as EC2 instâncias que executam o sistema operacional Windows, automatizando as alterações no registro recomendadas para a segurança do seu ambiente. O padrão usa o comando de execução para executar um documento de comando. O código está anexado e uma parte dele está incluída na seção *Código*.

## Pré-requisitos e limitações
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-prereqs"></a>
+ Uma conta AWS ativa
+ Permissões para acessar a EC2 instância e o Systems Manager

## Arquitetura
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-architecture"></a>

**Pilha de tecnologias de destino**
+ Uma nuvem privada virtual (VPC) com duas sub-redes e um gateway de conversão de endereços de rede (NAT)
+ Um documento de comando do Systems Manager para adicionar ou atualizar o nome de registro e o valor
+ Systems Manager Run Command para executar o documento de comando nas EC2 instâncias especificadas

**Arquitetura de destino**

![\[Como adicionar ou atualizar automaticamente entradas do registro do Windows com o AWS Systems Manager.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/2ecf680d-9f36-4070-8a19-2af262db7fcc/images/c992bcb0-d894-4aa7-9bb3-3d60c9c79e8d.png)


 

## Ferramentas
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-tools"></a>

**Ferramentas**
+ [Políticas do IAM e perfis](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html): o AWS Identity and Access Management (IAM) é um serviço da web que ajuda você a controlar o acesso aos recursos da AWS com segurança. Com o IAM, você controla quem pode se autenticar (fazer login) e quem tem autorização (permissões) para acessar os recursos.
+ [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html): o Amazon Simple Storage Service (Amazon S3) serve como armazenamento para a internet. Ele foi projetado para facilitar a computação de escala na web para os desenvolvedores. Nesse padrão, um bucket do S3 é usado para armazenar os logs do Systems Manager.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html): o AWS Systems Manager é um serviço da AWS que você pode usar para visualizar e controlar sua infraestrutura na AWS. O Systems Manager ajuda você a manter a segurança e a conformidade verificando suas *instâncias gerenciadas* e gerando relatórios (ou tomando medidas corretivas) sobre quaisquer violações de políticas detectadas.
+ [Documento de comando do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html): os documentos de comando do AWS Systems Manager são usados pelo comando de execução. A maioria dos documentos Command é suportada em todos os sistemas operacionais Linux and Windows aos quais oferecem o Systems Manager.
+ [Comando de execução do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html): o comando de execução do AWS Systems Manager oferece uma maneira de gerenciar a configuração de suas instâncias gerenciadas de forma remota e segura. O Executar comando permite que você automatize tarefas administrativas comuns e execute alterações de configuração ad-hoc em grande escala.

**Código **

Você pode usar o código de exemplo a seguir para adicionar ou atualizar um nome de registro do Microsoft Windows para `Version`, um caminho de registro para `HKCU:\Software\ScriptingGuys\Scripts` e um valor para `2`.

```
#Windows registry path which needs to add/update
$registryPath ='HKCU:\\Software\\ScriptingGuys\\Scripts'
#Windows registry Name  which needs to add/update
$Name = 'Version'
#Windows registry value  which needs to add/update
$value = 2
# Test-Path cmdlet to see if the registry key exists. 
IF(!(Test-Path $registryPath))
        {
           New-Item -Path $registryPath -Force | Out-Null
           New-ItemProperty -Path $registryPath -Name $name -Value     $value ` -PropertyType DWORD -                 Force | Out-        Null 
        } ELSE {
                      New-ItemProperty -Path $registryPath -Name $name -Value $value ` -PropertyType            DWORD        -Force | Out-Null
            }
echo 'Registry Path:'$registryPath
 echo 'Registry Name:'$registryPath
 echo 'Registry Value:'(Get-ItemProperty -Path $registryPath -Name $Name).version
```

O exemplo completo do código JavaScript Object Notation (JSON) do documento de comando do Systems Manager Command está anexado. 

## Épicos
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-epics"></a>

### Configurar uma VPC
<a name="set-up-a-vpc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma VPC. | No Console de Gerenciamento da AWS, crie uma VPC com sub-redes públicas e privadas e um gateway NAT. Para obter mais informações, consulte a [documentação da AWS](https://docs.aws.amazon.com/batch/latest/userguide/create-public-private-vpc.html). | Administrador de nuvem | 
| Criar grupos de segurança. | Certifique-se de que cada grupo de segurança permite o acesso ao Remote Desktop Protocol (RDP) a partir do endereço IP de origem. | Administrador de nuvem | 

### Criar uma política do IAM e um perfil do IAM
<a name="create-an-iam-policy-and-an-iam-role"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma política do IAM. | Crie uma política do IAM que forneça acesso ao Amazon S3 EC2, Amazon e Systems Manager. | Administrador de nuvem | 
| Criar um perfil do IAM. | Crie uma função do IAM e anexe a política do IAM que fornece acesso ao Amazon S3 EC2, Amazon e Systems Manager. | Administrador de nuvem | 

### Execute a automação
<a name="run-the-automation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um documento de comando do Systems Manager. | Crie um documento de comando do Systems Manager que implantará as alterações do registro do Microsoft Windows para adicionar ou atualizar. | Administrador de nuvem | 
| Execute o Executar Comando do Systems Manager. | Execute o comando de execução do Systems Manager, selecionando o documento de comando e as instâncias de destino do Systems Manager. Em seguida, a alteração do registro do Microsoft Windows no documento de comando selecionado é enviada para as instâncias de destino. | Administrador de nuvem | 

## Recursos relacionados
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-resources"></a>
+ [AWS Systems Manager](https://aws.amazon.com/systems-manager/)
+ [Documentos do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html)
+ [Executar comando do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html)

## Anexos
<a name="attachments-2ecf680d-9f36-4070-8a19-2af262db7fcc"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/2ecf680d-9f36-4070-8a19-2af262db7fcc/attachments/attachment.zip)

# Crie automaticamente um RFC no AMS usando Python
<a name="automatically-create-an-rfc-in-ams-using-python"></a>

*Gnanasekaran Kailasam, Amazon Web Services*

## Resumo
<a name="automatically-create-an-rfc-in-ams-using-python-summary"></a>

O AWS Managed Services (AMS) ajuda você a operar sua infraestrutura baseada em nuvem com mais eficiência e segurança, fornecendo gerenciamento contínuo da sua infraestrutura da Amazon Web Services (AWS). Para fazer uma alteração em seu ambiente gerenciado, você precisa criar e enviar uma nova solicitação de alteração (RFC) que inclua uma ID do tipo de alteração (CT) para uma operação ou ação específica.

No entanto, a criação manual de um RFC pode levar cerca de cinco minutos e as equipes da sua organização talvez precisem enviar vários RFCs todos os dias. Esse padrão ajuda você a automatizar o processo de criação de RFC, reduzir o tempo de criação de cada RFC e eliminar erros manuais.   

Esse padrão descreve como usar o código do Python para criar automaticamente a `Stop EC2 instance` RFC que interrompe as instâncias do Amazon Elastic Compute Cloud (Amazon EC2) em sua conta do AMS. Em seguida, você pode aplicar a abordagem desse padrão e a automação do Python a outros tipos de RFC. 

## Pré-requisitos e limitações
<a name="automatically-create-an-rfc-in-ams-using-python-prereqs"></a>

**Pré-requisitos **
+ Uma conta do AMS Advanced. Para obter mais informações sobre isso, consulte [os planos de operações do AMS](https://docs.aws.amazon.com/managedservices/latest/accelerate-guide/what-is-ams-op-plans.html) na documentação do AWS Managed Services.
+ Pelo menos uma instância do EC2 existente na sua conta do AMS.
+ Uma compreensão de como criar e enviar RFCs no AMS.
+ Familiaridade com o Python.

**Limitações**
+ Você só pode usar RFCs para alterações em sua conta do AMS. Sua conta da AWS usa processos diferentes para mudanças semelhantes.

## Arquitetura
<a name="automatically-create-an-rfc-in-ams-using-python-architecture"></a>

**Pilha de tecnologia**
+ AMS
+ AWS Command Line Interface (AWS CLI)
+ AWS SDK para Python (Boto3)
+ Python e seus pacotes necessários (JSON e Boto3)

**Automação e escala**

Esse padrão fornece código de exemplo para automatizar a `Stop EC2 instance` RFC, mas você pode usar o código de amostra e a abordagem desse padrão para outros. RFCs

## Ferramentas
<a name="automatically-create-an-rfc-in-ams-using-python-tools"></a>
+ [AWS Managed Services](https://docs.aws.amazon.com/managedservices/latest/ctexguide/ex-rfc-use-examples.html): o AMS ajuda você a operar sua infraestrutura da AWS com mais eficiência e segurança.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): o AWS Command Line Interface (AWS CLI) é uma ferramenta unificada para gerenciar os serviços da AWS. No AMS, a API de gerenciamento de alterações fornece operações para criar e gerenciar RFCs.
+ [AWS SDK para Python (Boto3)](https://docs.aws.amazon.com/pythonsdk/): o SDK para Python facilita a integração do seu aplicativo, biblioteca ou script do Python aos serviços da AWS.

**Código**

O arquivo `AMS Stop EC2 Instance.zip` (anexado) contém o código Python para criar uma `Stop EC2 instance` RFC. Você também pode configurar esse código para enviar uma única RFC para várias instâncias do EC2.

## Épicos
<a name="automatically-create-an-rfc-in-ams-using-python-epics"></a>

### Opção 1 – Configurar ambiente para macOS ou Linux
<a name="option-1-ndash-set-up-environment-for-macos-or-linux"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
|  Instale e valide o Python.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | Administrador de sistemas AWS | 
|  Instale a AWS CLI.  | Execute o comando `pip install awscli --upgrade –user` para instalar a AWS CLI*. * | Administrador de sistemas AWS | 
|  Instale o Boto3. | Execute o comando `pip install boto3` para instalar o Boto3. | Administrador de sistemas AWS | 
| Instale o JSON.  | Execute o comando `pip install json` para instalar o JSON. | Administrador de sistemas AWS | 
| Configure o AMS CLI.  | Faça login no Console de Gerenciamento da AWS, abra o console do AMS e escolha **Documentação**. Baixe o arquivo .zip que contém a CLI do AMS, descompacte-o e instale-o em sua máquina local.Depois que instalar o AMS CLI, execute o comando `aws amscm help`. A saída fornece informações sobre o processo de gerenciamento de alterações do AMS. | Administrador de sistemas AWS | 

### Opção 2 – Configurar ambiente para Windows
<a name="option-2-ndash-set-up-environment-for-windows"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
|  Instale e valide o Python.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | Administrador de sistemas AWS | 
| Instale a AWS CLI.  | Execute o comando `pip install awscli --upgrade –user` para instalar a AWS CLI.  | Administrador de sistemas AWS | 
|  Instale o Boto3. | Execute o comando `pip install boto3` para instalar o Boto3. | Administrador de sistemas AWS | 
| Instale o JSON.  | Execute o comando `pip install json` para instalar o JSON. | Administrador de sistemas AWS | 
| Configure o AMS CLI.  | Faça login no Console de Gerenciamento da AWS, abra o console do AMS e escolha **Documentação**. Baixe o arquivo .zip que contém a CLI do AMS, descompacte-o e instale-o em sua máquina local.Depois que instalar o AMS CLI, execute o comando `aws amscm help`. A saída fornece informações sobre o processo de gerenciamento de alterações do AMS. | Administrador de sistemas AWS | 

### Extraia o ID do CT e os parâmetros de execução do RFC
<a name="extract-the-ct-id-and-execution-parameters-for-the-rfc"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Extraia o ID do CT, versão e os parâmetros de execução do RFC.  | Cada RFC tem uma ID de CT, versão e parâmetros de execução diferentes. É possível extrair essas informações usando uma das seguintes opções:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html)Para adaptar a automação do Python desse padrão para outra RFCs, substitua o tipo de CT e os valores dos parâmetros no arquivo de código `ams_stop_ec2_instance` Python do `AMS Stop EC2 Instance.zip` arquivo (anexado) pelos que você extraiu. | Administrador de sistemas AWS | 

### Execute a automação do Python
<a name="run-the-python-automation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute a automação do Python. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | Administrador de sistemas AWS | 

## Recursos relacionados
<a name="automatically-create-an-rfc-in-ams-using-python-resources"></a>
+ [Quais são os tipos de mudança?](https://docs.aws.amazon.com/managedservices/latest/ctexguide/understanding-cts.html)
+ [Tutorial de CLI: pilha de duas camadas de alta disponibilidade (Linux/RHEL)](https://docs.aws.amazon.com/managedservices/latest/ctexguide/tut-create-ha-stack.html)

## Anexos
<a name="attachments-2b6c68fd-a27e-4c8b-934d-caec50c196ed"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/2b6c68fd-a27e-4c8b-934d-caec50c196ed/attachments/attachment.zip)

# Pare e inicie automaticamente uma instância de banco de dados Amazon RDS usando o Windows AWS Systems Manager de manutenção
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows"></a>

*Ashita Dsilva, Amazon Web Services*

## Resumo
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-summary"></a>

Esse padrão demonstra como parar e iniciar automaticamente uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) em um cronograma específico (por exemplo, desligar uma instância de banco de dados fora do horário comercial para reduzir custos) usando o Windows de manutenção. AWS Systems Manager Nesse contexto, o Systems Manager é uma solução de baixo custo para cenários de uso típicos.

AWS Systems Manager A automação fornece os `AWS-StartRdsInstance` runbooks para interromper `AWS-StopRdsInstance` e iniciar instâncias de banco de dados do Amazon RDS. Isso significa que você não precisa escrever uma lógica personalizada com AWS Lambda funções ou criar uma regra do Amazon CloudWatch Events.

O Systems Manager oferece duas funcionalidades para agendar tarefas: [Gerenciador de Estados](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-about.html) e [Janelas de Manutenção](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). O Gerenciador de Estados define e mantém a configuração de estado necessária para os recursos da sua conta da Amazon Web Services (AWS) uma única vez ou com base em um cronograma específico. O Maintenance Windows executa tarefas nos recursos da sua conta durante uma janela de tempo específica. Embora você possa usar a abordagem desse padrão com o Gerenciador de Estado ou o Windows de Manutenção, recomendamos que você use o Windows de Manutenção porque ele pode executar uma ou mais tarefas com base na prioridade atribuída e também pode executar AWS Lambda funções e AWS Step Functions tarefas. Para obter mais informações sobre o Gerenciador de Estados e as Janelas de Manutenção, consulte [Selecionar entre o Gerenciador de Estados e as Janelas de Manutenção](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-vs-maintenance-windows.html) na documentação do Systems Manager.

Esse padrão fornece etapas detalhadas para configurar duas janelas de manutenção separadas que usam expressões cron para parar e, em seguida, iniciar uma instância de banco de dados Amazon RDS. 

## Pré-requisitos e limitações
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ Uma instância de banco de dados Amazon RDS existente que você deseja interromper e iniciar em um cronograma específico.
+ Expressões Cron para o cronograma necessário. Por exemplo, a expressão `cron(0 9 ? * MON-FRI *)` executa a tarefa às 9h em todas as segundas, terças, quartas, quintas e sextas-feiras. Para obter mais informações, consulte [Expressões cron e rate para janelas de manutenção](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html#reference-cron-and-rate-expressions-maintenance-window) na documentação do Systems Manager.
+ Familiarize-se com o Systems Manager.
+ Permissões para iniciar e interromper a instância do RDS. Para obter mais informações, consulte a seção [Épicos](#automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-epics).

**Limitações**
+ Uma instância de banco de dados Amazon RDS pode ser interrompida por até sete dias ao mesmo tempo. Depois de sete dias, a instância de banco de dados reinicia automaticamente para garantir que receba todas as atualizações de manutenção necessárias.
+ Não é possível interromper uma instância de banco de dados que tem uma réplica de leitura ou que é uma réplica de leitura.
+ Você não pode interromper uma instância de banco de dados do Amazon RDS para SQL Server em uma configuração multi-AZ.
+ As Service quotas se aplicam ao Maintenance Windows e ao Systems Manager Automation. Para obter mais informações sobre cotas de serviço, consulte [AWS Systems Manager endpoints e cotas na documentação](https://docs.aws.amazon.com/general/latest/gr/ssm.html). Referência geral da AWS  
+ 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 [Serviços da AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte a página [Cotas e endpoints de serviços](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

## Arquitetura
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-architecture"></a>

Os diagramas a seguir mostram o fluxo de trabalho para parar e iniciar uma instância de banco de dados do Amazon RDS automaticamente.

![\[Fluxo de trabalho para interromper e iniciar automaticamente uma instância de banco de dados do Amazon RDS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/45b81621-5674-4bcf-bf7c-75ae6f62524e/images/7d943830-716e-46a3-be44-7e668c3c01ff.png)


 

O fluxo de trabalho consiste nas seguintes etapas:

1. Crie uma janela de manutenção e use expressões cron para definir o cronograma de parada e início para suas instâncias de banco de dados do Amazon RDS.

2. Registre uma tarefa do Systems Manager Automation na janela de manutenção usando o runbook `AWS-StopRdsInstance` ou `AWS-StartRdsInstance`.

3. Registre um destino na janela de manutenção usando um grupo de recursos baseado em tags para suas instâncias de banco de dados do Amazon RDS.

**Pilha de tecnologia**
+ AWS CloudFormation
+ AWS Identity and Access Management (IAM)
+ Amazon RDS
+ Systems Manager

**Automação e escala**

Você pode parar e iniciar várias instâncias de banco de dados Amazon RDS ao mesmo tempo marcando as instâncias de banco de dados do Amazon RDS necessárias, criando um grupo de recursos que inclua todas as instâncias de banco de dados marcadas e registrando esse grupo de recursos como destino para a janela de manutenção.

## Ferramentas
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-tools"></a>
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)é um serviço que ajuda você a modelar e configurar seus AWS recursos.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) é um serviço web que ajuda você a controlar com segurança o acesso aos AWS recursos.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) é um serviço da web que facilita a configuração, a operação e a escalabilidade de um banco de dados relacional na Nuvem AWS.
+ [AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html)ajuda você a organizar AWS recursos em grupos, marcar recursos e gerenciar, monitorar e automatizar tarefas em recursos agrupados.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)é um AWS service (Serviço da AWS) que você pode usar para visualizar e controlar sua infraestrutura AWS. Este padrão usa os seguintes recursos do Systems Manager:
  + [AWS Systems Manager A automação](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) simplifica as tarefas comuns de manutenção e implantação de instâncias do Amazon Elastic Compute Cloud EC2 (Amazon) e outros AWS recursos.
  + [AWS Systems Manager O Windows de manutenção](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) ajuda você a definir um cronograma para quando realizar ações potencialmente disruptivas em suas instâncias.

## Épicos
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-epics"></a>

### Crie e configure um perfil de serviço do IAM para o Systems Manager Automation
<a name="create-and-configure-the-iam-service-role-for-sys-automation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o perfil de serviço do IAM para o Systems Manager Automation. | Faça login no Console de gerenciamento da AWS e crie uma função de serviço para Systems Manager Automation. É possível usar um dos dois métodos a seguir para criar esse perfil de serviço:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)O fluxo de trabalho do Systems Manager Automation invoca o Amazon RDS usando um perfil de serviço para realizar ações de início e término na instância de banco de dados Amazon RDS.O perfil de serviço deve ser configurado com a seguinte [política em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console), que tem permissões para iniciar e interromper a instância de banco de dados Amazon RDS:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "RdsStartStop",<br />            "Effect": "Allow",<br />            "Action": [<br />                "rds:StopDBInstance",<br />                "rds:StartDBInstance"<br />            ],<br />            "Resource": "<RDS_Instance_ARN>"               <br />        },<br />        {<br />            "Sid": "RdsDescribe",<br />            "Effect": "Allow",<br />            "Action": "rds:DescribeDBInstances",<br />            "Resource": "*"<br />        }<br />    ]<br />}</pre>Certifique-se de substituir `<RDS_Instance_ARN>` pelo nome do recurso da Amazon (ARN) da sua instância de banco de dados do Amazon RDS.Se você não tiver familiaridade com o uso de políticas e perfis do IAM, siga as instruções apresentadas na seção *Solution Overview* da publicação do blog [Schedule Amazon RDS stop and start using AWS Systems Manager](https://aws.amazon.com/blogs/database/schedule-amazon-rds-stop-and-start-using-aws-systems-manager/).Certifique-se de registrar o ARN do perfil de serviço. | Administrador da AWS | 

### Ciar um grupo de recursos
<a name="create-a-resource-group"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Marque as instâncias de banco de dados do Amazon RDS | Abra o [console do Amazon RDS](https://console.aws.amazon.com/rds/) e marque as instâncias de banco de dados do Amazon RDS que você deseja adicionar ao grupo de recursos. Uma tag é um metadado atribuído a um AWS recurso e consiste em um par de valores-chave. Recomendamos que você use *Action* como **chave de tag** e *StartStop*como **valor**.Para obter mais informações sobre isso, consulte [Adicionar, listar e remover tags](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#Tagging.HowTo) na documentação do Amazon RDS. | Administrador da AWS | 
| Crie um grupo de recursos para suas instâncias de banco de dados do Amazon RDS marcadas. | Abra o [console do AWS Resource Groups](https://console.aws.amazon.com/resource-groups) e crie um grupo de recursos com base na etiqueta que você criou para suas instâncias de banco de dados do Amazon RDS.Em **Critérios de agrupamento**, certifique-se de escolher **AWS: :RDS:: DBInstance** para o tipo de recurso e, em seguida, forneça o par de valores-chave da tag (por exemplo, “Ação- “). StartStop Isso garante que o serviço verifique apenas as instâncias de banco de dados do Amazon RDS e não outros recursos que tenham essa tag. ** **Certifique-se de registrar o nome do grupo de recursos.Para obter mais informações e etapas detalhadas, consulte [Criar uma consulta baseada em tags e criar um grupo](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-tag-based) na AWS Resource Groups documentação.  | Administrador da AWS | 

### Configure uma janela de manutenção para interromper as instâncias de banco de dados do Amazon RDS
<a name="configure-a-maintenance-window-to-stop-the-rds-db-instances"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma janela de manutenção. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)A tarefa de interromper a instância de banco de dados é executada quase instantaneamente quando iniciada e não ocupa toda a duração da janela de manutenção. Esse padrão fornece os valores mínimos para a **Duração** e **Parar inicialização de tarefas**, pois são os parâmetros necessários para uma janela de manutenção.Para mais informações e etapas detalhadas, consulte [Crie uma janela de manutenção usando o console](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-create-mw.html) na documentação do Systems Manager. | Administrador da AWS | 
| Atribuir um destino a uma janela de manutenção. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)Para mais informações e etapas detalhadas, consulte [Atribua destinos a uma janela de manutenção usando o console](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-assign-targets.html) na documentação do Systems Manager. | Administrador da AWS | 
| Atribuir uma tarefa a uma janela de manutenção. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)** **A opção **Perfil de serviço** define o perfil necessário para que a janela de manutenção execute tarefas. No entanto, essa função não é idêntica ao perfil de serviço que você criou anteriormente para o Systems Manager Automation.Para mais informações e etapas detalhadas, consulte [Atribua tarefas a uma janela de manutenção usando o console](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-assign-tasks.html) na documentação do Systems Manager. | Administrador da AWS | 

### Configure uma janela de manutenção para iniciar as instâncias de banco de dados do Amazon RDS
<a name="configure-a-maintenance-window-to-start-the-rds-db-instances"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure uma janela de manutenção para iniciar as instâncias de banco de dados do Amazon RDS. | Repita as etapas de *Configurar uma manutenção para interromper o épico de instâncias do banco de dados do Amazon RDS* para configurar outra janela de manutenção para iniciar as instâncias de banco de dados do Amazon RDS em um horário programado.É necessário realizar as seguintes alterações ao configurar a janela de manutenção para iniciar as instâncias de banco de dados:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html) | Administrador da AWS | 

## Recursos relacionados
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-resources"></a>
+ [Use documentos do Systems Manager Automation para gerenciar instâncias e cortar custos fora do horário de expediente](https://aws.amazon.com/blogs/mt/systems-manager-automation-documents-manage-instances-cut-costs-off-hours/) (postagem AWS no blog)

# Centralização da distribuição de pacotes de software no AWS Organizations usando o Terraform
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform"></a>

*Pradip Kumar Pandey, Chintamani Aphale, T.V.R.L.Phani Kumar Dadi, Pratap Kumar Nanda, Aarti Rajput e Mayuri Shinde, Amazon Web Services*

## Resumo
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-summary"></a>

As empresas geralmente mantêm várias Contas da AWS que estão espalhadas por várias Regiões da AWS para criar uma forte barreira de isolamento entre as cargas de trabalho. [Para se manterem seguras e em conformidade, suas equipes de administração instalam ferramentas baseadas em agentes [CrowdStrike](https://www.crowdstrike.com/falcon-platform/), como [SentinelOne](https://www.sentinelone.com/platform/), ou [TrendMicro](https://www.trendmicro.com/en_sg/business.html)ferramentas para verificação de segurança, e o [ CloudWatch agente Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html), o [Datadog Agent](https://www.datadoghq.com/) ou agentes para monitoramento. AppDynamics ](https://www.appdynamics.com/product/how-it-works/agents-and-controller) Essas equipes costumam enfrentar dificuldades ao tentar automatizar de forma centralizada o gerenciamento e a distribuição de pacotes de software em todo esse vasto cenário.

O [Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html), uma funcionalidade do [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html), automatiza o processo de empacotamento e de publicação de software em instâncias gerenciadas do Microsoft Windows e do Linux, tanto na nuvem quanto em servidores on-premises, por meio de uma interface única e simplificada. Esse padrão demonstra como você pode usar o Terraform para simplificar ainda mais o processo de gerenciamento da instalação do software e executar scripts em um grande número de instâncias e contas de membros AWS Organizations com o mínimo esforço.

Esta solução é aplicável a instâncias da Amazon, do Linux e do Windows que são gerenciadas pelo Systems Manager.

## Pré-requisitos e limitações
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-prereqs"></a>
+ Um [pacote do Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-create.html) com o software que será instalado
+ [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) versão 0.15.0 ou versões posteriores
+ Instâncias do Amazon Elastic Compute Cloud (Amazon EC2) que são [gerenciadas pelo Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/managed_instances.html) e têm [permissões básicas para acessar o Amazon Simple Storage Service (Amazon](https://repost.aws/knowledge-center/ec2-instance-access-s3-bucket) S3) na conta de destino
+ Uma zona de pouso para sua organização que é configurada usando o [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
+ (Opcional) O [Account Factory for Terraform (AFT)](https://catalog.workshops.aws/control-tower/en-US/customization/aft)

## Arquitetura
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-architecture"></a>

**Detalhes do recurso**

Esse padrão usa o [Account Factory for Terraform (AFT)](https://catalog.workshops.aws/control-tower/en-US/customization/aft) para criar todos os AWS recursos necessários e o pipeline de código para implantar os recursos em uma conta de implantação. O pipeline de código é executado em dois repositórios:
+ A **personalização global** contém código do Terraform que será executado em todas as contas registradas no AFT.
+ As **personalizações da conta** contêm código do Terraform que será executado na conta de implantação.

É possível implantar esta solução sem usar o AFT, executando os comandos do [Terraform](https://developer.hashicorp.com/terraform/intro) na pasta de personalização das contas.

O código do Terraform implanta os seguintes recursos:
+ AWS Identity and Access Management Papel e políticas (IAM)
  + [SystemsManager- AutomationExecutionRole](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-automations-multiple-accounts-regions.html) concede ao usuário permissões para executar automações nas contas de destino.
  + [SystemsManager- AutomationAdministrationRole](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-automations-multiple-accounts-regions.html) concede ao usuário permissões para executar automações em várias contas e unidades organizacionais (OUs).
+ Arquivos compactados e manifest.json para o pacote
  + No Systems Manager, um [pacote](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-create.html) contém, pelo menos, um arquivo .zip de software ou de ativos instaláveis.
  + O manifesto JSON inclui referências aos arquivos de código do seu pacote.
+ Bucket do S3
  + O pacote distribuído, compartilhado por toda a organização, é armazenado de forma segura em um bucket do Amazon S3.
+ AWS Systems Manager documentos (documentos SSM)
  + O `DistributeSoftwarePackage` contém a lógica para distribuir o pacote de software para todas as instâncias de destino nas contas de membros.
  + `AddSoftwarePackageToDistributor`contém a lógica para empacotar os ativos de software instaláveis e adicioná-los à automação, um recurso de AWS Systems Manager.
+ Systems Manager (Gerenciador de sistemas)Associação
  + Uma associação do AWS Systems Manager é usada para implantar a solução.

**Arquitetura e fluxo de trabalho**

![\[Diagrama da arquitetura para centralizar a distribuição de pacotes de software nas AWS Organizations.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/da584449-e12b-4878-a61d-00d8cea3d3d7/images/2718f2c4-f816-4e34-89b8-8182c128e6db.png)


O diagrama ilustra as seguintes etapas:

1. Para executar a solução de uma conta centralizada, você faz o upload dos seus pacotes ou do software junto com as etapas de implantação para um bucket do S3.

1. Seu pacote personalizado ficará disponível na seção [Documentos](https://ap-southeast-2.console.aws.amazon.com/systems-manager/documents?region=ap-southeast-2) da console do Systems Manager, na guia **De minha propriedade**.

1. O Gerenciador de Estados, uma funcionalidade do Systems Manager, cria, agenda e executa uma associação para o pacote em toda a organização. A associação especifica que o pacote de software deve ser instalado e estar em execução em um nó gerenciado antes de ser instalado no nó de destino.

1. A associação orienta o Systems Manager a instalar o pacote no nó de destino.

1. Para qualquer instalação ou alteração subsequente, os usuários podem executar a mesma associação periódica ou manualmente de um único local para realizar implantações entre as contas.

1. Nas contas de membros, o Automation envia comandos de implantação ao Distributor.

1. O Distributor distribui pacotes de software entre as instâncias.

Essa solução usa a conta de gerenciamento interna AWS Organizations, mas você também pode designar uma conta (administrador delegado) para gerenciá-la em nome da organização.

## Ferramentas
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-tools"></a>

**Serviços da AWS**
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados. Esse padrão usa o Amazon S3 para centralizar e armazenar com segurança o pacote distribuído.
+ O [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) ajuda você a gerenciar suas aplicações e infraestrutura em execução na Nuvem AWS. Ele simplifica o gerenciamento de aplicativos e recursos, reduz o tempo para detectar e resolver problemas operacionais e ajuda você a gerenciar seus AWS recursos com segurança em grande escala. Este padrão usa as seguintes funcionalidades do Systems Manager:
  + O [Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) auxilia no empacotamento e na publicação de software em instâncias gerenciadas pelo Systems Manager.
  + [A automação](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) simplifica as tarefas comuns de manutenção, implantação e remediação de muitos AWS serviços.
  + Os [Documentos](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html) realizam ações nas instâncias gerenciadas pelo Systems Manager em toda a organização e nas contas.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)é um serviço de gerenciamento de contas que ajuda você a consolidar várias AWS contas em uma organização que você cria e gerencia centralmente.

**Outras ferramentas**
+ [O Terraform](https://www.terraform.io/) é uma ferramenta de infraestrutura como código (IaC) HashiCorp que ajuda você a criar e gerenciar recursos na nuvem e no local.

**Repositório de código**

As instruções e o código desse padrão estão disponíveis no repositório GitHub [centralizado de distribuição de pacotes](https://github.com/aws-samples/aws-organization-centralised-package-distribution).

## Práticas recomendadas
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-best-practices"></a>
+ Para atribuir etiquetas a uma associação, use a [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ou as [Ferramentas da AWS para PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html). Não há suporte à adição de tags a uma associação usando o console do Systems Manager. Para obter mais informações, consulte [Marcação de recursos do Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/tagging-resources.html) na documentação do Systems Manager.
+ Para executar uma associação usando uma nova versão de um documento compartilhado de outra conta, defina a versão do documento como `default`.
+ Para marcar apenas o nó de destino, use uma chave de etiqueta. Se desejar segmentar os nós com várias chaves de etiqueta, use a opção de grupo de recursos.

## Épicos
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-epics"></a>

### Configuração de arquivos e contas de origem
<a name="configure-source-files-and-accounts"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clonar o repositório. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps engenheiro | 
| Atualize as variáveis globais. | Atualize os parâmetros de entrada apresentados a seguir no arquivo `global-customization/variables.tf`. Essas variáveis se aplicam a todas as contas que são criadas e gerenciadas pelo AFT.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps engenheiro | 
| Atualize as variáveis da conta. | Atualize os parâmetros de entrada apresentados a seguir no arquivo `account-customization/variables.tf`. Essas variáveis se aplicam apenas a contas específicas criadas e gerenciadas pelo AFT.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps engenheiro | 

### Personalização dos parâmetros e dos arquivos de implantação
<a name="customize-parameters-and-deployment-files"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualize os parâmetros de entrada para a associação do Gerenciador de Estados. | Atualize os parâmetros de entrada apresentados a seguir no arquivo `account-customization/association.tf` para definir o estado que você deseja manter em suas instâncias. É possível usar os valores padrão dos parâmetros, caso se adequem ao seu caso de uso.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps engenheiro | 
| Prepare os arquivos compactados e o arquivo `manifest.json` para o pacote. | Esse padrão fornece exemplos de arquivos PowerShell instaláveis (.msi para Windows e .rpm para Linux) com scripts de instalação e desinstalação na pasta. `account-customization/package`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps engenheiro | 

### Executar comandos do Terraform para provisionar recursos
<a name="run-terraform-commands-to-provision-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicialize a configuração do Terraform. | Para implantar a solução automaticamente com o AFT, envie o código para o AWS CodeCommit:<pre>$ git add *<br />$ git commit -m "message"<br />$ git push</pre>É possível implantar esta solução sem usar o AFT, executando o comando do Terraform a partir da pasta `account-customization`. Para inicializar o diretório de trabalho que contém os arquivos do Terraform, execute:<pre>$ terraform init</pre> | DevOps engenheiro | 
| Pré-visualize as alterações. | Para visualizar previamente as alterações que o Terraform fará na infraestrutura, execute o comando:<pre>$ terraform plan</pre>Este comando avalia a configuração do Terraform para determinar o estado desejado dos recursos que foram declarados. O comando também compara o estado desejado com a infraestrutura real a ser provisionada no espaço de trabalho. | DevOps engenheiro | 
| Aplique as alterações. | Execute o seguinte comando para aplicar as alterações que você fez nos arquivos `variables.tf`:<pre>$ terraform apply</pre> | DevOps engenheiro | 

### Validar recursos
<a name="validate-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a criação dos documentos do SSM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html)Você deverá ver os pacotes `DistributeSoftwarePackage` e `AddSoftwarePackageToDistributor`. | DevOps engenheiro | 
| Valide a implantação com êxito das automações. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps engenheiro | 
| Valide se o pacote foi implantado nas instâncias de destino da conta de membro. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps engenheiro | 

## Solução de problemas
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| A associação do Gerenciador de Estados falhou ou está travada no status “pendente”. | Consulte as [informações de solução de problemas](https://repost.aws/knowledge-center/ssm-state-manager-association-fail) no Centro de AWS Conhecimento. | 
| Uma associação agendada falhou ao ser executada. | A especificação do seu agendamento pode ser inválida. No momento, o Gerenciador de Estados não fornece suporte à especificação de meses em expressões cron para associações. Use [expressões rate ou cron](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) para confirmar o agendamento. | 

## Recursos relacionados
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-resources"></a>
+ [Distribuição centralizada de pacotes](https://github.com/aws-samples/aws-organization-centralised-package-distribution) (GitHub repositório)
+ [Account Factory for Terraform (AFT)](https://catalog.workshops.aws/control-tower/en-US/customization/aft)
+ [Casos de uso e melhores práticas](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-best-practices.html) (AWS Systems Manager documentação)

# Configure o registro em log para aplicativos.NET no Amazon CloudWatch Logs usando NLog
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog"></a>

*Bibhuti Sahu e Rob Hill (AWS), Amazon Web Services*

## Resumo
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-summary"></a>

Esse padrão descreve como usar a estrutura de registro de NLog código aberto para registrar o uso e os eventos do aplicativo.NET no [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). No CloudWatch console, você pode ver as mensagens de log do aplicativo quase em tempo real. Você também pode configurar [métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) e configurar [alarmes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html) para notificá-lo se um limite métrico for excedido. Usando o CloudWatch Application Insights, você pode visualizar painéis automatizados ou personalizados que mostram possíveis problemas para os aplicativos monitorados. CloudWatch O Application Insights foi projetado para ajudá-lo a isolar rapidamente os problemas contínuos com seus aplicativos e infraestrutura.

Para gravar mensagens de log em CloudWatch Logs, você adiciona o `AWS.Logger.NLog` NuGet pacote ao projeto.NET. Em seguida, você atualiza o `NLog.config` arquivo para usar o CloudWatch Logs como destino.

## Pré-requisitos e limitações
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um aplicativo web ou de console do.NET que:
  + Usa as versões compatíveis da .NET Framework ou do .NET Core. Para obter mais informações, consulte *Versões de produto*.
  + Usa NLog para enviar dados de log para o Application Insights.
+ Permissões para criar um perfil do IAM para um serviço da AWS. Para obter mais informações, consulte [Permissões de perfil de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#id_roles_create_service-permissions).
+ Permissões para transmitir um perfil para um serviço da AWS. Para obter mais informações, consulte [Conceder a um usuário permissões para transmitir uma função a um produto da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).

**Versões do produto**
+ .NET Framework versão 3.5 ou superior.
+ .NET Core versões 1.0.1, 2.0.0 ou superior

## Arquitetura
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-architecture"></a>

**Pilha de tecnologias de destino**
+ NLog
+  CloudWatch Registros da Amazon

**Arquitetura de destino**

![\[Diagrama de arquitetura de NLog gravação de dados de log para um aplicativo.NET no Amazon ClodWatch Logs.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/0ac9c3ad-2a28-415f-afc3-7fe3494b2b63/images/daea9f2f-7242-4ed2-843e-655d843dcfdf.png)


1. O aplicativo.NET grava dados de NLog log na estrutura de registro.

1. NLog grava os dados de registro em CloudWatch Logs.

1. Você usa CloudWatch alarmes e painéis personalizados para monitorar o aplicativo.NET.

## Ferramentas
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-tools"></a>

**Serviços da AWS**
+ [O Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) ajuda você a observar a saúde de seus aplicativos e dos recursos subjacentes da AWS.
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas, aplicativos e serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ As [ferramentas da AWS para PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html) são um conjunto de PowerShell módulos que ajudam você a criar scripts de operações em seus recursos da AWS a partir da linha de PowerShell comando.

**Outras ferramentas**
+ [Lenhador. NLog](https://www.nuget.org/packages/AWS.Logger.NLog)é um NLog destino que registra dados de registro no CloudWatch Logs.
+ [NLog](https://nlog-project.org/)é uma estrutura de registro de código aberto para plataformas do.NET que ajuda você a gravar dados de log em destinos, como bancos de dados, arquivos de log ou consoles.
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)é um programa de gerenciamento de automação e configuração da Microsoft executado em Windows, Linux e macOS.
+ O [Visual Studio](https://docs.microsoft.com/en-us/visualstudio/get-started/visual-studio-ide?view=vs-2022) é um ambiente de desenvolvimento integrado (IDE) que inclui compiladores, ferramentas de preenchimento de código, designers gráficos e outros atributos compatíveis com o desenvolvimento de software.

## Práticas recomendadas
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-best-practices"></a>
+ Defina uma [política de retenção](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention) para o grupo de logs de destino. Isso deve ser feito fora da NLog configuração. Por padrão, os dados de registro são armazenados em CloudWatch Registros indefinidamente.
+ Siga as [Práticas recomendadas de gerenciamento de chaves de acesso da AWS](https://docs.aws.amazon.com/accounts/latest/reference/credentials-access-keys-best-practices.html).

## Épicos
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-epics"></a>

### Configurar o acesso e ferramentas
<a name="set-up-access-and-tools"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma política do IAM. | Siga as instruções em [Como criar políticas usando o editor JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor) na documentação do IAM. Insira a política JSON a seguir, que tem as permissões de privilégios mínimos necessárias para permitir que os registros leiam e gravem CloudWatch registros.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "logs:CreateLogGroup",<br />                "logs:CreateLogStream",<br />                "logs:GetLogEvents",<br />                "logs:PutLogEvents",<br />                "logs:DescribeLogGroups",<br />                "logs:DescribeLogStreams",<br />                "logs:PutRetentionPolicy"<br />            ],<br />            "Resource": [<br />                "*"<br />            ]<br />        }<br />    ]<br />}</pre> | Administrador da AWS, AWS DevOps | 
| Criar um perfil do IAM. | Para obter instruções, consulte [Criar um perfil para delegar permissões a um serviço da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) na documentação do IAM. Selecione a política que você criou anteriormente. Essa é a função que CloudWatch Logs assume para realizar ações de registro. | Administrador da AWS, AWS DevOps | 
| Configure o AWS Tools para PowerShell. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.html) | AWS geral | 

### Configure NLog
<a name="configure-nlog"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o NuGet pacote. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.html) | Desenvolvedor de aplicativos | 
| Configurar o destino de registro em log. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.html)Para obter um exemplo de arquivo de configuração, consulte a seção [Informações adicionais](#configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-additional) deste padrão. Quando você executar seu aplicativo, NLog gravará as mensagens de log e as enviará para o CloudWatch Logs. | Desenvolvedor de aplicativos | 

### Validar e monitorar logs
<a name="validate-and-monitor-logs"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Validar o registro em log. | Siga as instruções em [Exibir dados de registro enviados para CloudWatch Registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) na documentação de CloudWatch Registros. Valide se os eventos de logs estão sendo registrados para o aplicativo.NET. Se os eventos de log não estiverem sendo registrados, consulte a seção [Solução de problemas](#configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-troubleshooting) nesse padrão. | AWS geral | 
| Monitore a pilha de aplicativos .NET. | Configure o monitoramento CloudWatch conforme necessário para seu caso de uso. Você pode usar o [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html), o [CloudWatch Metrics Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html) e o [CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) para monitorar sua carga de trabalho.NET. Você também pode configurar [alarmes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) para receber alertas e criar um [painel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) personalizado para monitorar a workload a partir de uma única visualização. | AWS geral | 

## Solução de problemas
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Os dados do registro não aparecem nos CloudWatch registros. | Certifique-se de que a política do IAM esteja vinculada à função do IAM que o CloudWatch Logs assume. Para obter instruções, consulte a seção *Configurar acesso e ferramentas* na seção [Épicos](#configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-epics). | 

## Recursos relacionados
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-resources"></a>
+ [Trabalhando com grupos de registros e fluxos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) de CloudWatch registros (documentação de registros)
+ [Amazon CloudWatch Logs e .NET Logging Frameworks](https://aws.amazon.com/blogs/developer/amazon-cloudwatch-logs-and-net-logging-frameworks/) (publicação no blog da AWS)

## Mais informações
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-additional"></a>

Veja a seguir um exemplo de arquivo `NLog.config`.

```
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
  </startup>
  <nlog>
    <extensions>
      <add assembly="NLog.AWS.Logger" />
    </extensions>
    <targets>
      <target name="aws" type="AWSTarget" logGroup="NLog.TestGroup" region="us-east-1" profile="demo"/>
    </targets>
    <rules>
      <logger name="*" minlevel="Info" writeTo="aws" />
    </rules>    
  </nlog>
</configuration>
```

# Copie os produtos do AWS Service Catalog em diferentes contas e regiões da AWS
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions"></a>

*Sachin Vighe e Santosh Kale, Amazon Web Services*

## Resumo
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-summary"></a>

O AWS Service Catalog é um serviço regional e isso significa que os [portfólios e produtos](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html) do AWS Service Catalog só são visíveis na região da AWS em que foram criados. Se você configurar um [hub do AWS Service Catalog](https://aws.amazon.com/about-aws/whats-new/2020/06/aws-service-catalog-now-supports-sharing-portfolios-across-an-organization-from-a-delegated-member-account/) em uma nova região, deverá recriar seus produtos existentes e isso pode ser um processo demorado.

A abordagem desse padrão ajuda a simplificar esse processo, descrevendo como copiar produtos de um hub do AWS Service Catalog em uma conta ou região da AWS de origem para um novo hub em uma conta ou região de destino. Para obter mais informações sobre o modelo hub e spoke do AWS Service Catalog, consulte o modelo [hub and spoke do AWS Service Catalog: Como automatizar a implantação e o gerenciamento do AWS Service Catalog em várias contas](https://aws.amazon.com/blogs/mt/aws-service-catalog-hub-and-spoke-model-how-to-automate-the-deployment-and-management-of-service-catalog-to-many-accounts/) no blog de gerenciamento e governança da AWS. 

O padrão também fornece os pacotes de códigos separados necessários para copiar os produtos do AWS Service Catalog entre contas ou para outras regiões. Ao usar esse padrão, sua organização pode economizar tempo, disponibilizar versões de produtos existentes e anteriores em um novo hub do AWS Service Catalog, minimizar o risco de erros manuais e escalar a abordagem em várias contas ou regiões.

**nota**  
A seção *Épicos* deste padrão oferece duas opções para copiar produtos. Você pode usar a Opção 1 para copiar produtos entre contas ou escolher a Opção 2 para copiar produtos entre regiões.

## Pré-requisitos e limitações
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Produtos existentes do AWS Service Catalog em uma conta ou região de origem.
+ Um hub existente do AWS Service Catalog em uma conta ou região de destino.
+ Se quiser copiar produtos entre contas, você deve compartilhar e depois importar o portfólio do AWS Service Catalog contendo os produtos em sua conta de destino. Para obter mais informações sobre isso, consulte [Compartilhamento e importação de portfólios](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing.html) na documentação do AWS Service Catalog.

**Limitações**
+ Os produtos do AWS Service Catalog que você deseja copiar entre regiões ou contas não podem pertencer a mais de um portfólio.

## Arquitetura
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-architecture"></a>

O diagrama a seguir mostra a cópia dos produtos do AWS Service Catalog de uma conta de origem para uma conta de destino.

![\[Um perfil entre contas na Região 1, um perfil de execução do Lambda e uma função do Lambda na Região 2.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/26738220-1ed2-4f84-911b-3c88e954b60e.png)


 O diagrama a seguir mostra a cópia dos produtos do AWS Service Catalog de uma região de origem para uma região de destino.

![\[Produtos copiados usando a função scProductCopy Lambda na Região 2.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/0a936792-3bdc-45c2-ba05-17e828615061.png)


**Pilha de tecnologia**
+ Amazon CloudWatch
+ AWS Identity and Access Management (IAM)
+ AWS Lambda
+ AWS Service Catalog

**Automação e escala**

Você pode escalar a abordagem desse padrão usando uma função do Lambda que pode ser escalada dependendo do número de solicitações recebidas ou de quantos produtos do AWS Service Catalog você precisa copiar. Para obter mais informações sobre isso, consulte [Escalabilidade da função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) na documentação do AWS Lambda.

## Ferramentas
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-tools"></a>
+ A [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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 Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que ajuda você 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.
+ O [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) ajuda você a gerenciar de modo centralizado os catálogos de serviços de TI aprovados para a 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.

**Código **

Você pode usar o pacote ` cross-account-copy` (anexado) para copiar produtos do AWS Service Catalog entre contas ou o pacote `cross-region-copy` (anexado) para copiar produtos entre regiões.

O pacote `cross-account-copy` contém os seguintes arquivos:
+ `copyconf.properties`: o arquivo de configuração que contém os parâmetros de ID de conta da região e da AWS para copiar produtos entre contas.
+ `scProductCopyLambda.py`: a função Python para copiar produtos entre contas.
+ `createDestAccountRole.sh`: o script para criar um perfil do IAM na conta de destino.
+ `createSrcAccountRole.sh`: o script para criar um perfil do IAM na conta de origem.
+ `copyProduct.sh`: o script para criar e invocar a função do Lambda para copiar produtos entre contas.

O pacote `cross-region-copy` contém os seguintes arquivos:
+ `copyconf.properties`: o arquivo de configuração que contém os parâmetros de ID de conta da região e da AWS para copiar produtos entre regiões.
+ `scProductCopyLambda.py`: a função Python para copiar produtos entre regiões.
+ `copyProduct.sh`: o script para criar um perfil do IAM e criar e invocar a função do Lambda para copiar produtos entre regiões.

## Épicos
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-epics"></a>

### Opção 1 – Copiar os produtos do AWS Service Catalog entre contas
<a name="option-1-ndash-copy-aws-service-catalog-products-across-accounts"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualizar o arquivo de configuração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 
| Configure suas credenciais para a AWS CLI na conta de destino. | Configure suas credenciais para acessar a AWS CLI em sua conta de destino executando o comando `aws configure` e fornecendo os seguintes valores:<pre>$aws configure <br />AWS Access Key ID [None]: <your_access_key_id> <br />AWS Secret Access Key [None]: <your_secret_access_key> <br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obter mais informações sobre isso, consulte [Princípios básicos](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) da configuração na documentação da interface da linha de comando da AWS.  | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 
| Configure suas credenciais para a AWS CLI na conta de origem. | Configure suas credenciais para acessar a AWS CLI em sua conta de origem executando o comando `aws configure` e fornecendo os seguintes valores: <pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obter mais informações sobre isso, consulte [Princípios básicos](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) da configuração na documentação da interface da linha de comando da AWS.  | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 
| Crie uma função de execução do Lambda na sua conta de destino. | Execute o script `createDestAccountRole.sh ` na sua conta de destino. O script implementa as seguintes ações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 
| Crie o perfil do IAM entre contas na sua conta de origem. | Execute o script `createSrcAccountRole.sh ` na sua conta de origem. O script implementa as seguintes ações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 
| Execute o script copyProduct na sua conta de destino. | Execute o script `copyProduct.sh ` na sua conta de destino. O script implementa as seguintes ações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 

### Opção 2 – Copiar produtos do AWS Service Catalog de uma região de origem para uma região de destino
<a name="option-2-ndash-copy-aws-service-catalog-products-from-a-source-region-to-a-destination-region"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualizar o arquivo de configuração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de sistemas da AWS, administrador da nuvem, administrador da AWS | 
| Configurar as suas credenciais para a CLI da AWS | Configure suas credenciais para acessar a CLI da AWS em seu ambiente executando o comando `aws configure` e fornecendo os seguintes valores:<pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obter mais informações sobre isso, consulte [Princípios básicos](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) da configuração na documentação da interface da linha de comando da AWS.  | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 
| Execute o script CopyProduct. | Execute o script `copyProduct.sh` na sua região de destino. O script implementa as seguintes ações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador da AWS, administrador de sistemas da AWS, administrador da nuvem | 

## Recursos relacionados
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-resources"></a>
+ [Criar uma função de execução do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) (documentação do AWS Lambda)
+ [Criar uma função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html) (documentação do AWS Lambda)
+ [Referência da API do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_Operations_AWS_Service_Catalog.html)
+ [Documentação do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html)

## Anexos
<a name="attachments-7ede5d17-89eb-4455-928f-6953d145ac9f"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/7ede5d17-89eb-4455-928f-6953d145ac9f/attachments/attachment.zip)

# Crie uma matriz RACI ou RASCI para um modelo operacional em nuvem
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model"></a>

*Teddy Germade, Jerome Descreux, Florian Leroux e Josselin LE MINEUR, Amazon Web Services*

## Resumo
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model-summary"></a>

O Cloud Center of Excellence (CCoE) ou CEE (Cloud Enablement Engine) é uma equipe capacitada e responsável, focada na prontidão operacional para a nuvem. Seu foco principal é transformar a organização de TI da informação de um modelo operacional on-premises para um modelo operacional em nuvem. O CCo E deve ser uma equipe multifuncional que inclua representação de infraestrutura, aplicativos, operações e segurança.

Um dos principais componentes de um modelo operacional em nuvem é uma *matriz RACI* ou *matrix RASCI*. Isso é usado para definir as funções e responsabilidades de todas as partes envolvidas nas atividades de migração e nas operações de nuvem. O nome da matriz é derivado dos tipos de responsabilidade definidos na matriz: responsável (R), responsável (A), suporte (S), consultado (C) e informado (I). O tipo de suporte é opcional. Se você a incluir, ela é chamada de *matriz RASCI* e, se você a excluir, é chamada de *matriz RACI*.

Começando com o modelo em anexo, sua equipe CCo E pode criar uma matriz RACI ou RASCI para sua organização. O modelo contém equipes, funções e tarefas que são comuns nos modelos operacionais de nuvem. A base dessa matriz são as tarefas relacionadas à integração de operações e aos recursos CCo E. No entanto, você pode personalizar esse modelo para atender às necessidades da estrutura e do caso de uso da sua organização.

Não há limites para a implementação de uma matriz RACI. Essa abordagem funciona para grandes organizações, startups e tudo mais. Para organizações pequenas, o mesmo recurso pode preencher várias funções.

## Épicos
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model-epics"></a>

### Crie a matriz
<a name="create-the-matrix"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique as principais partes interessadas. | Identifique os principais gerentes de serviço e equipe vinculados aos objetivos estratégicos do seu modelo operacional de nuvem. | Gerente de projetos | 
| Personalize o modelo de matriz. | Faça o download do modelo na seção [Anexos](#attachments-b3df3d2c-c596-4736-bbaa-8edbcf335352) e, em seguida, atualize a matriz RACI ou RASCI da seguinte forma:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.html) | Gerente de projetos | 
| Planeje reuniões. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.html) | Gerente de projetos | 
| Conclua a matriz. | Na reunião com todas as partes interessadas, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.html) | Gerente de projetos | 
| Compartilhe a matriz RASCI. | Quando a matriz RACI ou RASCI estiver completa, faça com que ela seja aprovada pela liderança. Salve-a em um repositório compartilhado ou em um local central onde todas as partes interessadas possam acessá-la. Recomendamos que você use processos padrão de controle de documentos para registrar e aprovar revisões na matriz. | Gerente de projetos | 

## Recursos relacionados
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model-resources"></a>
+ [Modelo de Responsabilidade Compartilhada da AWS](https://aws.amazon.com/compliance/shared-responsibility-model/)

## Anexos
<a name="attachments-b3df3d2c-c596-4736-bbaa-8edbcf335352"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/b3df3d2c-c596-4736-bbaa-8edbcf335352/attachments/attachment.zip)

# Crie alarmes para métricas personalizadas usando a detecção de CloudWatch anomalias da Amazon
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection"></a>

*Ram Kandaswamy e Raheem Jiwani, Amazon Web Services*

## Resumo
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-summary"></a>

Na nuvem da Amazon Web Services (AWS), você pode usar CloudWatch a Amazon para criar alarmes que monitoram métricas e enviam notificações ou fazem alterações automaticamente se um limite for violado.

Para evitar ser limitado por [limites estáticos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html), você pode criar alarmes com base em padrões anteriores e notificá-lo se métricas específicas estiverem fora da janela operacional normal. Por exemplo, você pode monitorar os tempos de resposta da sua API a partir do Amazon API Gateway e receber notificações sobre anomalias que impedem que você cumpra um Acordo de Serviço (SLA).

Esse padrão descreve como usar a detecção de CloudWatch anomalias para métricas personalizadas. O padrão mostra como criar uma métrica personalizada no Amazon CloudWatch Logs Insights ou publicar uma métrica personalizada com uma função do AWS Lambda e, em seguida, configurar a detecção de anomalias e criar notificações usando o Amazon Simple Notification Service (Amazon SNS).

## Pré-requisitos e limitações
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Um tópico do SNS existente, configurado para enviar notificações por e-mail. Para obter mais informações sobre isso, consulte [Conceitos básicos do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html) na documentação do Amazon SNS.
+ Um aplicativo existente, configurado com o [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_GettingStarted.html).

**Limitações**
+ CloudWatch as métricas não oferecem suporte a intervalos de tempo de milissegundos. [Para obter mais informações sobre a granularidade de métricas regulares e personalizadas, consulte a Amazon. CloudWatch FAQs](https://aws.amazon.com/cloudwatch/faqs/)

## Arquitetura
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-architecture"></a>

![\[CloudWatch usando um tópico do Amazon SNS para enviar uma notificação por e-mail quando um alarme é iniciado.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/d47e6f7f-e469-4cb9-b34b-8c4b78d71820/images/49f30340-9552-430a-893a-d0608bb09e38.png)


 O diagrama mostra o seguinte fluxo de trabalho:

1. Os registros que usam métricas criadas e atualizadas pelo CloudWatch Logs são transmitidos para CloudWatch.

1. Um alarme é iniciado com base nos limites e envia um alerta para um tópico do SNS.

1. O Amazon SNS lhe enviará uma notificação por e-mail.

**Pilha de tecnologia**
+ CloudWatch
+ AWS Lambda
+ Amazon SNS

## Ferramentas
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-tools"></a>
+  CloudWatchA [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) fornece uma solução de monitoramento confiável, escalável e flexível.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que permite executar código sem a necessidade de provisionar ou gerenciar servidores. 
+ O [Amazon Simple Notiﬁcation Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) é um serviço gerenciado que fornece entrega de mensagens de publicadores para assinantes.

## Épicos
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-epics"></a>

### Configurar detecção de anomalias para uma métrica personalizada
<a name="set-up-anomaly-detection-for-a-custom-metric"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Opção 1 - Crie uma métrica personalizada com uma função do Lambda. | Faça o download do `lambda_function.py` arquivo (anexado) e, em seguida, substitua o `lambda_function.py` arquivo de amostra no [aws-lambda-developer-guide](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-python/function)repositório na documentação GitHub da AWS. Isso fornece um exemplo de função Lambda que envia métricas personalizadas para CloudWatch o Logs. A função Lambda usa a API Boto3 para integração com o. CloudWatch Depois de executar a função Lambda, você pode entrar no AWS Management Console, abrir o CloudWatch console e a métrica publicada estará disponível em seu namespace publicado. | DevOps engenheiro, AWS DevOps | 
| Opção 2 — Crie métricas personalizadas a partir de grupos de CloudWatch registros.  | Faça login no AWS Management Console, abra o CloudWatch console e escolha **Log groups**. Escolha o grupo de logs para o qual você deseja criar uma métrica. Escolha **Actions** (Ações) e escolha **Create metric filter** (Criar filtro de métrica). Em **Filter pattern** (Padrão de filtro), insira o padrão de filtro que deseja usar. Para obter mais informações, consulte [Sintaxe de filtros e padrões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) na CloudWatch documentação. Para testar seu padrão de filtro, insira um ou mais eventos de logs em **Test Pattern** (Testar padrão). Cada evento de log deve estar dentro de uma linha, porque as quebras de linha são usadas para separar eventos de log na caixa **Log event messages** (Mensagens do evento de log). Depois de testar o padrão, você pode inserir um nome e um valor para sua métrica em **Detalhes da métrica**. Para obter mais informações e etapas para criar uma métrica personalizada, consulte [Criar um filtro de métrica para um grupo de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CreateMetricFilterProcedure.html) na CloudWatch documentação. | DevOps engenheiro, AWS DevOps | 
| Crie um alarme para sua métrica personalizada. | No CloudWatch console, escolha **Alarmes** e, em seguida, escolha **Criar alarme**. Escolha **Selecionar métrica** e insira o nome da métrica que você criou anteriormente na caixa de pesquisa. Escolha a guia **Métricas em gráficos** e configure as opções de acordo com seus requisitos.Em **Condições**, escolha **Detecção de anomalias** em vez de **Limites estáticos**. Isso mostra uma banda com base em dois desvios padrão. É possível definir limites e ajustá-los de acordo com seus requisitos.Escolha **Próximo**.A banda é dinâmica e depende da qualidade dos pontos de dados. Quando você começa a agregar mais dados, a faixa e os limites são atualizados automaticamente.  | DevOps engenheiro, AWS DevOps | 
| Configure notificações do SNS. | Em **Notification** (Notificação), escolha um tópico do SNS para notificar quando o alarme estiver no estado `ALARM`, `OK` ou `INSUFFICIENT_DATA`.Para que o alarme envie várias notificações para o mesmo estado de alarme ou para diferentes estados de alarme, escolha **Add notification (Adicionar notificação)**. Escolha **Próximo**. Digite um nome e uma descrição para o alarme. O nome deve conter somente caracteres ASCII. Escolha **Próximo**.Em **Preview and create (Previsualizar e criar)**, confirme se as informações e condições estão corretas e escolha **Create alarm (Criar alarme)**. | DevOps engenheiro, AWS DevOps | 

## Recursos relacionados
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-resources"></a>
+ [Publicação de métricas personalizadas em CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
+ [Usando a detecção de CloudWatch anomalias](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html)
+ [Eventos de alarme e Amazon EventBridge](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-and-eventbridge.html)
+ [Quais são as práticas recomendadas a serem seguidas ao enviar métricas personalizadas para o Cloud Watch?](https://www.youtube.com/watch?v=mVffHIzIL60) (vídeo)
+ [Introdução ao CloudWatch Application Insights](https://www.youtube.com/watch?v=PBO636_t9n0) (vídeo)
+ [Detecte anomalias com CloudWatch (vídeo](https://www.youtube.com/watch?v=8umIX-pUy3k))

## Anexos
<a name="attachments-d47e6f7f-e469-4cb9-b34b-8c4b78d71820"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/d47e6f7f-e469-4cb9-b34b-8c4b78d71820/attachments/attachment.zip)

# Crie um AWS Cloud9 IDE que usa volumes do Amazon EBS com criptografia padrão
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption"></a>

*Janardhan Malyala e Dhrubajyoti Mukherjee, Amazon Web Services*

## Resumo
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-summary"></a>

**Aviso**: não AWS Cloud9 está mais disponível para novos clientes. Os clientes existentes do AWS Cloud9 podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

É possível usar [criptografia por padrão](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) para aplicar a criptografia de seus volumes e cópias de snapshots do Amazon Elastic Block Store (Amazon EBS) na Nuvem Amazon Web Services (AWS). 

Você pode criar um ambiente de desenvolvimento integrado (IDE) do AWS Cloud9 que usa volumes do EBS criptografados por padrão. No entanto, a [função vinculada ao serviço](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html) do AWS Identity and Access Management (IAM) para o AWS Cloud9 exige acesso à chave do AWS Key Management Service (AWS KMS) para esses volumes do EBS. Se o acesso não for fornecido, o IDE do AWS Cloud9 pode falhar ao iniciar e a depuração poderá ser difícil. 

Esse padrão fornece as etapas para adicionar a função vinculada ao serviço para AWS Cloud9 e para a chave do AWS KMS usada pelos volumes do EBS. A configuração descrita por esse padrão ajuda você a criar e iniciar com êxito um IDE que usa volumes do EBS com criptografia por padrão.

## Pré-requisitos e limitações
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Criptografia padrão ativada para volumes do EBS. Para obter mais informações sobre criptografia por padrão, consulte a [criptografia do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) na documentação do Amazon Elastic Compute Cloud EC2 (Amazon).
+ Uma [chave KMS existente gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) para criptografar seus volumes do EBS.

**nota**  
Não é necessário criar o perfil associado ao serviço para o AWS Cloud9. Quando você cria um ambiente de desenvolvimento do AWS Cloud9, o AWS Cloud9 cria uma função vinculada ao serviço para você.

## Arquitetura
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-architecture"></a>

![\[Com o IDE do AWS Cloud9, é possível aplicar a criptografia de volumes e snapshots do EBS.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/dd98fbb4-0949-4299-b701-bc857e13049c/images/6b22b8d1-75d9-4f06-b5d6-5fff7397f22d.png)


**Pilha de tecnologia**
+ AWS Cloud9
+ IAM
+ AWS KMS

## Ferramentas
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-tools"></a>
+ O [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) é um ambiente de desenvolvimento integrado (IDE) que ajuda você a codificar, criar, executar, testar e depurar software. Ele também ajuda você a lançar software na Nuvem AWS.
+ [O Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) fornece volumes de armazenamento em nível de bloco para uso com instâncias do Amazon Elastic Compute Cloud (Amazon). EC2
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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 Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ajuda você a criar e controlar chaves criptográficas para proteger seus dados.

## Épicos
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-epics"></a>

### Encontre o valor da chave de criptografia padrão
<a name="find-the-default-encryption-key-value"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Registre o valor da chave de criptografia padrão para os volumes do EBS.  | Faça login no AWS Management Console e abra o EC2 console da Amazon. Escolha **EC2 painel** e, em seguida, escolha **Proteção e segurança de dados** em **Atributos da conta**. Na seção **Criptografia do EBS**, copie e registre o valor da **Chave de criptografia padrão**. | Arquiteto de nuvem, DevOps engenheiro | 

### Forneça acesso à chave do AWS KMS
<a name="provide-access-to-the-aws-kms-key"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Forneça ao AWS Cloud9 acesso à chave KMS para volumes do EBS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.html)Para obter mais informações sobre a atualização de uma política de chaves, consulte [Como alterar uma política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to) (documentação do AWS KMS).O perfil vinculado ao serviço para o AWS Cloud9 é criado automaticamente quando você inicia seu primeiro IDE. Para obter mais informações, consulte [Criar uma função vinculada ao serviço](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html#create-service-linked-role) na documentação do AWS Cloud9.  | Arquiteto de nuvem, DevOps engenheiro | 

### Crie e inicie o IDE
<a name="create-and-launch-the-ide"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie e inicie o IDE do AWS Cloud9. | **Abra o console do AWS Cloud9 e escolha Criar ambiente.** ****Configure o IDE de acordo com seus requisitos seguindo as etapas de [Criação de um EC2 ambiente](https://docs.aws.amazon.com/cloud9/latest/user-guide/create-environment-main.html) na documentação do AWS Cloud9.  | Arquiteto de nuvem, DevOps engenheiro | 

## Recursos relacionados
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-resources"></a>
+ [Criptografe volumes do EBS usados pelo AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/move-environment.html#encrypting-volumes)
+ [Criar um perfil vinculado a serviço para o AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html#create-service-linked-role)
+ [Crie um EC2 ambiente no AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/create-environment-main.html)

## Mais informações
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-additional"></a>

**Atualizações da política de chave do AWS KMS**

Substitua `<aws_accountid>` pelo seu ID de conta da AWS.

```
{
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        }
```

**Como usar uma chave entre contas**

Se você desejar usar uma chave do KMS entre contas, deve empregar uma concessão em combinação com a política de chave do KMS. Isso permite o acesso entre contas à chave. Na mesma conta que você usou para criar o ambiente do Cloud9, execute o comando apresentado a seguir no terminal.

```
aws kms create-grant \
 --region <Region where Cloud9 environment is created> \
 --key-id <The cross-account KMS key ARN> \
 --grantee-principal arn:aws:iam::<The account where Cloud9 environment is created>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9 \
 --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"
```

Após executar este comando, será possível criar ambientes do Cloud9 usando a criptografia do EBS com uma chave pertencente a outra conta.

# Crie CloudWatch painéis da Amazon baseados em tags automaticamente
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically"></a>

*Janak Vadaria, Vinodkumar Mandalapu e Rajneesh Tyagi, Amazon Web Services*

## Resumo
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-summary"></a>

Criar diferentes CloudWatch painéis da Amazon manualmente pode ser demorado, especialmente quando você precisa criar e atualizar vários recursos para escalar automaticamente seu ambiente. Uma solução que cria e atualiza seus CloudWatch painéis automaticamente pode economizar seu tempo. Esse padrão ajuda você a implantar um AWS Cloud Development Kit (AWS CDK) pipeline totalmente automatizado que cria e atualiza CloudWatch painéis para seus AWS recursos com base em eventos de alteração de tag, para exibir as métricas do Golden Signals.

Em engenharia de confiabilidade de sites (SRE), Golden Signals se refere a um conjunto abrangente de métricas que oferece uma visão geral de um serviço sob a perspectiva do usuário ou do consumidor. O conjunto dessas métricas abrange latência, tráfego, erros e saturação. Para obter mais informações, consulte [O que é engenharia de confiabilidade do site (SRE)](https://aws.amazon.com/what-is/sre/)? no AWS site.

A solução fornecida por este padrão é orientada por eventos. Depois de implantado, ele monitora continuamente os eventos de alteração da tag e atualiza automaticamente os CloudWatch painéis e os alarmes.

## Pré-requisitos e limitações
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-prereqs"></a>

**Pré-requisitos**
+ Um ativo Conta da AWS
+ AWS Command Line Interface (AWS CLI), [instalado e configurado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ [Pré-requisitos para](https://docs.aws.amazon.com/cdk/v2/guide/work-with.html#work-with-prerequisites) a v2 AWS CDK 
+ Um [ambiente inicializado em](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) AWS
+ [Python versão 3](https://www.python.org/downloads/)
+ [AWS SDK para Python (Boto3), instalado](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)
+ [Node.js](https://nodejs.org/en/download/current), versão 18 ou versões posteriores
+ Gerenciador de pacotes Node (npm), [instalado e configurado](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) para o AWS CDK
+ Familiaridade moderada (nível 200) com e AWS CDK AWS CodePipeline

**Limitações**

No momento, esta solução cria painéis automatizados somente para os seguintes serviços da AWS:
+ [Amazon Relational Database Service (Amazon RDS)](https://aws.amazon.com/rds/)
+ [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/)
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)
+ [AWS Lambda](https://aws.amazon.com/lambda/)

## Arquitetura
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-architecture"></a>

**Pilha de tecnologias de destino**
+ [CloudWatch painéis](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)
+ [CloudWatch alarmes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)

**Arquitetura de destino**

![\[Arquitetura de destino para criar painéis baseados em tags CloudWatch\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/f63ca697-f252-416d-8a1b-0239f38c10c5.png)


1. Um evento de alteração de AWS tag para as tags de aplicativo configuradas ou alterações de código inicia um pipeline AWS CodePipeline para criar e implantar CloudWatch painéis atualizados.

1. AWS CodeBuild executa um script Python para encontrar os recursos que têm tags configuradas e armazena o recurso IDs em um arquivo local em um CodeBuild ambiente.

1. CodeBuild executa o **cdk synth** para gerar CloudFormation modelos que implantam CloudWatch painéis e alarmes.

1. CodePipeline implanta os CloudFormation modelos na região especificada Conta da AWS .

1. Quando a CloudFormation pilha for implantada com sucesso, você poderá visualizar os CloudWatch painéis e os alarmes.

**Automação e escala**

Essa solução foi automatizada usando AWS CDK o. Você pode encontrar o código nos [painéis GitHub Golden Signals no CloudWatch repositório da Amazon](https://github.com/aws-samples/golden-signals-dashboards-sample-app). Para obter escalabilidade adicional e criar painéis personalizados, é possível configurar diversas chaves e valores de etiquetas.

## Ferramentas
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-tools"></a>

**Serviço da Amazon**
+  EventBridgeA [Amazon](https://aws.amazon.com/eventbridge/) é um serviço de barramento de eventos sem servidor que ajuda você a conectar seus aplicativos a dados em tempo real de várias fontes, incluindo AWS Lambda funções, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outras. Contas da AWS
+ O [AWS CodePipeline](https://aws.amazon.com/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.
+ O [AWS CodeBuild](https://aws.amazon.com/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.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que ajuda você a interagir com os serviços da AWS por meio de comandos em seu shell de linha de comando.
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ O [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

## Práticas recomendadas
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-best-practices"></a>

Para seguir as práticas recomendadas de segurança, você pode usar criptografia e autenticação nos repositórios de origem que se conectam aos seus pipelines. Para obter mais práticas recomendadas, consulte [as CodePipeline melhores práticas e os casos de uso](https://docs.aws.amazon.com/codepipeline/latest/userguide/best-practices.html) na CodePipeline documentação.

## Épicos
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-epics"></a>

### Configuração e implantação da aplicação de amostra
<a name="configure-and-deploy-the-sample-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure e implemente a aplicação de amostra. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 
| Crie painéis e alarmes automaticamente. | Após implantar a aplicação de amostra, é possível criar qualquer recurso compatível com esta solução com os valores de etiquetas esperados, o que criará automaticamente os painéis e os alarmes especificados.Para testar essa solução, crie uma AWS Lambda função:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

### Remoção da aplicação de amostra
<a name="remove-the-sample-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remova o constructo `golden-signals-dashboard`. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

## Solução de problemas
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Não foi possível encontrar o comando Python (referindo-se à linha 8 do `findresources.sh`).  | Verifique a versão da sua instalação do Python. Se você instalou a versão 3 do Python, substitua `python` por `python3` na linha 8 do arquivo `resources.sh`, e execute novamente o comando `sh deploy.sh` para implantar a solução. | 

## Recursos relacionados
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-resources"></a>
+ [Bootstrapping (documentação](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html))AWS CDK 
+ [Usando perfis nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-methods) (AWS CLI documentação)
+ [AWS CDK Workshop](https://cdkworkshop.com/)

## Mais informações
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-additional"></a>

A ilustração apresentada a seguir mostra um painel de amostra para o Amazon RDS, criado como parte desta solução.

![\[Painel de amostra para o Amazon RDS\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/706a262f-8650-47ff-ac44-e04ce5f4023e.png)


# Documentação do projeto da sua Zona de Pouso da AWS
<a name="document-your-aws-landing-zone-design"></a>

*Michael Daehnert, Florian Langer e Michael Lodemann, Amazon Web Services*

## Resumo
<a name="document-your-aws-landing-zone-design-summary"></a>

Uma *zona de pouso* consiste em um ambiente com várias contas que é cuidadosamente projetado e baseado nas práticas recomendadas de segurança e de conformidade. É o contêiner corporativo que contém todas as suas unidades organizacionais (OUs) Contas da AWS, usuários e outros recursos. Uma landing zone pode ser dimensionada para atender às necessidades de uma empresa de qualquer tamanho. AWS tem duas opções para criar sua zona de pouso: uma zona de pouso baseada em serviços [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)ou uma zona de pouso personalizada que você constrói. Cada opção requer um nível de AWS conhecimento diferente.

AWS criado AWS Control Tower para ajudar você a economizar tempo automatizando a configuração de um landing zone. AWS Control Tower é gerenciado AWS e usa as melhores práticas e diretrizes para ajudá-lo a criar seu ambiente básico. AWS Control Tower usa serviços integrados, como [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html)e [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html), para provisionar contas em sua landing zone e gerenciar o acesso a essas contas.

AWS os projetos de landing zone variam em requisitos, detalhes de implementação e itens de ação operacional. Existem aspectos de personalização que precisam ser tratados em cada implementação de zona de pouso. Entre esses aspectos estão (mas não se restringem a) a forma de gerenciamento de acessos, a escolha da pilha de tecnologia e os requisitos de monitoramento para garantir excelência operacional. Este padrão oferece um modelo para auxiliar na documentação do seu projeto de zona de pouso. Ao usar o modelo, é possível registrar o projeto de forma mais ágil e facilitar a compreensão da zona de pouso pelas equipes de desenvolvimento e de operações.

## Pré-requisitos e limitações
<a name="document-your-aws-landing-zone-design-prereqs"></a>

**Limitações**

Este padrão não descreve o que é uma zona de pouso nem como implementá-la. Para obter mais informações sobre esses tópicos, consulte a seção [Recursos relacionados](#document-your-aws-landing-zone-design-resources).

## Épicos
<a name="document-your-aws-landing-zone-design-epics"></a>

### Elaboração do documento do projeto
<a name="create-the-design-document"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Identifique as principais partes interessadas. | Identifique os principais gerentes de serviço e de equipe vinculados à sua zona de pouso. | Gerente de projetos | 
| Adapte o modelo às suas necessidades. | Faça o download do modelo na seção de [Anexos](#attachments-9e39a05a-8f51-4fe3-8999-522feafed6ca) e, em seguida, atualize-o da seguinte forma:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/document-your-aws-landing-zone-design.html) | Gerente de projetos | 
| Preencha o modelo. | Em reuniões com as partes interessadas ou usando um write-and-review processo, preencha o modelo da seguinte forma:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/document-your-aws-landing-zone-design.html) | Gerente de projetos | 
| Compartilhe o documento do projeto. | Quando a documentação do projeto da sua zona de pouso estiver concluída, salve-a em um repositório compartilhado ou em um local centralizado acessível a todas as partes interessadas. Recomendamos que você empregue processos padrão de controle de documentos para registrar e aprovar revisões do documento do projeto. | Gerente de projetos | 

## Recursos relacionados
<a name="document-your-aws-landing-zone-design-resources"></a>
+ [AWS Control Tower documentação](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
  + [Planeje sua AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/planning-your-deployment.html)
  + [AWS estratégia de várias contas para sua AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/aws-multi-account-landing-zone.html)
  + [Dicas administrativas para configuração da landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/tips-for-admin-setup.html)
  + [Expectativas para a configuração da landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-configure.html)
+ [Personalizações para AWS Control Tower(Biblioteca de](https://aws.amazon.com/solutions/implementations/customizations-for-aws-control-tower/)AWS soluções)
+ [Configurando um ambiente seguro e escalável com várias contas ( AWS orientação](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-aws-environment/welcome.html)AWS prescritiva)

## Anexos
<a name="attachments-9e39a05a-8f51-4fe3-8999-522feafed6ca"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/9e39a05a-8f51-4fe3-8999-522feafed6ca/attachments/attachment.zip)

# Melhore o desempenho operacional habilitando o Amazon DevOps Guru em várias regiões e contas da AWS e OUs com o AWS CDK
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk"></a>

*Dr. Rahul Sharad Gaikwad, Amazon Web Services*

## Resumo
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-summary"></a>

Esse padrão demonstra as etapas para habilitar o serviço Amazon DevOps Guru em várias regiões, contas e unidades organizacionais () da Amazon Web Services (AWSOUs) usando o AWS Cloud Development Kit (AWS CDK) em. TypeScript Você pode usar pilhas de CDK da AWS para implantar a AWS a CloudFormation StackSets partir da conta administrativa (primária) da AWS para habilitar o Amazon DevOps Guru em várias contas, em vez de fazer login em cada conta e ativar o DevOps Guru individualmente para cada conta.

O Amazon DevOps Guru fornece recursos de operações de inteligência artificial (AIOps) para ajudá-lo a melhorar a disponibilidade de seus aplicativos e resolver problemas operacionais com mais rapidez. DevOps O Guru reduz seu esforço manual aplicando recomendações baseadas em aprendizado de máquina (ML), sem exigir nenhum conhecimento de ML. DevOps O Guru analisa seus recursos e dados operacionais. Se detectar alguma anomalia, ele fornece métricas, eventos e recomendações para ajudar a resolver o problema.

Esse padrão descreve três opções de implantação para habilitar o Amazon DevOps Guru:
+ Para todos os recursos de pilha em várias contas e regiões
+ Para todos os recursos de pilha OUs
+ Para recursos de pilha específicos em várias contas e regiões

## Pré-requisitos e limitações
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ AWS Command Line Interface (AWS CLI), instalada e configurada. (Consulte [Instalar, atualizar e desinstalar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) na documentação da AWS CLI.)
+ AWS CDK Toolkit, instalado e configurado. (Consulte o [AWS CDK Toolkit](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) na documentação do AWS CDK.)
+ Node Package Manager (npm), instalado e configurado para o AWS CDK em. TypeScript (Consulte [Como baixar e instalar o Node.js e o npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) na documentação do npm.)
+ Python3 instalado e configurado, para executar um script Python para injetar tráfego no aplicativo de amostra com tecnologia sem servidor. (Consulte [Configuração e uso do Python](https://docs.python.org/3/using/index.html) na documentação do Python.)
+ Pip, instalado e configurado para instalar a biblioteca de solicitações do Python. (Consulte as [instruções de instalação do pip](https://pypi.org/project/pip/) no PyPl site.)

**Versões do produto**
+ AWS CDK Toolkit versão 1.107.0 ou superior
+ npm versão 7.9.0 ou superior
+ Node.js versão 15.3.0 ou superior

## Arquitetura
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-architecture"></a>

**Tecnologias**

A arquitetura para esse padrão inclui os seguintes serviços:
+ [ DevOps Guru da Amazon](https://aws.amazon.com/devops-guru/)
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [Amazon API Gateway](https://aws.amazon.com/api-gateway/)
+ [AWS Lambda](https://aws.amazon.com/lambda/)
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [AWS CloudTrail](https://aws.amazon.com/cloudtrail/)

**Pilhas do AWS CDK**

O padrão usa as seguintes pilhas do AWS CDK: 
+ `CdkStackSetAdminRole`: cria uma função de administrador do AWS Identity and Access Management (IAM) para estabelecer uma relação de confiança entre as contas de administrador e de destino.
+ `CdkStackSetExecRole`: cria um perfil do IAM para confiar na conta do administrador.
+ `CdkDevopsGuruStackMultiAccReg`— Ativa o DevOps Guru em várias regiões e contas da AWS para todas as pilhas e configura as notificações do Amazon Simple Notification Service (Amazon SNS).
+ `CdkDevopsGuruStackMultiAccRegSpecStacks`— Habilita o DevOps Guru em várias regiões e contas da AWS para pilhas específicas e configura notificações do Amazon SNS.
+ `CdkDevopsguruStackOrgUnit`— Habilita o DevOps Guru OUs e configura as notificações do Amazon SNS. 
+ `CdkInfrastructureStack`: implanta amostras de componentes de aplicativos com tecnologia sem servidor, como API Gateway, Lambda e DynamoDB, na conta do administrador para demonstrar a injeção de falhas e a geração de insights.

**Arquitetura de aplicativo de exemplo**

O diagrama a seguir mostra a arquitetura de um aplicativo de exemplo com tecnologia sem servidor que foi implantado em várias contas e regiões. O padrão usa a conta do administrador para implantar todas as pilhas do AWS CDK. Ele também usa a conta de administrador como uma das contas de destino para configurar o DevOps Guru.

1. Quando o DevOps Guru está ativado, ele primeiro define o comportamento de cada recurso e, em seguida, ingere dados operacionais das métricas fornecidas. CloudWatch 

1. Se ele detecta uma anomalia, ela a correlaciona com os eventos e gera uma CloudTrail visão.

1. O insight fornece uma sequência correlacionada de eventos junto com as recomendações prescritas para permitir que o operador identifique o recurso culpado.

1. O Amazon SNS envia mensagens de notificação para o operador.

![\[Uma aplicação de exemplo com tecnologia sem servidor que foi implantada em várias contas e regiões.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/6075ca48-862a-4aa0-93c6-10bad8195a5c/images/beeb0992-aaa8-4f08-b983-685b6b8b8d5e.png)


**Automação e escala**

O [GitHub repositório](https://github.com/aws-samples/amazon-devopsguru-cdk-samples.git) fornecido com esse padrão usa o AWS CDK como uma ferramenta de infraestrutura como código (IaC) para criar a configuração dessa arquitetura. O AWS CDK ajuda você a orquestrar recursos e habilitar o DevOps Guru em várias contas, regiões e. OUs

## Ferramentas
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-tools"></a>

**Serviços da AWS**
+ [AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/home.html) — O AWS Cloud Development Kit (AWS CDK) ajuda você a definir sua infraestrutura de nuvem como código em uma das cinco linguagens de programação compatíveis: TypeScript,, JavaScript Python, Java e C\$1.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): a AWS Command Line Interface (AWS CLI) é uma ferramenta unificada que fornece uma interface de linha de comando consistente para interagir com os serviços e os recursos da AWS.

**Código**

O código-fonte desse padrão está disponível no GitHub repositório [Amazon DevOps Guru CDK Samples](https://github.com/aws-samples/amazon-devopsguru-cdk-samples.git). O código do AWS CDK está escrito em TypeScript. Para clonar e usar o repositório, siga as instruções na próxima seção.

**Importante**  
Algumas das narrativas deste padrão incluem exemplos de comandos do AWS CDK e da AWS CLI formatados para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\$1) no final de cada linha por um circunflexo (^).

## Épicos
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-epics"></a>

### Prepare os recursos da AWS para implantação
<a name="prepare-the-aws-resources-for-deployment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure perfis nomeados da AWS. | Configure seus perfis nomeados da AWS da seguinte forma para implantar pilhas em um ambiente de várias contas.Para a conta de administrador: <pre>$aws configure --profile administrator<br />AWS Access Key ID [****]: <your-administrator-access-key-ID><br />AWS Secret Access Key [****]: <your-administrator-secret-access-key><br />Default region name [None]: <your-administrator-region><br />Default output format [None]: json</pre>Para a conta de destino:<pre>$aws configure --profile target<br />AWS Access Key ID [****: <your-target-access-key-ID><br />AWS Secret Access Key [****]: <your-target-secret-access-key><br />Default region name [None]: <your-target-region><br />Default output format [None]: json</pre>Para obter mais informações, consulte [Uso de perfis nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles) na documentação da AWS CLI. | DevOps engenheiro | 
| Verifique as configurações do perfil da AWS. | (Opcional) Você pode verificar suas configurações de perfil da AWS nos arquivos `credentials` e `config` seguindo as instruções em [Definir e visualizar configurações](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-methods) na documentação da AWS CLI. | DevOps engenheiro | 
| Verifique a versão do AWS CDK. | Verifique a versão do AWS CDK Toolkit executando o seguinte comando:<pre>$cdk --version</pre>Este padrão requer a versão 1.107.0 ou superior. Se você tiver uma versão anterior do AWS CDK, siga as instruções na [documentação do AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) para atualizá-la. | DevOps engenheiro | 
| Clone o código do projeto. | Clone o GitHub repositório desse padrão usando o comando:<pre>$git clone https://github.com/aws-samples/amazon-devopsguru-cdk-samples.git</pre> | DevOps engenheiro | 
| Instale as dependências do pacote e compile os TypeScript arquivos. | Instale as dependências do pacote e compile os TypeScript arquivos executando os seguintes comandos:<pre>$cd amazon-devopsguru-cdk-samples<br />$npm install<br />$npm fund</pre>Esses comandos instalam todos os pacotes do repositório de exemplo.Se você receber algum erro sobre pacotes ausentes, use um dos seguintes comandos:<pre>$npm ci</pre>—ou—<pre>$npm install -g @aws-cdk/<package-name></pre>Você pode encontrar a lista de nomes e versões de pacotes na seção `Dependencies` do arquivo `/amazon-devopsguru-cdk-samples/package.json`. Para obter mais informações, consulte [npm ci](https://docs.npmjs.com/cli/v7/commands/npm-ci) e [npm install](https://docs.npmjs.com/cli/v7/commands/npm-install) na documentação do npm. | DevOps engenheiro | 

### Crie (sintetize) as pilhas do AWS CDK
<a name="build-synthesize-the-aws-cdk-stacks"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure um endereço de e-mail para notificações do Amazon SNS. | Siga estas etapas para fornecer um endereço de e-mail para notificações do Amazon SNS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | DevOps engenheiro | 
| Crie o código do projeto. | Crie o código do projeto e sintetize as pilhas executando o comando:<pre>npm run build && cdk synth </pre>Você deve ver uma saída semelhante a: <pre>$npm run build && cdk synth<br />> cdk-devopsguru@0.1.0 build<br />> tsc<br />Successfully synthesized to ~/amazon-devopsguru-cdk-samples/cdk.out<br />Supply a stack id (CdkDevopsGuruStackMultiAccReg,CdkDevopsGuruStackMultiAccRegSpecStacks, CdkDevopsguruStackOrgUnit, CdkInfrastructureStack, CdkStackSetAdminRole, CdkStackSetExecRole) to display its template.</pre>Para obter mais informações e etapas, consulte [Seu primeiro aplicativo do AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html) na documentação do AWS CDK. | DevOps engenheiro | 
| Liste as pilhas do AWS CDK. | Execute o comando a seguir para listar todas as pilhas do AWS CDK:<pre>$cdk list</pre>O comando exibe a seguinte lista:<pre>CdkDevopsGuruStackMultiAccReg<br />CdkDevopsGuruStackMultiAccRegSpecStacks<br />CdkDevopsguruStackOrgUnit<br />CdkInfrastructureStack<br />CdkStackSetAdminRole<br />CdkStackSetExecRole</pre> | DevOps engenheiro | 

### Opção 1 - Habilite o DevOps Guru para empilhar todos os recursos em várias contas
<a name="option-1---enable-devops-guru-for-all-stack-resources-across-multiple-accounts"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implante as pilhas do AWS CDK para criar perfis do IAM. | Esse padrão usa CloudFormation StackSets a [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) para realizar operações de pilha em várias contas. Se você estiver criando seu primeiro conjunto de pilhas, deverá criar os seguintes perfis do IAM para obter as permissões necessárias configuradas em suas contas da AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html)Os perfis devem ter esses nomes exatos.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html)Para obter mais informações, consulte [Conceder permissões autogerenciadas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) na CloudFormation documentação da AWS. | DevOps engenheiro | 
| Implante a pilha de CDK da AWS para habilitar o DevOps Guru em várias contas. | A pilha `CdkDevopsGuruStackMultiAccReg` do AWS CDK cria conjuntos de pilhas para implantar instâncias de pilha em várias contas e regiões. Para implantar a pilha, execute o seguinte comando da CLI com os parâmetros especificados:<pre>$cdk deploy CdkDevopsGuruStackMultiAccReg \<br />  --profile administrator \<br />  --parameters AdministratorAccountId=<administrator-account-ID> \<br />  --parameters TargetAccountId=<target-account-ID> \<br />  --parameters RegionIds="<region-1>,<region-2>"</pre>Atualmente, o Amazon DevOps Guru está disponível nas regiões da AWS listadas nas perguntas frequentes do [DevOps Guru](https://aws.amazon.com/devops-guru/faqs/). | DevOps engenheiro | 

### Opção 2 - Habilite o DevOps Guru para todos os recursos da pilha OUs
<a name="option-2---enable-devops-guru-for-all-stack-resources-across-ous"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Extraia OU IDs. | No console do [AWS Organizations](https://console.aws.amazon.com/organizations/v2/home/accounts), identifique as IDs unidades organizacionais nas quais você deseja habilitar o DevOps Guru. | DevOps engenheiro | 
| Ative as permissões gerenciadas pelo serviço para. OUs | Se você estiver usando o AWS Organizations para gerenciamento de contas, deverá conceder permissões gerenciadas por serviços para habilitar o DevOps Guru. Em vez de criar as funções do IAM manualmente, use [acesso confiável baseado na organização e funções vinculadas a serviços ()](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html). SLRs | DevOps engenheiro | 
| Implante a pilha de CDK da AWS para habilitar o DevOps Guru em todo lugar. OUs | A `CdkDevopsguruStackOrgUnit` pilha de CDK da AWS possibilita o serviço DevOps Guru em todo lugar. OUs Para implantar a pilha, execute o seguinte comando com os parâmetros especificados:<pre>$cdk deploy CdkDevopsguruStackOrgUnit \<br />  --profile administrator \ <br />  --parameters RegionIds="<region-1>,<region-2>" \<br />  --parameters OrganizationalUnitIds="<OU-1>,<OU-2>"</pre> | DevOps engenheiro | 

### Opção 3 - Habilite o DevOps Guru para acumular recursos específicos em várias contas
<a name="option-3---enable-devops-guru-for-specific-stack-resources-across-multiple-accounts"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implante as pilhas do AWS CDK para criar perfis do IAM. | Se você ainda não criou os perfis do IAM necessários mostrados na primeira opção, faça isso primeiro:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html)Para obter mais informações, consulte [Conceder permissões autogerenciadas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) na CloudFormation documentação da AWS. | DevOps engenheiro | 
| Exclua as pilhas existentes. | Se você já usou a primeira opção para ativar o DevOps Guru para todos os recursos da pilha, você pode excluir a pilha antiga usando o seguinte comando:<pre>$cdk destroy CdkDevopsGuruStackMultiAccReg --profile administrator </pre>Ou você pode alterar o parâmetro ` RegionIds` ao reimplantar a pilha para evitar um erro de *As pilhas já existem*. | DevOps engenheiro | 
| Atualize a pilha do AWS CDK com uma lista de pilhas.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | Engenheiro de dados | 
| Implante a pilha de CDK da AWS para habilitar o DevOps Guru a usar recursos de pilha específicos em várias contas. | A `CdkDevopsGuruStackMultiAccRegSpecStacks` pilha de CDK da AWS permite que o DevOps Guru use recursos de pilha específicos em várias contas. Para implantar a pilha, execute o seguinte comando:<pre>$cdk deploy CdkDevopsGuruStackMultiAccRegSpecStacks \<br />  --profile administrator  \<br />  --parameters AdministratorAccountId=<administrator-account-ID> \<br />  --parameters TargetAccountId=<target-account-ID> \<br />  --parameters RegionIds="<region-1>,<region-2>"</pre>Se você implantou essa pilha anteriormente para a opção 1, altere o parâmetro `RegionIds` (certificando-se de escolher entre as [regiões disponíveis](https://aws.amazon.com/devops-guru/faqs/)) para evitar um erro de *As pilhas já existem*. | DevOps engenheiro | 

### Implante a pilha de infraestrutura do AWS CDK
<a name="deploy-the-aws-cdk-infrastructure-stack"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implante a pilha de infraestrutura de amostra com tecnologia sem servidor. | O AWS CDK `CdkInfrastructureStack` stack implanta componentes sem servidor, como API Gateway, Lambda e uma tabela do DynamoDB, para demonstrar os insights do Guru. DevOps Para implantar a pilha, execute o seguinte comando: <pre>$cdk deploy CdkInfrastructureStack --profile administrator</pre> | DevOps engenheiro | 
| Insira registros de amostra no DynamoDB. | Execute o comando a seguir para preencher a tabela do DynamoDB com registros de amostra. Forneça o caminho correto para o script `populate-shops-dynamodb-table.json`.<pre>$aws dynamodb batch-write-item \<br />  --request-items file://scripts/populate-shops-dynamodb-table.json \<br />  --profile administrator</pre>O comando exibe a seguinte saída:<pre>{<br />    "UnprocessedItems": {}<br />}</pre> | DevOps engenheiro | 
| Verifique os registros inseridos no DynamoDB. | Para verificar se a tabela do DynamoDB inclui os registros de amostra do arquivo `populate-shops-dynamodb-table.json`, acesse a URL da API `ListRestApiEndpointMonitorOperator`, que é publicada como uma saída da pilha do AWS CDK. Você também pode encontrar esse URL na guia **Saídas** do CloudFormation console da AWS para a `CdkInfrastructureStack` pilha. A saída do AWS CDK deverá ser semelhante ao seguinte:<pre>CdkInfrastructureStack.CreateRestApiMonitorOperatorEndpointD1D00045 = https://oure17c5vob.execute-api.<your-region>.amazonaws.com/prod/<br /><br />CdkInfrastructureStack.ListRestApiMonitorOperatorEndpointABBDB8D8 = https://cdff8icfrn4.execute-api.<your-region>.amazonaws.com/prod/</pre> | DevOps engenheiro | 
| Aguarde até que os recursos concluam a linha de base. | Essa pilha com tecnologia sem servidor tem alguns recursos. Recomendamos que você espere 2 horas antes de realizar as próximas etapas. Se você implantou essa pilha em um ambiente de produção, pode levar até 24 horas para concluir a linha de base, dependendo do número de recursos selecionados para monitorar no Guru. DevOps  | DevOps engenheiro | 

### Gere insights do DevOps Guru
<a name="generate-devops-guru-insights"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualize a pilha de infraestrutura do AWS CDK. | Para experimentar o DevOps Guru Insights, você pode fazer algumas alterações na configuração para reproduzir um problema operacional típico.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | DevOps engenheiro | 
| Injete solicitações de HTTP na API. | Injete tráfego de entrada na forma de solicitações de HTTP na API `ListRestApiMonitorOperatorEndpointxxxx`:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | DevOps engenheiro | 
| Analise os insights do DevOps Guru. | Sob condições padrão, o painel do DevOps Guru exibe zero no contador de insights em andamento. Ao detectar uma anomalia, ele emite um alerta na forma de um insight. No painel de navegação, escolha **Insights** para ver os detalhes da anomalia, incluindo uma visão geral, métricas agregadas, eventos relevantes e recomendações. Para obter mais informações sobre a análise de insights, consulte a postagem do blog Como [obter informações operacionais com AIOps o uso do Amazon DevOps Guru](https://aws.amazon.com/blogs/devops/gaining-operational-insights-with-aiops-using-amazon-devops-guru/). | DevOps engenheiro | 

### Limpeza
<a name="clean-up"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Limpe e exclua recursos. | Depois de percorrer esse padrão, você deve remover os recursos criados para evitar cobranças adicionais. Execute estes comandos:<pre>$cdk destroy CdkDevopsGuruStackMultiAccReg --profile administrator<br />$cdk destroy CdkDevopsguruStackOrgUnit --profile administrator<br />$cdk destroy CdkDevopsGuruStackMultiAccRegSpecStacks --profile administrator<br />$cdk destroy CdkInfrastructureStack --profile administrator<br />$cdk destroy CdkStackSetAdminRole --profile administrator<br />$cdk destroy CdkStackSetExecRole --profile administrator<br />$cdk destroy CdkStackSetExecRole --profile target</pre> | DevOps engenheiro | 

## Recursos relacionados
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-resources"></a>
+ [Obtendo insights operacionais com o AIOps uso do Amazon DevOps Guru](https://aws.amazon.com/blogs/devops/gaining-operational-insights-with-aiops-using-amazon-devops-guru/)
+ [Configure facilmente o Amazon DevOps Guru em várias contas e regiões usando a AWS CloudFormation StackSets](https://aws.amazon.com/blogs/devops/configure-devops-guru-multiple-accounts-regions-using-cfn-stacksets/)
+ [DevOps Workshop do Guru](https://aiops-using-devops-guru.workshop.aws/)

# Governança de conjuntos de permissões para várias contas usando o Account Factory para Terraform
<a name="govern-permission-sets-aft"></a>

*Anand Krishna Varanasi e Siamak Heshmati, Amazon Web Services*

## Resumo
<a name="govern-permission-sets-aft-summary"></a>

Esse padrão ajuda você a integrar o [AWS Control Tower Account Factory Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) para configurar permissões para várias Contas da AWS em grande escala. [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) Essa abordagem usa AWS Lambda funções personalizadas para automatizar as atribuições de [conjuntos de permissões](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) Contas da AWS que são gerenciados como uma organização. Isso simplifica o processo, pois elimina a necessidade de intervenção manual por parte da equipe de engenharia de plataforma. Com esta solução, é possível aprimorar a eficiência operacional, a segurança e a consistência. Ele promove um processo de integração seguro e padronizado AWS Control Tower, tornando-o indispensável para empresas que priorizam a agilidade e a confiabilidade de sua infraestrutura em nuvem.

## Pré-requisitos e limitações
<a name="govern-permission-sets-aft-prereqs"></a>

**Pré-requisitos **
+ Contas da AWS, gerenciado por meio de AWS Control Tower. Para obter mais informações, consulte [Introdução ao AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html).
+ Account Factory para Terraform, implantado em uma conta dedicada no seu ambiente. Para obter mais informações, consulte [Deploy AWS Control Tower Account Factory for Terraform](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html).
+ Uma instância do Centro de Identidade do IAM, configurada no seu ambiente. Para obter mais informações, consulte [Getting Started with IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html).
+ Um [grupo](https://docs.aws.amazon.com/singlesignon/latest/userguide/users-groups-provisioning.html#groups-concept) ativo do Centro de Identidade do IAM, configurado.  Para obter mais informações, consulte [Add groups to your Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html).
+ Python versão 3.9 ou versões posteriores, instalado

**Limitações**
+ Esta solução pode ser usada somente com contas gerenciadas pelo AWS Control Tower. A implantação da solução ocorre usando o Account Factory para Terraform.
+ Este modelo não inclui instruções para configurar a federação de identidades com uma fonte de identidade. Para obter mais informações sobre como concluir essa configuração, consulte [IAM Identity Center identity source tutorials](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) na documentação do Centro de Identidade do IAM.

## Arquitetura
<a name="govern-permission-sets-aft-architecture"></a>

**Visão geral do AFT**

O AFT configura um pipeline do Terraform que ajuda você a provisionar e personalizar suas contas no AWS Control Tower. O AFT segue um GitOps modelo que automatiza os processos de provisionamento de contas em. AWS Control Tower Você cria um *arquivo do Terraform de solicitação de conta* e o confirma para o repositório. Isso inicia o fluxo de trabalho do AFT para o provisionamento da conta. Depois que o provisionamento da conta é concluído, o AFT pode executar automaticamente as etapas adicionais de personalização. Para obter mais informações, consulte a [arquitetura AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-architecture.html) na AWS Control Tower documentação.

O AFT fornece os seguintes repositórios principais:
+ `aft-account-request`: este repositório contém o código do Terraform para criar ou atualizar Contas da AWS.
+ `aft-account-customizations`: este repositório contém o código do Terraform para criar ou personalizar recursos em nível de conta.
+ `aft-global-customizations`: este repositório contém o código do Terraform para criar ou personalizar recursos para todas as contas, em grande escala.
+ `aft-account-provisioning-customizations`: este repositório gerencia personalizações aplicadas apenas a contas específicas criadas e gerenciadas com o AFT. Por exemplo, é possível usar esse repositório para personalizar as atribuições de usuários ou de grupos no Centro de Identidade do IAM ou para automatizar o encerramento de contas.

**Visão geral da solução**

Essa solução personalizada inclui uma máquina de AWS Step Functions estado e uma AWS Lambda função que atribui conjuntos de permissões a usuários e grupos para várias contas. A máquina de estados implantada por meio deste padrão opera em conjunto com a máquina de estado `aft_account_provisioning_customizations` do AFT já existente. Um usuário envia uma solicitação para atualizar as atribuições de usuários e grupos do IAM Identity Center quando uma nova Conta da AWS é criada ou após a criação da conta. Essa ação é realizada ao enviar uma alteração para o repositório `aft-account-request`. A solicitação para criar ou atualizar uma conta inicia um fluxo no [Amazon DynamoDB Streams](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html). Isso inicia a função Lambda, que atualiza os usuários e grupos do IAM Identity Center para o alvo. Contas da AWS

A seguir, apresentamos um exemplo de parâmetros que você pode fornecer na função do Lambda para atribuição de conjuntos de permissões a usuários e grupos de destino:

```
custom_fields = {
    "InstanceArn"         = "<Organization ID>",
    "PermissionSetArn"    = "<Permission set ARN>",
    "PrincipalId"         = "<Principal ID>",
  }
```

Os seguintes são os parâmetros desta instrução:
+ `InstanceArn`: o nome do recurso da Amazon (ARN) da organização
+ `PermissionSetArn`: o ARN do conjunto de permissões
+ `PrincipalId`: o identificador de um usuário ou de um grupo no Centro de Identidade do IAM ao qual o conjunto de permissões será aplicado

**nota**  
Você deve criar o conjunto de permissões, os usuários e os grupos de destino antes de executar esta solução.

Apesar de o valor de `InstanceArn` precisar se manter constante, é possível modificar a função do Lambda para que ela atribua diversos conjuntos de permissões a diferentes identidades de destino. Os parâmetros destinados a conjuntos de permissões devem terminar com `PermissionSetArn`, e os parâmetros destinados a usuários e grupos devem terminar com `PrincipalId`. É necessário definir ambos os atributos. A seguir, apresentamos um exemplo de como definir múltiplos conjuntos de permissões e usuários e grupos de destino:

```
custom_fields = {
    "InstanceArn"                    = "<Organization ID>",
    "AdminAccessPermissionSetArn"    = "<Admin privileges permission set ARN>",
    "AdminAccessPrincipalId"         = "<Admin principal ID>",
    "ReadOnlyAccessPermissionSetArn" = "<Read-only privileges permission set ARN>",
    "ReadOnlyAccessPrincipalId"      = "<Read-only principal ID>",
  }
```

O diagrama a seguir mostra um step-by-step fluxo de trabalho de como a solução atualiza os conjuntos de permissões para usuários e grupos no destino Contas da AWS em grande escala. Quando o usuário inicia uma solicitação de criação de conta, o AFT aciona a máquina de estado `aft-account-provisioning-framework` do Step Functions. Essa máquina de estado inicia a função do Lambda `extract-alternate-sso`. A função Lambda atribui conjuntos de permissões a usuários e grupos no destino. Contas da AWS Esses usuários ou grupos podem ser de qualquer fonte de identidade configurada no Centro de Identidade do IAM. Os exemplos de fontes de identidade incluem Okta, Active Directory ou Ping Identity.

![\[Fluxo de trabalho para a atualização de conjuntos de permissões quando uma conta é criada ou atualizada.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/14751255-3781-48db-a6b7-1a03e28c1020/images/d1de252d-8ac9-4f7d-a559-4ab3e852f325.png)


O diagrama apresenta o seguinte fluxo de trabalho quando novas contas são criadas:

1. Um usuário envia por push uma alteração em `custom_fields` para o repositório `aft-account-request`.

1. AWS CodePipeline inicia um AWS CodeBuild trabalho que registra os metadados definidos pelo usuário na tabela do Amazon `aft-request-audit` DynamoDB. Essa tabela conta com atributos para registrar os metadados definidos pelo usuário. O atributo `ddb_event_name` define o tipo de operação do AFT:
   + Se o valor for`INSERT`, a solução atribuirá as permissões definidas às identidades de destino quando a nova Conta da AWS for criada.
   + Se o valor for`UPDATE`, a solução atribuirá as permissões definidas às identidades de destino após Conta da AWS a criação.

1. O Amazon DynamoDB Streams aciona a função do Lambda `aft_alternate_sso_extract`.

1. A função `aft_alternate_sso_extract` Lambda assume uma função AWS Identity and Access Management (IAM) na conta de gerenciamento. AWS Control Tower 

1. A função Lambda atribui os conjuntos de permissões aos usuários e grupos de destino fazendo uma chamada de API AWS SDK para Python (Boto3) [create\$1account\$1assignment](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sso-admin/client/create_account_assignment.html) para o IAM Identity Center. Além disso, a função obtém os conjuntos de permissões e as atribuições de identidades da tabela `aft-request-audit` do Amazon DynamoDB.

1. Quando o fluxo de trabalho do Step Functions é concluído, os conjuntos de permissões são atribuídos às identidades de destino.

**Automação e escala**

O AFT opera em grande escala usando Serviços da AWS DynamoDB e Lambda, que são altamente escaláveis. CodePipeline AWS CodeBuild Para obter automação adicional, você pode integrar esta solução a um sistema de gerenciamento de tíquetes ou de problemas, como o Jira. Para obter mais informações, consulte a seção [Informações adicionais](#govern-permission-sets-aft-additional) desse padrão.

## Ferramentas
<a name="govern-permission-sets-aft-tools"></a>

**Serviços da AWS**
+ O [Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) é a principal ferramenta desta solução. O `aft-account-provisioning-customizations` repositório contém o código do Terraform para criar personalizações Contas da AWS, como atribuições personalizadas de usuários ou grupos do IAM Identity Center.
+ 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 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.

**Outras ferramentas**
+ [Python](https://www.python.org/) é uma linguagem de programação de computador de uso geral.
+ [O Terraform](https://www.terraform.io/) é uma ferramenta de infraestrutura como código (IaC) HashiCorp que ajuda você a criar e gerenciar recursos na nuvem e no local.

**Repositório de código**

O repositório de código do AFT 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). O código desse padrão está disponível no [Govern SSO Assignments para usar o repositório Account Contas da AWS Factory for Terraform (](https://github.com/aws-samples/aft-custom-sso-assignment)AFT).

## Práticas recomendadas
<a name="govern-permission-sets-aft-best-practices"></a>
+ Compreenda o [Modelo de Responsabilidade Compartilhada da AWS](https://aws.amazon.com/compliance/shared-responsibility-model/).
+ Siga as recomendações de segurança para AWS Control Tower. Para obter mais informações, consulte [Segurança em AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/security.html).
+ Seguir o princípio do privilégio mínimo Para obter mais informações, consulte [Aplicar permissões de privilégios mínimos](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Desenvolva conjuntos de permissões e perfis do IAM específicos e direcionados para grupos e unidades de negócios.

## Épicos
<a name="govern-permission-sets-aft-epics"></a>

### Implante a solução
<a name="deploy-the-solution"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um perfil do IAM. | Na conta AWS Control Tower de gerenciamento, use o Terraform para criar uma função do IAM. Este perfil conta com acesso entre contas e uma política de confiança que permite acesso federado com o provedor de identidades. Ele também tem permissões para conceder acesso a outras contas por meio de AWS Control Tower. A função do Lambda assumirá este perfil. Faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquiteto de nuvem | 
| Personalize a solução para o seu ambiente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquiteto de nuvem | 
| Implante a solução. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquiteto de nuvem | 
| Configure uma conexão com um repositório de código. | Configure uma conexão entre o repositório de código em que você armazenará os arquivos de configuração e o seu Conta da AWS. Para obter instruções, consulte [Adicionar provedores de origem terceirizados aos pipelines usando CodeConnections](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-connections.html) na AWS CodePipeline documentação. | AWS DevOps, arquiteto de nuvem | 

### Uso da solução
<a name="use-the-solution"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie o pipeline do AFT para implantar uma nova conta. | Siga as instruções em [Provisionar uma nova conta com o AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provision-account.html) para iniciar o pipeline que cria uma nova Conta da AWS em seu AWS Control Tower ambiente. Aguarde a conclusão do processo de criação da conta. | AWS DevOps, arquiteto de nuvem | 
| Valide as alterações. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquiteto de nuvem | 

## Solução de problemas
<a name="govern-permission-sets-aft-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| A atribuição de conjuntos de permissões não está funcionando. | Verifique se o ARN do grupo, a ID da organização e os parâmetros do Lambda estão corretos. Para obter exemplos, consulte a seção* Visão geral da solução* deste padrão. | 
| A atualização do código no repositório não inicia o pipeline. | Esse problema está relacionado à conectividade entre você Conta da AWS e o repositório. No Console de gerenciamento da AWS, valide se a conexão está ativa. Para obter mais informações, consulte [GitHub as conexões](https://docs.aws.amazon.com/codepipeline/latest/userguide/connections-github.html) na AWS CodePipeline documentação. | 

## Mais informações
<a name="govern-permission-sets-aft-additional"></a>

**Integração com uma ferramenta de gerenciamento de tíquetes**

Você pode optar por integrar essa solução a uma ferramenta de gerenciamento de tickets ou problemas, como o Jira ou ServiceNow. O diagrama apresentado a seguir ilustra um exemplo de fluxo de trabalho para esta opção. É possível integrar a ferramenta de gerenciamento de tíquetes aos repositórios da solução do AFT usando os conectores da sua ferramenta. Para conectores do Jira, consulte [Integrar o Jira](https://support.atlassian.com/jira-cloud-administration/docs/integrate-jira-software-with-github/) com. GitHub Para ServiceNow conectores, consulte [Integração com. GitHub](https://www.servicenow.com/docs/bundle/washingtondc-it-asset-management/page/product/software-asset-management2/concept/integrate-with-github.html) Você pode até criar soluções personalizadas que exijam que os usuários forneçam uma ID de tíquete como parte da aprovação da solicitação de pull. Se uma solicitação para criar um novo Conta da AWS usando o AFT for aprovada, esse evento poderá iniciar um fluxo de trabalho que adiciona campos personalizados ao `aft-account-request` GitHub repositório. Você pode projetar qualquer fluxo de trabalho personalizado que atenda aos requisitos do seu caso de uso.

![\[Fluxo de trabalho que usa GitHub ações e uma ferramenta de gerenciamento de tickets.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/14751255-3781-48db-a6b7-1a03e28c1020/images/83763f65-32ea-4de0-932f-14a1b2d1d3ad.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Os usuários solicitam a atribuição de um conjunto de permissões personalizado em uma ferramenta de gerenciamento de tíquetes, como o Jira.

1. Após a aprovação do caso, um fluxo de trabalho é iniciado para atualizar a atribuição do conjunto de permissões. Opcional) É possível usar plug-ins para automação personalizada desta etapa.

1. Os operadores enviam o código do Terraform com os parâmetros atualizados do conjunto de permissões para o repositório `aft-account-request` em uma ramificação de desenvolvimento ou de funcionalidade.

1. GitHub As ações são AWS CodeBuild iniciadas usando uma chamada OpenID Connect (OIDC). CodeBuild [executa varreduras de segurança de infraestrutura como código (IaC) usando ferramentas como [tfsec](https://aquasecurity.github.io/tfsec/v1.20.0/) e checkov.](https://www.checkov.io/) Essa ação alerta os operadores sobre quaisquer violações de segurança.

1. Se nenhuma violação for encontrada, o GitHub Actions cria uma pull request automática e atribui uma revisão de código aos proprietários do código. Também é criada uma etiqueta para a solicitação de pull.

1. Se o proprietário do código aprovar a revisão do código, outro fluxo de trabalho de GitHub Ações será iniciado. Além disso, ocorre a verificação dos padrões da solicitação de pull, incluindo:
   + Se o título da solicitação de pull atender aos requisitos.
   + Se o corpo da solicitação de pull contiver números de casos aprovados.
   + Se a solicitação de pull estiver devidamente marcada.

1. Se as pull requests atenderem aos padrões, o GitHub Actions iniciará o fluxo de trabalho do produto AFT. Ele usa o início da `ct-aft-account-request` tubulação AWS CodePipeline. Esse pipeline aciona a máquina de estado personalizada `aft-account-provisioning-framework` no Step Functions. Essa máquina de estado funciona conforme descrito anteriormente na seção *Visão geral da solução* deste padrão.

# 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.**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)**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)**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)**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)**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)**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)**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)**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)**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)**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.(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.**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)**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)**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.(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.Se você definir o parâmetro `Generate AFT Files` como `true`, vá para a próxima narrativa (validando o pipeline).**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)**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)**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)**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)**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.

# Gerencie produtos do AWS Service Catalog em várias contas e regiões da AWS
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumo
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-summary"></a>

O Amazon Web Services (AWS) Service Catalog simplifica e acelera a governança e a distribuição de modelos de infraestrutura como código (IaC) para empresas. Você usa CloudFormation modelos da AWS para definir uma coleção de recursos da AWS (*pilhas*) necessários para um produto. A AWS CloudFormation StackSets estende essa funcionalidade ao permitir que você crie, atualize ou exclua pilhas em várias contas e regiões da AWS com uma única operação.

Os administradores do AWS Service Catalog criam produtos usando CloudFormation modelos criados por desenvolvedores e os publicam. Esses produtos são então associados a um portfólio e as restrições são aplicadas à governança. Para disponibilizar seus produtos para usuários em outras contas ou unidades organizacionais da AWS (OUs), você normalmente [compartilha seu portfólio](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing.html) com eles. Esse padrão descreve uma abordagem alternativa para gerenciar as ofertas de produtos do AWS Service Catalog com base na AWS CloudFormation StackSets. Em vez de compartilhar portfólios, você usa restrições de conjuntos de pilhas para definir regiões e contas da AWS nas quais seu produto pode ser implantado e usado. Ao usar essa abordagem, você pode provisionar seus produtos do AWS Service Catalog em várias contas e regiões da AWS e gerenciá-los a partir de um local central, ao mesmo tempo em que atende aos requisitos de governança. OUs 

Benefícios dessa abordagem:
+ O produto é provisionado e gerenciado a partir da conta primária e não é compartilhado com outras contas.
+ Essa abordagem fornece uma visão consolidada de todos os produtos provisionados (pilhas) baseados em um produto específico.
+ A configuração com o AWS Service Management Connector é mais fácil, pois ela tem como destino apenas uma conta.
+ É mais fácil consultar e usar produtos do AWS Service Catalog.

## Pré-requisitos e limitações
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-prereqs"></a>

**Pré-requisitos **
+  CloudFormation Modelos da AWS para IaC e controle de versão
+ Configuração de várias contas e AWS Service Catalog para provisionamento e gerenciamento de recursos da AWS

**Limitações**
+ Essa abordagem usa a AWS CloudFormation StackSets e as limitações da StackSets aplicação:
  + StackSets não oferece suporte à implantação CloudFormation de modelos por meio de macros. Se você estiver usando uma macro para pré-processar o modelo, não poderá usar uma implantação StackSets baseada.
  + StackSets fornece a capacidade de desassociar uma pilha do conjunto de pilhas, para que você possa direcionar uma pilha específica para corrigir um problema. No entanto, uma pilha desassociada não pode ser associada novamente ao conjunto de pilhas.
+ O AWS Service Catalog gera StackSet nomes automaticamente. A personalização não é compatível no momento.

## Arquitetura
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-architecture"></a>

**Arquitetura de destino**

![\[O usuário gerencia o produto do AWS Service Catalog usando o CloudFormation modelo da AWS StackSets e.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/16458fcd-861d-4ed4-8b91-47e19289a6bb/images/97d23325-b5c6-4ca9-8288-8dec1650c975.png)


1. O usuário cria um CloudFormation modelo da AWS para provisionar recursos da AWS, no formato JSON ou YAML.

1. O CloudFormation modelo cria um produto no AWS Service Catalog, que é adicionado a um portfólio.

1. O usuário cria um produto provisionado, que cria CloudFormation pilhas nas contas de destino.

1. Cada pilha provisiona os recursos especificados nos CloudFormation modelos.

## Ferramentas
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-tools"></a>

**Serviços da AWS**
+  CloudFormationA [AWS](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 durante todo o ciclo de vida em todas as contas e regiões da AWS.
+ A [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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 Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) ajuda você a gerenciar de modo centralizado os catálogos de serviços de TI aprovados para a 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.

## Épicos
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-epics"></a>

### Provisione produtos entre contas
<a name="provision-products-across-accounts"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um portfólio. | Um portfólio é um contêiner que inclui um ou mais produtos agrupados com base em critérios específicos. Usar um portfólio para seus produtos ajuda você a aplicar restrições comuns em todo o seu conjunto de produtos.Para criar um portfólio, siga as instruções na documentação do [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/portfoliomgmt-create.html). Se você estiver usando a AWS CLI, veja um exemplo de comando:<pre>aws servicecatalog create-portfolio --provider-name my-provider --display-name my-portfolio</pre>Para obter mais informações, consulte a [documentação da AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/create-portfolio.html). | AWS Service Catalog, IAM | 
| Crie um CloudFormation modelo. | Crie um CloudFormation modelo que descreva os recursos. Os valores das propriedades do recurso devem ser parametrizados quando aplicável. | AWS CloudFormation, JSON/YAML | 
| Crie um produto com informações sobre a versão. | O CloudFormation modelo se torna um produto quando você o publica no AWS Service Catalog. Forneça valores para os parâmetros opcionais de detalhes da versão, como título e descrição da versão; isso será útil para consultar o produto posteriormente.Para criar um produto, siga as instruções na documentação do [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-cloudresource.html). Um exemplo de comando se você estiver usando a AWS CLI:<pre>aws servicecatalog create-product --cli-input-json file://create-product-input.json</pre>onde `create-product-input.json` está o arquivo que passa os parâmetros do produto. Para obter um exemplo desse arquivo, consulte a seção *Informações adicionais*. Para obter mais informações, consulte a [documentação da AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/create-product.html). | AWS Service Catalog | 
| Aplique restrições. | Aplique restrições de conjunto de pilhas ao portfólio para configurar opções de implantação de produtos, como várias contas, regiões e permissões da AWS. Para obter instruções, consulte a [documentação do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-stackset.html). | AWS Service Catalog | 
| Adicione permissão. | Conceder permissões para usuários para que eles possam lançar os produtos no portfólio. Para obter as instruções do console, consulte a [documentação do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_users.html). Se você estiver usando a AWS CLI, veja um exemplo de comando:<pre>aws servicecatalog associate-principal-with-portfolio \<br />    --portfolio-id port-2s6abcdefwdh4 \<br />    --principal-arn arn:aws:iam::444455556666:role/Admin \<br />    --principal-type IAM</pre>Para obter mais informações, consulte a [documentação da AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/associate-principal-with-portfolio.html). | AWS Service Catalog, IAM | 
| Provisione o produto. | Um produto provisionado é uma instância de um produto com recursos. O provisionamento de um produto com base em um CloudFormation modelo inicia uma CloudFormation pilha e seus recursos subjacentes.Provisione o produto segmentando as regiões e contas aplicáveis da AWS, com base nas restrições do conjunto de pilhas. Na AWS CLI, veja um exemplo de comando:<pre>aws servicecatalog provision-product \<br />    --product-id prod-abcdfz3syn2rg \<br />    --provisioning-artifact-id pa-abc347pcsccfm \<br />    --provisioned-product-name "mytestppname3"</pre>Para obter mais informações, consulte a [documentação da AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/provision-product.html). | AWS Service Catalog | 

## Recursos relacionados
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-resources"></a>

**Referências**
+ [Visão geral do AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html)
+ [Usando a AWS CloudFormation StackSets](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/using-stacksets.html)

**Tutoriais e vídeos**
+ [AWS re:Invent 2019: automatize tudo: opções e melhores práticas](https://www.youtube.com/watch?v=bGBVPIpQMYk) (vídeo)

## Mais informações
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-additional"></a>

Quando você usa o `create-product` comando, o `cli-input-json` parâmetro aponta para um arquivo que especifica informações como proprietário do produto, e-mail de suporte e detalhes do CloudFormation modelo. Veja a seguir um exemplo desse arquivo:

```
{
   "Owner": "Test admin",
      "SupportDescription": "Testing",
         "Name": "SNS",
            "SupportEmail": "example@example.com",
            "ProductType": "CLOUD_FORMATION_TEMPLATE",
               "AcceptLanguage": "en",
                  "ProvisioningArtifactParameters": {
                     "Description": "SNS product",
                        "DisableTemplateValidation": true,
                           "Info": {
                              "LoadTemplateFromURL": "<url>"
                     },
                           "Name": "version 1"
}
```

# Monitoramento de clusters Pacemaker no RHEL para SAP por meio dos serviços da AWS
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services"></a>

*Harsh Thoria, Randy Germann e Raveendra Voore, Amazon Web Services*

## Resumo
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-summary"></a>

Esse padrão descreve as etapas para monitorar e configurar alertas para um cluster Red Hat Enterprise Linux (RHEL) Pacemaker para aplicativos SAP e serviços de banco de dados SAP HANA usando a Amazon e o Amazon Simple Notification Service ( CloudWatch Amazon SNS).

A configuração permite monitorar recursos de cluster SAP SCS ou ASCS, Enqueue Replication Server (ERS) e SAP HANA quando eles estão em um estado “parado” com a ajuda de fluxos de CloudWatch log, filtros métricos e alarmes. O Amazon SNS envia uma mensagem por e-mail para a equipe de infraestrutura ou do SAP Basis, informando o status interrompido do cluster.

Você pode criar os AWS recursos para esse padrão usando AWS CloudFormation scripts ou os consoles AWS de serviço. Esse padrão pressupõe que você esteja usando os consoles; ele não fornece CloudFormation scripts nem cobre a implantação de infraestrutura para CloudWatch o Amazon SNS. Os comandos do Pacemaker são usados para configurar a geração de alertas do cluster.

## Pré-requisitos e limitações
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-prereqs"></a>

**Pré-requisitos **
+ Uma AWS conta ativa.
+ O Amazon SNS configurado para enviar notificações por e-mail ou para dispositivos móveis.
+ Um cluster SAP ASCS/ERS para ABAP ou SCS/ERS para Java e SAP HANA Database RHEL Pacemaker. Para instruções, consulte:
  + [SAP HANA cluster setup](https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana-on-aws-manual-deployment-of-sap-hana-on-aws-with-high-availability-clusters.html)
  + [Configuração do cluster SAP Netweaver ABAP/Java ](https://docs.aws.amazon.com/sap/latest/sap-netweaver/sap-netweaver-ha-configuration-guide.html)

**Limitações**
+ Atualmente, esta solução é compatível com clusters baseados no Pacemaker no RHEL 7.3 e em versões posteriores. Não houve testes realizados em sistemas operacionais SUSE.

**Versões do produto**
+ RHEL 7.3 e versões posteriores

## Arquitetura
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-architecture"></a>

**Pilha de tecnologias de destino**
+ Agente orientados por enventos de alertas do Pacemaker no RHEL
+ Amazon Elastic Compute Cloud (Amazon EC2)
+ CloudWatch alarme
+ CloudWatch grupo de registros e filtro métrico
+ Amazon SNS

**Arquitetura de destino**

O diagrama apresentado a seguir ilustra os componentes e os fluxos de trabalho desta solução.

![\[Arquitetura para monitoramento de clusters Pacemaker no RHEL para SAP\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/ca4d282e-eadd-43fd-8506-3dbeb43e4db6/images/bfc96678-1fd3-47b6-8f09-bf7cf7c4a92c.png)


**Automação e escala**
+ Você pode automatizar a criação de AWS recursos usando CloudFormation scripts. Filtros de métricas adicionais também podem ser usados para escalar e abranger vários clusters.

## Ferramentas
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-tools"></a>

**Serviços da AWS**
+  CloudWatchA [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.
+  O [Amazon Simple Notiﬁcation Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) ajuda você a coordenar e gerenciar a troca de mensagens entre publicadores e clientes, incluindo servidores web e endereços de e-mail.

**Ferramentas**
+ CloudWatch agent (unificado) é uma ferramenta que coleta métricas, registros e rastreamentos em nível de sistema de EC2 instâncias e recupera métricas personalizadas de seus aplicativos.
+ O agente de alertas do Pacemaker, disponível para RHEL 7.3 e versões posteriores, é uma ferramenta que inicia uma ação quando ocorre uma alteração, como quando um recurso é interrompido e reiniciado, em um cluster Pacemaker.

## Práticas recomendadas
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-best-practices"></a>
+ Para obter as melhores práticas para usar cargas de trabalho SAP em AWS, consulte o [SAP Lens for](https://docs.aws.amazon.com/wellarchitected/latest/sap-lens/sap-lens.html) the AWS Well-Architected Framework.
+ Considere os custos envolvidos na configuração do CloudWatch monitoramento de clusters SAP HANA. Para obter mais informações, consulte a [documentação do CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_billing.html).
+ Considere usar um pager ou um mecanismo de geração de tíquetes para alertas do Amazon SNS.
+ Sempre verifique as versões RHEL de alta disponibilidade (HA) do pacote RPM para **PCs**, Pacemaker e o AWS agente de vedação.

## Épicos
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-epics"></a>

### Configuração do Amazon SNS
<a name="set-up-sns"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar um tópico do SNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador da AWS | 
| Modifique a política de acesso do tópico do SNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador de sistemas AWS | 
| Inscreva-se no tópico do SNS.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)O navegador da Web exibe uma resposta de confirmação do Amazon SNS. | Administrador de sistemas AWS | 

### Confirmação da configuração do cluster
<a name="confirm-the-setup-of-the-cluster"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique o status do cluster. | Use o comando **pcs status** para confirmar que os recursos estão on-line. | Administrador do SAP Basis | 

### Configuração de alertas do Pacemaker
<a name="configure-pacemaker-alerts"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o agente de alertas do Pacemaker na instância primária do cluster. | Faça login na EC2 instância no cluster primário e execute os seguintes comandos:<pre>install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample<br />touch /var/lib/pacemaker/alert_file.sh<br />touch /var/log/pcmk_alert_file.log<br />chown hacluster:haclient /var/log/pcmk_alert_file.log<br />chmod 600 /var/log/pcmk_alert_file.log<br />pcs alert create id=alert_file description="Log events to a file." path=/var/lib/pacemaker/alert_file.sh<br />pcs alert recipient add alert_file id=my-alert_logfile value=/var/log/pcmk_alert_file.log</pre> | Administrador do SAP Basis | 
| Configure o agente de alertas do Pacemaker na instância secundária do cluster. | Faça login na EC2 instância secundária do cluster no cluster secundário e execute os seguintes comandos:<pre>install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample<br />touch /var/lib/pacemaker/alert_file.sh<br />touch /var/log/pcmk_alert_file.log<br />chown hacluster:haclient /var/log/pcmk_alert_file.log<br />chmod 600 /var/log/pcmk_alert_file.log</pre> | Administrador do SAP Basis | 
| Confirme que o recurso de alerta do RHEL foi criado. | Use o seguinte comando para confirmar que o recurso de alerta foi criado:<pre>pcs alert</pre>A saída do comando terá a seguinte aparência:<pre>[root@xxxxxxx ~]# pcs alert <br />Alerts:<br /> Alert: alert_file (path=/var/lib/pacemaker/alert_file.sh)<br />  Description: Log events to a file.<br />  Recipients:<br />   Recipient: my-alert_logfile (value=/var/log/pcmk_alert_file.log)</pre> | Administrador do SAP Basis | 

### Configurar o CloudWatch agente
<a name="configure-the-cw-agent"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o CloudWatch agente. | Há várias maneiras de instalar o CloudWatch agente em uma EC2 instância. Para usar a linha de comandos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)Para obter mais informações, consulte a [documentação do CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html). | Administrador de sistemas AWS | 
| Anexe uma função do IAM à EC2 instância. | Para permitir que o CloudWatch agente envie dados das instâncias, você deve anexar a **CloudWatchAgentServerRole**função do IAM a cada instância. Ou você pode adicionar uma política para o CloudWatch agente à sua função atual do IAM. Para obter mais informações, consulte a [documentação do CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent-commandline.html). | Administrador da AWS | 
| Configure o CloudWatch agente para monitorar o arquivo de log do agente de alerta do Pacemaker na instância primária do cluster. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador da AWS | 
| Inicie o CloudWatch agente nas instâncias primárias e secundárias do cluster. | Para iniciar o agente, execute o seguinte comando nas EC2 instâncias dos clusters primário e secundário:<pre>sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m<br />ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json</pre> | Administrador da AWS | 

### Configurar CloudWatch recursos
<a name="set-up-cw-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure grupos de CloudWatch registros. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)O CloudWatch agente transferirá o arquivo de alerta do Pacemaker para o grupo de CloudWatch registros como um fluxo de registros. | Administrador da AWS | 
| Configure filtros CloudWatch métricos. | Os filtros métricos ajudam você a pesquisar um padrão, como `stop <cluster-resource-name>` nos fluxos de CloudWatch log. Quando esse padrão é identificado, o filtro de métricas atualiza uma métrica personalizada.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)Quando o filtro métrico identifica o padrão na etapa 4, ele atualiza o valor da métrica CloudWatch personalizada `sapcluster_abc` para **1**.O CloudWatch alarme `SAP-Cluster-QA1-ABC` monitora a métrica `sapcluster_abc` e envia uma notificação de SNS quando o valor da métrica muda para **1**. Isso indica que o recurso do cluster foi interrompido e que uma ação é necessária. | Administrador da AWS, administrador do SAP Basis | 
| Configure um alarme CloudWatch métrico para a métrica SAP ASCS/SCS e ERS. | Para criar um alarme baseado em uma única métrica:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador da AWS | 
| Configure um alarme CloudWatch métrico para a métrica do SAP HANA. | Repita as etapas para configurar um alarme CloudWatch métrico da tarefa anterior, com estas alterações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador da AWS | 

## Recursos relacionados
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-resources"></a>
+ [Triggering Scripts for Cluster Events](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/high_availability_add-on_reference/index#ch-alertscripts-HAAR) (documentação do RHEL)
+ [Crie o arquivo de configuração do CloudWatch agente com o assistente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html) (CloudWatch documentação)
+ [Instalando e executando o CloudWatch agente em seus servidores](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html) (CloudWatch documentação)
+ [Crie um CloudWatch alarme com base em um limite estático](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html) (CloudWatch documentação)
+ [Implantação manual do SAP HANA no AWS com clusters de alta disponibilidade](https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana-on-aws-manual-deployment-of-sap-hana-on-aws-with-high-availability-clusters.html) (documentação da SAP AWS no site)
+ [ NetWeaver Guias SAP](https://docs.aws.amazon.com/sap/latest/sap-netweaver/welcome.html) (documentação da SAP no AWS site)

## Anexos
<a name="attachments-ca4d282e-eadd-43fd-8506-3dbeb43e4db6"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/ca4d282e-eadd-43fd-8506-3dbeb43e4db6/attachments/attachment.zip)

# Monitore a atividade do aplicativo usando o CloudWatch Logs Insights
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumo
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-summary"></a>

Esse padrão fornece uma solução para detectar e alertar automaticamente sobre exceções de aplicativos usando o Amazon CloudWatch Logs Insights. Ao implementar a análise automatizada de logs e a geração de alertas, é possível identificar e responder rapidamente a problemas relacionados à aplicação em seu ambiente de produção.

Os logs desempenham um papel essencial no monitoramento do comportamento do sistema, na identificação de problemas e na garantia de uma performance ideal. Durante um processo de migração, os arquivos de log são indispensáveis para validar o funcionamento do sistema no novo ambiente, detectar problemas de compatibilidade e identificar quaisquer comportamentos inesperados. Os problemas podem estar relacionados às operações ou à segurança. Para problemas relacionados à segurança, é essencial habilitar a detecção antecipada de tentativas de acesso não autorizado ou atividades suspeitas para manter a segurança e a conformidade regulatória. Essa funcionalidade se torna particularmente relevante quando se trata de dados sensíveis ou sistemas críticos. 

Esse padrão é particularmente valioso para equipes que precisam fazer o seguinte:
+ Mantenha a alta disponibilidade dos aplicativos.
+ Responda rapidamente aos problemas de produção.
+ Analise erros específicos do aplicativo não capturados pelos registros. AWS service (Serviço da AWS) 
+ Execute análises de registros sob demanda sem infraestrutura pré-construída.

CloudWatch O Logs Insights é ideal para analisar registros gerados por aplicativos em que o contexto de erro existe somente no código do aplicativo. CloudWatch O Logs Insights se destaca nas seguintes tarefas:
+ Consulte dados de log não estruturados ou semiestruturados.
+ Realize análises sob demanda durante a resposta a incidentes.
+ Correlacione eventos em vários grupos de registros.
+ Crie visualizações rápidas sem ferramentas externas.

## Pré-requisitos e limitações
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-prereqs"></a>

**Pré-requisitos **
+ Um aplicativo de produção implantado no ativo Conta da AWS
+ Noções básicas sobre o formato de registro em log e os padrões de exceção da aplicação em produção
+ Logs de aplicativos configurados para serem transmitidos para o Amazon CloudWatch Logs

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

## Arquitetura
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-architecture"></a>

O diagrama a seguir mostra como o CloudWatch Logs Insights avalia os registros de recursos e envia uma visualização de dados relevante para um CloudWatch painel.

![\[CloudWatch O Logs Insights avalia os registros de recursos e envia a visualização de dados para o painel.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/082ff4b6-9303-42e6-bc62-263e2254f232/images/b1cbb699-07cd-45e6-ac06-839159bafa6b.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Os recursos publicam registros no CloudWatch Logs. Os recursos podem incluir AWS recursos como instâncias do Amazon Elastic Compute Cloud (Amazon EC2) ou buckets do Amazon Simple Storage Service (Amazon S3). Outro exemplo inclui sistemas locais com o CloudWatch Agente instalado que podem publicar CloudWatch registros em.

1. CloudWatch O Logs Insights filtra a sequência de padrões relevante. Exemplos de strings de padrão de pesquisa incluem “error”, “exception” ou uma expressão regular específica.

1. Normalmente, a equipe de suporte de produção ou os desenvolvedores adicionam a visualização do padrão ao CloudWatch painel.

**Automação e escala**

Os desenvolvedores podem automatizar a solução desse padrão usando o AWS Cloud Development Kit (AWS CDK) AWS CloudFormation, ou AWS SDKs para lidar com vários padrões de string. As equipes podem incorporar essa automação em seus processos de integração e implantação contínuas (CI/CD) DevOps .

## Ferramentas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-tools"></a>

**Serviços da AWS**
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) ajuda você a criar e controlar chaves criptográficas para ajudar a proteger seus dados.

## Práticas recomendadas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-best-practices"></a>

**Eficiência de consulta**
+ Defina e configure [grupos de logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) para analisar dados de log relevantes.
+ Use exploradores de campos para compreender a estrutura e os campos disponíveis nos seus dados de log.
+ Escreva consultas eficientes usando a [sintaxe de consulta do CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_LogsInsights.html).
+ Adapte as [consultas de amostra](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) aos seus requisitos específicos para uma análise mais rápida.
+ Limite os intervalos de tempo de consulta para reduzir os dados digitalizados e melhorar o desempenho.
+ [Salve as consultas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_Insights-Saving-Queries.html) para uso futuro, economizando tempo e garantindo uma análise consistente.

**Segurança**
+ Aplique [as políticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html) apropriadas do IAM aos CloudWatch Logs Insights e aos grupos de registros. Respeite o princípio de privilégio mínimo, garantindo somente as permissões estritamente necessárias para a execução de uma tarefa. Para obter mais informações, consulte [Concessão de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e [nas melhores práticas de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) na documentação do IAM.
+ Habilite a [criptografia de dados de log usando o AWS KMS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Encrypt.html) para dados de log sensíveis.

**Otimização de custos**
+ CloudWatch O Logs Insights cobra por GB de dados digitalizados por consulta. Limite os intervalos de tempo e segmente grupos de registros específicos para reduzir custos.
+ Configure políticas apropriadas de retenção de registros para gerenciar os custos de armazenamento.
+ Para uma análise frequente de grandes conjuntos de dados históricos, considere exportar logs para o Amazon S3 e usar o Amazon Athena.
+ Analise [CloudWatch os preços](https://aws.amazon.com/cloudwatch/pricing/) para entender as implicações de custo para seu caso de uso.

## Épicos
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-epics"></a>

### Criação de um grupo de logs e configuração dos logs para visualização no painel
<a name="create-log-group-and-configure-logs-to-view-in-dashboard"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configurar permissões do IAM | Para configurar as permissões do IAM, execute as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html)Para obter informações sobre como criar políticas do IAM ou adicionar permissões a políticas existentes, consulte [Defina permissões personalizadas do IAM com políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) e [Editar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) no *Guia do usuário do IAM*. Para obter mais informações, consulte [Gerenciamento de identidade e acesso para Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/auth-and-access-control-cwl.html) e [referência de permissões de CloudWatch registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/permissions-reference-cwl.html) no *Guia do usuário do Amazon CloudWatch Logs*. | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 
| Criar um grupo de logs do  | Para criar um grupo de logs, use uma das seguintes opções:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html) | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 
| Gere uma consulta do CloudWatch Logs Insights. | Para criar e salvar uma consulta do CloudWatch Logs Insights, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html) | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 
| Crie uma visualização em um CloudWatch painel. | Para usar um CloudWatch painel para criar uma visualização, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html)Para obter mais informações sobre as opções e recursos do painel, consulte [Uso de CloudWatch painéis da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) e [Criação de CloudWatch painéis flexíveis com variáveis de painel no Guia do](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html) *usuário do Amazon CloudWatch Logs*. | Administrador da AWS, AWS DevOps, administrador de sistemas da AWS, administrador de nuvem, arquiteto de nuvem, DevOps engenheiro | 

## Solução de problemas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Não é possível visualizar os resultados da consulta ou a consulta parece estar com problemas | Comece com uma consulta funcional que foi modificada a partir de uma [consulta de amostra](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html). Faça pequenas alterações incrementais em partes da consulta (como um filtro ou campo) e aproveite o [recurso gerador de consultas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Assist.html) de CloudWatch registros. | 
| Grupos de logs não conseguem criar fluxos de logs | Na política do IAM, certifique-se de que o recurso para as [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)operações [CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)e as seja fornecido com um `(*)` valor de caractere curinga. A operação `create ` não terá êxito sem essa permissão coringa. | 
| Tempo limite de consulta ou desempenho lento | Reduza o intervalo de tempo, vise grupos de registros específicos ou simplifique a consulta. Padrões complexos de expressão regular (`regex`) e grandes intervalos de tempo aumentam o tempo de consulta. | 
| Nenhum dado retornado para um intervalo de tempo válido | Verifique a seleção do grupo de registros e verifique se os registros estão sendo ingeridos (revise os fluxos de registros) e confirme se o padrão de filtro corresponde ao seu formato de registro. | 

## Recursos relacionados
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-resources"></a>
+ [Análise de dados de registro com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)
+ [Amazon CloudWatch FAQs](https://aws.amazon.com/cloudwatch/faqs/#topic-0)
+ [Criação de CloudWatch painéis flexíveis com variáveis de painel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html)
+ [Get started with Logs Insights QL: Query tutorials](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Tutorials.html)
+ [Use linguagem natural para gerar e atualizar consultas do CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Assist.html)
+ [Use PutDashboard com um AWS SDK ou CLI](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/example_cloudwatch_PutDashboard_section.html)
+ [Trabalhando com grupos de registros e fluxos de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)

# Monitore o uso de uma Amazon Machine Image compartilhada em várias Contas da AWS
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts"></a>

*Naveen Suthar e Sandeep Gawande, Amazon Web Services*

## Resumo
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-summary"></a>

As [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) são usadas para criar instâncias do Amazon Elastic Compute Cloud (Amazon EC2) em seu ambiente Amazon Web Services (AWS). Você pode criar AMIs em uma conta separada e centralizada da AWS, que é chamada de *conta de criador* nesse padrão. Em seguida, você pode compartilhar a AMI entre várias Contas da AWS que estão na mesma Região da AWS, chamadas de *contas de consumidores* nesse padrão. O gerenciamento AMIs a partir de uma única conta fornece escalabilidade e simplifica a governança. [Nas contas de consumidores, você pode fazer referência à AMI compartilhada nos [modelos de lançamento](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template.html) do Amazon EC2 Auto Scaling e nos grupos de nós do Amazon Elastic Kubernetes Service (Amazon EKS).](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html)

Quando uma AMI compartilhada é [descontinuada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html), tem seu [registro cancelado](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html) ou [deixa de ser compartilhada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html), os Serviços da AWS que fazem referência à AMI nas contas de consumidor não podem usar essa AMI para iniciar novas instâncias. Qualquer evento de ajuste de escala automático ou re-execução da mesma instância falha. Isso pode acarretar problemas no ambiente de produção, como tempo de inatividade do aplicativo ou comprometimento do desempenho. Quando os eventos de compartilhamento e uso da AMI ocorrem em vários Contas da AWS, pode ser difícil monitorar essa atividade.

Esse padrão ajuda você a monitorar o uso e o status compartilhados da AMI em contas na mesma região. Ele usa serviços sem servidor Serviços da AWS, como Amazon EventBridge, Amazon AWS Lambda DynamoDB e Amazon Simple Email Service (Amazon SES). Você provisiona a infraestrutura como código (IaC) usando o HashiCorp Terraform. Essa solução fornece alertas quando um serviço em uma conta de consumidor faz referência a uma AMI com registro cancelado ou não compartilhada.

## Pré-requisitos e limitações
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-prereqs"></a>

**Pré-requisitos **
+ Duas ou mais contas ativas Contas da AWS: uma conta de criador e uma ou mais contas de consumidor
+ Um ou mais AMIs que são compartilhados da conta do criador para uma conta de consumidor
+ CLI do Terraform, [instalada](https://developer.hashicorp.com/terraform/cli) (documentação do Terraform)
+ Terraform AWS Provider, [configurado (documentação](https://hashicorp.github.io/terraform-provider-aws/) do Terraform)
+ (Opcional, mas recomendado) Backend do Terraform, [configurado](https://developer.hashicorp.com/terraform/language/backend) (documentação do Terraform)
+ Git, [instalado](https://github.com/git-guides/install-git)

**Limitações**
+ Esse padrão monitora o AMIs que foi compartilhado com contas específicas usando o ID da conta. Esse padrão não monitora AMIs o que foi compartilhado com uma organização usando o ID da organização.
+ AMIs só podem ser compartilhadas com contas que estejam dentro da mesma Região da AWS. Esse padrão monitora AMIs dentro de uma única região alvo. Para monitorar o uso AMIs em várias regiões, você implanta essa solução em cada região.
+ Esse padrão não monitora nenhum AMIs que tenha sido compartilhado antes da implantação dessa solução. Se quiser monitorar o compartilhamento anterior AMIs, você pode cancelar o compartilhamento da AMI e depois compartilhá-la novamente com as contas do consumidor.

**Versões do produto**
+ Terraform versão 1.2.0 ou superior
+ Terraform AWS Provider versão 4.20 ou posterior

## Arquitetura
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-architecture"></a>

**Pilha de tecnologias de destino**

Os seguintes recursos são provisionados como IaC por meio do Terraform:
+ Tabelas do Amazon DynamoDB
+  EventBridge Regras da Amazon
+ AWS Identity and Access Management Função (IAM)
+ AWS Lambda funções
+ Amazon SES

**Arquitetura de destino**

![\[Arquitetura para monitorar o uso de AMIs compartilhadas e alertar os usuários se a AMI não for compartilhada ou se seu registro tiver sido cancelado\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/2d709249-0c68-47d7-be5d-46e8a73071ed/images/8c48c4dd-d681-4c32-9ba8-8f5ad2d66f64.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Uma AMI na conta de criador é compartilhada com uma conta de consumidor na mesma Região da AWS.

1. Quando a AMI é compartilhada, uma EventBridge regra na conta do criador captura o `ModifyImageAttribute` evento e inicia uma função Lambda na conta do criador.

1. A função do Lambda armazena dados relacionados à AMI em uma tabela do DynamoDB na conta de criador.

1. Quando uma AWS service (Serviço da AWS) conta do consumidor usa a AMI compartilhada para iniciar uma EC2 instância da Amazon ou quando a AMI compartilhada é associada a um modelo de execução, uma EventBridge regra na conta do consumidor captura o uso da AMI compartilhada.

1. A EventBridge regra inicia uma função Lambda na conta do consumidor. A função do Lambda faz o seguinte:

   1. A função do Lambda atualiza os dados relacionados à AMI em uma tabela do DynamoDB na conta de consumidor.

   1. A função do Lambda assume um perfil do IAM na conta de criador e atualiza a tabela do Lambda na conta de criador. Na tabela `Mapping`, ela cria um item que mapeia o ID da instância ou o ID do modelo de execução para o ID de sua respectiva AMI.

1. A AMI gerenciada centralmente na conta de criador foi descontinuada, teve seu registro cancelado ou não é compartilhada.

1. A EventBridge regra na conta do criador captura o `DeregisterImage` evento `ModifyImageAttribute` or com a `remove` ação e inicia a função Lambda.

1. A função do Lambda verifica a tabela do DynamoDB para determinar se a AMI é usada em alguma das contas de consumidor. Se não houver instância IDs ou modelo de execução IDs associado à AMI na `Mapping` tabela, o processo estará concluído.

1. Se alguma instância IDs ou modelo de execução IDs estiver associado à AMI na `Mapping` tabela, a função Lambda usa o Amazon SES para enviar uma notificação por e-mail aos assinantes configurados.

## Ferramentas
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-tools"></a>

**Serviços da AWS**
+ 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.
+  EventBridgeA [Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Por exemplo, AWS Lambda funções, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outros. Contas da AWS
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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 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.
+ [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html): ajuda você a enviar e receber e-mails usando seus próprios endereços de e-mail e domínios.

**Outras ferramentas**
+ O [HashiCorp Terraform](https://www.terraform.io/docs) é uma ferramenta de infraestrutura como código (IaC) que ajuda a provisionar e gerenciar recursos e infraestrutura de nuvem por meio de código.
+ [Python](https://www.python.org/) é uma linguagem de programação de computador de uso geral.

**Repositório de código**

O código desse padrão está disponível no repositório GitHub [cross-account-ami-monitoring-terraform-samples](https://github.com/aws-samples/cross-account-ami-monitoring-terraform-samples).

## Práticas recomendadas
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-best-practices"></a>
+ Siga as [melhores práticas para trabalhar com AWS Lambda funções](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html).
+ Siga as [melhores práticas de construção AMIs](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html).
+ Ao criar o perfil do IAM, siga o princípio do privilégio mínimo e conceda as permissões mínimas necessárias para executar uma tarefa. Para obter mais informações, consulte [Concessão de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e [nas melhores práticas de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html) na documentação do IAM.
+ Configure o monitoramento e o alerta para as AWS Lambda funções. Para obter mais informações, consulte [Monitorar e solucionar problemas de funções do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html).

## Épicos
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-epics"></a>

### Personalize os arquivos de configuração do Terraform
<a name="customize-the-terraform-configuration-files"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie os perfis AWS CLI nomeados. | Para a conta do criador e a conta de cada consumidor, crie um perfil chamado AWS Command Line Interface (AWS CLI). Para obter instruções, consulte [Configurar o AWS CLI](https://aws.amazon.com/getting-started/guides/setup-environment/module-three/) no Centro de recursos de AWS introdução. | DevOps engenheiro | 
| Clonar o repositório. | Insira o comando da a seguir. Isso clona o repositório [cross-account-ami-monitoring-terraform-samples usando SSH](https://github.com/aws-samples/cross-account-ami-monitoring-terraform-samples). GitHub <pre>git clone git@github.com:aws-samples/cross-account-ami-monitoring-terraform-samples.git</pre> | DevOps engenheiro | 
| Atualize o arquivo provider.tf. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html)Para obter mais informações sobre como configurar os provedores, consulte [Configurações de vários provedores](https://developer.hashicorp.com/terraform/language/providers/configuration#alias-multiple-provider-configurations) na documentação do Terraform. | DevOps engenheiro | 
| Atualize o arquivo terraform.tfvars. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 
| Atualize o arquivo main.tf. | Conclua essas etapas somente se você estiver implantando essa solução em mais de uma conta de consumidor. Se você estiver implantando essa solução em apenas uma conta de consumidor, nenhuma modificação desse arquivo será necessária.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 

### Implemente a solução usando o Terraform
<a name="deploy-the-solution-by-using-terraform"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implante a solução. | Na CLI do Terraform, insira os seguintes comandos para implantar os recursos AWS nas contas de criador e consumidor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 
| Verifique a identidade do endereço de e-mail. | Quando você implantou o plano Terraform, o Terraform criou uma identidade de endereço de e-mail para cada conta de consumidor no Amazon SES. Antes de enviar notificações para esse endereço de e-mail, você deve verificá-lo. Para obter instruções, consulte [Verificação da identidade de um endereço de e-mail](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#just-verify-email-proc) na documentação do Amazon SES. | AWS geral | 

### Validar a implantação de recursos
<a name="validate-resource-deployment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Valide a implantação na conta de criador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 
| Valide a implantação na conta de consumidor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 

### Validar o monitoramento
<a name="validate-monitoring"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma AMI na conta de criador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 
| Use a AMI na conta de consumidor. | Na conta do consumidor, use a AMI compartilhada para criar uma EC2 instância da Amazon ou um modelo de execução. Para obter instruções, consulte [Como faço para iniciar uma EC2 instância da Amazon a partir de uma AMI personalizada](https://repost.aws/knowledge-center/launch-instance-custom-ami) (AWS re:POST Knowledge Center) ou [Criar um modelo de lançamento para um grupo do Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) (documentação do Amazon Auto EC2 Scaling). | DevOps engenheiro | 
| Valide o monitoramento e os alertas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 

### (Opcional) Interromper o monitoramento compartilhado AMIs
<a name="optional-stop-monitoring-shared-amis"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Excluir os recursos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps engenheiro | 

## Solução de problemas
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Não recebi um alerta por e-mail. | Pode haver vários motivos pelos quais o e-mail do Amazon SES não foi enviado. Verifique o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | 

## Recursos relacionados
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-resources"></a>

**AWS documentação**
+ [Criar funções do Lambda com Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html) (documentação do Lambda)
+ [Crie uma AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami.html) ( EC2 documentação da Amazon)
+ [Compartilhe uma AMI com uma AMI específica Contas da AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) ( EC2 documentação da Amazon)
+ [Cancele o registro da sua AMI (documentação](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html) da Amazon EC2 )

**Documentação do Terraform**
+ [Instalar o Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)
+ [Configuração de backend do Terraform](https://www.terraform.io/language/settings/backends/configuration)
+ [Provedor Terraform do AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)
+ [Download binário do Terraform](https://developer.hashicorp.com/terraform/install)

# Ver os detalhes do snapshot do EBS para sua conta ou organização da AWS
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization"></a>

*Arun Chandapillai e Parag Nagwekar, Amazon Web Services*

## Resumo
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-summary"></a>

Este padrão descreve como você pode gerar automaticamente um relatório sob demanda de todos os snapshots do Amazon Elastic Block Store (Amazon EBS) na sua conta da Amazon Web Services (AWS) ou unidade organizacional (OU) no AWS Organizations. 

O Amazon EBS é um easy-to-use serviço de armazenamento em bloco escalável e de alto desempenho projetado para o Amazon Elastic Compute Cloud (Amazon). EC2 Um volume do EBS fornece armazenamento durável e persistente que você pode anexar às suas EC2 instâncias. Você pode usar volumes do EBS como armazenamento primário para seus dados e fazer um point-in-time backup dos volumes do EBS criando um snapshot. É possível usar o Console de Gerenciamento da AWS ou a AWS Command Line Interface (AWS CLI) para visualizar detalhes de snapshots específicos do EBS. Este padrão fornece uma forma programática de recuperar informações sobre todos os snapshots do EBS em sua conta ou OU da AWS.

Você pode usar o script fornecido por esse padrão para gerar um arquivo com valores separados por vírgula (CSV) que tenha as seguintes informações sobre cada snapshot: ID da conta, ID do snapshot, ID e tamanho do volume, data em que o snapshot foi obtido, ID da instância e descrição. Se seus snapshot do EBS estiverem marcados, o relatório também incluirá os atributos do proprietário e da equipe.

## Pré-requisitos e limitações
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ AWS CLI versão 2 [instalada](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions) e [configurada](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ Perfil do AWS Identity and Access Management (IAM) com as permissões apropriadas (permissões de acesso para uma conta específica ou para todas as contas em uma OU, se você estiver planejando executar o script a partir do AWS Organizations)

## Arquitetura
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-architecture"></a>

O diagrama a seguir mostra o fluxo de trabalho do script que gera um relatório sob demanda de snapshots do EBS distribuídos por várias contas da AWS em uma OU.

![\[Gerando um relatório sob demanda de instantâneos do EBS em todo o mundo. OUs\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/4e8b1812-2731-4f46-8385-0dd4d92f2d03/images/62d10408-7c85-46cf-a6a4-fe87a6e446f2.png)


## Ferramentas
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-tools"></a>

**Serviços da AWS**
+ A ‭[AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)‭ é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
+ [O Amazon Elastic Block Store (Amazon EBS) fornece volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) de armazenamento em nível de bloco para uso com instâncias. EC2  
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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 Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) é um serviço de gerenciamento de contas que permite consolidar várias contas AWS em uma organização que você cria e gerencia de maneira centralizada.

**Código **

O código do aplicativo de amostra usado nesse padrão está disponível em GitHub, no [aws-ebs-snapshots-awsorganizations](https://github.com/aws-samples/aws-ebs-snapshots-awsorganizations)repositório. Siga as instruções da próxima seção para usar os arquivos de amostra.

## Épicos
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-epics"></a>

### Faça download do script
<a name="download-the-script"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Baixe o script Python. | Baixe o script [GetSnapshotDetailsAllAccountsOU.py](https://github.com/aws-samples/aws-ebs-snapshots-awsorganizations/blob/main/GetSnapshotDetailsAllAccountsOU.py) do [GitHub repositório.](https://github.com/aws-samples/aws-ebs-snapshots-awsorganizations) | AWS geral | 

### Obtenha detalhes do snapshot do EBS para uma conta da AWS
<a name="get-ebs-snapshot-details-for-an-aws-account"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute o script em Python . | Execute o comando :<pre>python3 getsnapshotinfo.py --file <output-file>.csv --region <region-name> </pre>em que `<output-file>` se refere ao arquivo CSV resultante no qual você deseja que as informações sobre os snapshots do EBS sejam inseridas e `<region-name>` é a região da AWS em que os snapshots são armazenados. Por exemplo:<pre>python3 getsnapshotinfo.py --file snapshots.csv --region us-east-1 </pre> | AWS geral | 

### Obtenha detalhes do snapshot do EBS para uma organização
<a name="get-ebs-snapshot-details-for-an-organization"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute o script em Python . | Execute o comando :<pre>python3 getsnapshotinfo.py --file <output-file>.csv --role <IAM-role> --region <region-name> </pre>em que `<output-file>` se refere ao arquivo CSV resultante no qual você deseja que as informações sobre os snapshots do EBS sejam inseridas, `<IAM-role>` é o perfil que fornece as permissões para acesso à AWS Organizations e `<region-name>` é a região da AWS em que os snapshots são armazenados. Por exemplo:<pre>python3 getsnapshotinfo.py --file snapshots.csv --role <IAM role> --region us-west-2</pre> | AWS geral | 

## Recursos relacionados
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-resources"></a>
+ [Documentação do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
+ [Ações do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-ebs.html)
+ [Referência da API do Amazon EBS](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ebs/index.html)
+ [Aprimoramento do desempenho do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html)
+ [Recursos do Amazon EBS](https://aws.amazon.com/ebs/resources/)
+ [Definição de preço de snapshot EBS](https://aws.amazon.com/ebs/pricing/)

## Mais informações
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-additional"></a>

**Tipos de snapshots do EBS**

O Amazon EBS fornece três tipos de snapshots, com base na propriedade e no acesso:
+ **Pertencente a você**:**** por padrão, só é possível criar volumes a partir dos snapshots que você possui.
+ **Snapshots públicos**: você pode compartilhar snapshots publicamente com todas as outras contas da AWS. Para criar um snapshot público, você modifica as permissões de um snapshot para compartilhá-lo com as contas da AWS que você especificar. Os usuários autorizados podem usar os snapshots que você compartilhar para criar os próprios volumes do EBS, ao passo que seu snapshot original não será afetado. Se você desejar, poderá disponibilizar os snapshots não criptografados publicamente para todos os usuários da AWS. No entanto, você não pode disponibilizar publicamente seus snapshots criptografados por motivos de segurança. Os snapshots públicos representam um risco de segurança considerável devido à possibilidade de exposição de dados pessoais e confidenciais. É altamente recomendável não compartilhar seus snapshots do EBS com todas as contas da AWS. Para obter informações sobre a cópia de um DB snapshot, consulte a [documentação do AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html).
+ **Snapshots privados**: você pode compartilhar snapshots de forma privada com contas individuais da AWS que você especificar. Para compartilhar o snapshot de forma privada com contas específicas da AWS, siga as [instruções](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html#share-unencrypted-snapshot) na documentação da AWS e escolha **Privado** para a configuração de permissões. Os usuários autorizados podem usar os snapshots que você compartilhar para criar os próprios volumes do EBS, ao passo que seu snapshot original não será afetado.

**Visões gerais e procedimentos**

A tabela a seguir fornece links para obter mais informações sobre snapshots do EBS, incluindo como reduzir os custos de volume do EBS ao descobrir e excluir snapshots não utilizados, além de arquivar snapshots raramente acessados que não exigem recuperação frequente ou rápida. 


| 
| 
| Para obter mais informações sobre | Consulte | 
| --- |--- |
| **Snapshots, seus atributos e suas limitações** | [Criar snapshots de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html) | 
| **Para criar um snapshot** | Console: [criar um snapshot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html#ebs-create-snapshot)AWS CLI: [comando delete-snapshot](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-snapshot.html)Por exemplo:<pre>aws ec2 create-snapshot --volume-id vol-1234567890abcdef0 --description " volume snapshot"</pre> | 
| **Arquivamento de snapshots (informações gerais)** | [Excluir um snapshot do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-deleting-snapshot.html) | 
| **Para excluir um snapshot** | Console: [excluir um snapshot](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-deleting-snapshot.html#ebs-delete-snapshot)AWS CLI: [comando delete-snapshot](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-snapshot.html)Por exemplo:<pre>aws ec2 delete-snapshot --snapshot-id snap-1234567890abcdef0</pre> | 
| **Arquivamento de snapshots (informações gerais)** | [Arquivar snapshots do Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html)[Arquivo de snapshots do Amazon EBS](https://aws.amazon.com/blogs/aws/new-amazon-ebs-snapshots-archive/) (publicação no blog) | 
| **Para arquivar um snapshot** | Console: [arquivar um snapshot](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/working-with-snapshot-archiving.html#archive-snapshot)[AWS CLI: comando modify-snapshot-tier ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/modify-snapshot-tier.html) | 
| **Como recuperar um snapshot arquivado** | Console: [Restaurar um snapshot arquivado](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/working-with-snapshot-archiving.html#restore-archived-snapshot)[AWS CLI: comando restore-snapshot-tier ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/restore-snapshot-tier.html) | 
| **Definição de preço de snapshot** | [Preços do Amazon EBS](https://aws.amazon.com/ebs/pricing/) | 

**PERGUNTAS FREQUENTES**

**Qual o período mínimo de arquivamento?**

O período de arquivamento mínimo é de 90 dias.

**Quanto tempo seria necessário para restaurar um snapshot arquivado?**

Pode levar até 72 horas para restaurar um snapshot arquivado da camada de arquivo para a camada padrão, dependendo do tamanho do snapshot.

**Os snapshots arquivados são snapshots completos?**

Os snapshots arquivados são sempre snapshots completos.

**Quais snapshots um usuário pode arquivar?**

Só é possível arquivar os snapshots que você possui na sua conta.

**Você pode arquivar um snapshot do volume de um dispositivo raiz de uma imagem de máquina da Amazon (AMI) registrada?**

Não, você não pode arquivar um snapshot do volume do dispositivo raiz de uma AMI registrada.

**Quais são as considerações de segurança para compartilhar um snapshot?**

Ao compartilhar um snapshot, você está oferecendo a outras pessoas o acesso a todos os dados no snapshot. Compartilhe snapshots somente com as pessoas de sua confiança.

**Como você compartilha um snapshot com outra região da AWS?**

Os snapshots são restritos à região na qual foram criados. Para compartilhar um snapshot com outra região, copie o snapshot nessa região e, em seguida, compartilhe a cópia.

**Você pode compartilhar snapshots criptografados?**

Não é possível compartilhar snapshots criptografados com a chave gerenciada pela AWS padrão. Você só pode compartilhar snapshots criptografados com uma chave gerenciada pelo cliente. Ao compartilhar um snapshot criptografado, também é necessário compartilhar a chave gerenciada pelo cliente usada para criptografar o snapshot.

**E quanto aos snapshots não criptografados?**

É possível compartilhar apenas snapshots não criptografados publicamente.

# Mais padrões
<a name="governance-more-patterns-pattern-list"></a>

**Topics**
+ [Automatize a criação de contas usando o Landing Zone Accelerator em AWS](automate-account-creation-lza.md)
+ [Automatize as operações de AWS infraestrutura usando o Amazon Bedrock](automate-aws-infrastructure-operations-by-using-amazon-bedrock.md)
+ [Automatize a avaliação de recursos da AWS](automate-aws-resource-assessment.md)
+ [Faça o inventário automático de AWS recursos em várias contas e regiões](automate-aws-resource-inventory.md)
+ [Automatize o portfólio e a implantação de produtos do AWS Service Catalog usando o AWS CDK](automate-aws-service-catalog-portfolio-and-product-deployment-by-using-aws-cdk.md)
+ [Automatize o gerenciamento dinâmico de pipelines para implantar soluções de hotfix em ambientes Gitflow usando e AWS Service Catalog AWS CodePipeline](automate-dynamic-pipeline-management-for-deploying-hotfix-solutions.md)
+ [Automatização da ingestão e da visualização de métricas personalizadas do Amazon MWAA no Amazon Managed Grafana usando o Terraform](automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.md)
+ [Anexe automaticamente uma política gerenciada da AWS para Systems Manager aos perfis de EC2 instância usando o Cloud Custodian e o AWS CDK](automatically-attach-an-aws-managed-policy-for-systems-manager-to-ec2-instance-profiles-using-cloud-custodian-and-aws-cdk.md)
+ [Criptografe automaticamente volumes novos e existentes do Amazon EBS](automatically-encrypt-existing-and-new-amazon-ebs-volumes.md)
+ [Crie uma AWS landing zone que inclua o MongoDB Atlas](build-aws-landing-zone-that-includes-mongodb-atlas.md)
+ [Centralize o monitoramento usando o Amazon CloudWatch Observability Access Manager](centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.md)
+ [Verifique as EC2 instâncias para ver as tags obrigatórias no lançamento](check-ec2-instances-for-mandatory-tags-at-launch.md)
+ [Limpe os recursos AWS do Account Factory for Terraform (AFT) com segurança após a perda do arquivo de estado](clean-up-aft-resources-safely-after-state-file-loss.md)
+ [Crie uma definição de tarefa do Amazon ECS e monte um sistema de arquivos em EC2 instâncias usando o Amazon EFS](create-an-amazon-ecs-task-definition-and-mount-a-file-system-on-ec2-instances-using-amazon-efs.md)
+ [Crie regras AWS Config personalizadas usando AWS CloudFormation Guard políticas](create-aws-config-custom-rules-by-using-aws-cloudformation-guard-policies.md)
+ [Personalize os nomes das funções padrão usando AWS CDK aspectos e escotilhas de escape](customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.md)
+ [Implemente e gerencie AWS Control Tower controles usando AWS CDK e CloudFormation](deploy-and-manage-aws-control-tower-controls-by-using-aws-cdk-and-aws-cloudformation.md)
+ [Implemente e gerencie AWS Control Tower controles usando o Terraform](deploy-and-manage-aws-control-tower-controls-by-using-terraform.md)
+ [Implemente código em várias regiões da AWS usando AWS CodePipeline CodeCommit, AWS e AWS CodeBuild](deploy-code-in-multiple-aws-regions-using-aws-codepipeline-aws-codecommit-and-aws-codebuild.md)
+ [Implante aplicativos em contêineres em AWS IoT Greengrass V2 execução como um contêiner Docker](deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.md)
+ [Habilite a Amazon GuardDuty condicionalmente usando modelos AWS CloudFormation](enable-amazon-guardduty-conditionally-by-using-aws-cloudformation-templates.md)
+ [Habilite o arquivamento de DB2 logs diretamente no Amazon S3 em um banco de dados IBM Db2](enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database.md)
+ [Exporte um relatório das identidades do AWS IAM Identity Center e suas atribuições usando PowerShell](export-a-report-of-aws-iam-identity-center-identities-and-their-assignments-by-using-powershell.md)
+ [Gere um CloudFormation modelo da AWS contendo regras gerenciadas do AWS Config usando o Troposphere](generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.md)
+ [Conceda às instâncias do SageMaker notebook acesso temporário a um CodeCommit repositório em outra conta da AWS](give-sagemaker-notebook-instances-temporary-access-to-a-codecommit-repository-in-another-aws-account.md)
+ [Integre o controlador universal Stonebranch com o AWS Mainframe Modernization](integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.md)
+ [Lance um CodeBuild projeto em várias contas da AWS usando Step Functions e uma função de proxy Lambda](launch-a-codebuild-project-across-aws-accounts-using-step-functions-and-a-lambda-proxy-function.md)
+ [Gerencie conjuntos de AWS permissões dinamicamente usando o Terraform](manage-aws-permission-sets-dynamically-by-using-terraform.md)
+ [Migre aplicativos hospedados no IIS para a Amazon EC2 usando o appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migrar certificados SSL do Windows para um Application Load Balancer usando o ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Monitorar a atividade do usuário raiz do IAM](monitor-iam-root-user-activity.md)
+ [Crie uma arquitetura IPAM hierárquica e multirregional usando o Terraform AWS](multi-region-ipam-architecture.md)
+ [Otimize implantações sem servidor de várias contas usando os fluxos de trabalho e Actions AWS CDK GitHub](optimize-multi-account-serverless-deployments.md)
+ [Preserve o espaço IP roteável em projetos de VPC com várias contas para sub-redes sem workload](preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets.md)
+ [Provisione funções do IAM com privilégios mínimos implantando uma solução de máquina de venda automática de funções](provision-least-privilege-iam-roles-by-deploying-a-role-vending-machine-solution.md)
+ [Registre vários Contas da AWS com um único endereço de e-mail usando o Amazon SES](register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.md)
+ [Remova EC2 as entradas Contas da AWS da Amazon em frente AWS Managed Microsoft AD usando a AWS Lambda automação](remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.md)
+ [Remova EC2 as entradas da Amazon na mesma forma Conta da AWS AWS Managed Microsoft AD usando a AWS Lambda automação](remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.md)
+ [Proteja dados confidenciais em CloudWatch registros usando o Amazon Macie](secure-cloudwatch-logs-using-macie.md)
+ [Envie notificações para uma instância de banco de dados Amazon RDS para SQL Server usando um servidor SMTP on-premises e o Database Mail](send-notifications-for-an-amazon-rds-for-sql-server-database-instance-by-using-an-on-premises-smtp-server-and-database-mail.md)
+ [Configure um painel de monitoramento da Grafana para a AWS ParallelCluster](set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.md)
+ [Configuração do registro em log centralizado em escala empresarial usando o Terraform](set-up-centralized-logging-at-enterprise-scale-by-using-terraform.md)
+ [Configure a recuperação de desastres para SAP no IBM Db2 na AWS](set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.md)
+ [Simplifique o gerenciamento de EC2 conformidade da Amazon com agentes do Amazon Bedrock e AWS Config](streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config.md)
+ [Marque anexo do gateway de trânsito automaticamente usando o AWS Organizations](tag-transit-gateway-attachments-automatically-using-aws-organizations.md)
+ [Use as consultas do BMC Discovery para extrair dados de migração para o planejamento da migração](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)
+ [Verifique as melhores práticas operacionais para o PCI DSS 4.0 usando AWS Config](verify-ops-best-practices-pci-dss-4.md)
+ [Visualização de logs e métricas do AWS Network Firewall usando o Splunk](view-aws-network-firewall-logs-and-metrics-by-using-splunk.md)
+ [Visualize relatórios de credenciais do IAM para todas as contas da AWS usando o Amazon Quick Sight](visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight.md)

# Mensagens e comunicações
<a name="messagingandcommunications-pattern-list"></a>

**Topics**
+ [Automatize a configuração RabbitMQ no Amazon MQ](automate-rabbitmq-configuration-in-amazon-mq.md)
+ [Melhore a qualidade das chamadas nas estações de trabalho dos atendentes nas centrais de atendimento do Amazon Connect](improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.md)
+ [Mais padrões](messagingandcommunications-more-patterns-pattern-list.md)

# Automatize a configuração RabbitMQ no Amazon MQ
<a name="automate-rabbitmq-configuration-in-amazon-mq"></a>

*Yogesh Bhatia e Afroz Khan, Amazon Web Services*

## Resumo
<a name="automate-rabbitmq-configuration-in-amazon-mq-summary"></a>

O [Amazon MQ](https://docs.aws.amazon.com/amazon-mq/) é um serviço de agente de mensagens gerenciado, que fornece compatibilidade com muitos agentes de mensagens populares. O uso do Amazon MQ com o RabbitMQ fornece um cluster RabbitMQ robusto gerenciado no com vários agentes e opções de configuração. Nuvem AWS O Amazon MQ fornece uma infraestrutura altamente disponível, segura e escalável e pode processar um grande número de mensagens por segundo com facilidade. Vários aplicativos podem usar a infraestrutura com diferentes hosts virtuais, filas e trocas. No entanto, gerenciar essas opções de configuração ou criar a infraestrutura manualmente pode exigir tempo e esforço. Esse padrão descreve uma forma de gerenciar as configurações do RabbitMQ em uma única etapa, por meio de um único arquivo. Você pode incorporar o código fornecido com esse padrão em qualquer ferramenta de integração contínua (CI), como Jenkins ou Bamboo. 

Você pode usar esse padrão para configurar qualquer cluster do RabbitMQ. Tudo o que é necessário é conectividade com o cluster. Embora existam muitas outras maneiras de gerenciar as configurações do RabbitMQ, essa solução cria configurações completas do aplicativo em uma única etapa, para que você possa gerenciar filas e outros detalhes com facilidade.

## Pré-requisitos e limitações
<a name="automate-rabbitmq-configuration-in-amazon-mq-prereqs"></a>

**Pré-requisitos **
+ AWS Command Line Interface (AWS CLI) [instalado e configurado](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html) para apontar para seu Conta da AWS
+ Ansible instalado, para que você possa executar playbooks para criar a configuração
+ **rabbitmqadmin** instalado (para obter instruções, consulte a [documentação do RabbitMQ](https://www.rabbitmq.com/management-cli.html))
+ Um cluster RabbitMQ no Amazon MQ, criado com métricas saudáveis da Amazon CloudWatch 

**Requisitos adicionais**
+ Certifique-se de criar as configurações para hosts virtuais e usuários separadamente e não como parte do JSON.
+ Certifique-se de a configuração JSON faça parte do repositório e tenha controle de versão.
+ A versão da CLI do **rabbitmqadmin** deve ser a mesma do servidor RabbitMQ, então a melhor opção é baixar a CLI do console do RabbitMQ.
+ Como parte do pipeline, certifique-se que a sintaxe JSON seja validada antes de cada execução.

**Versões do produto**
+ AWS CLI versão 2.0
+ Ansible versão 2.9.13
+ **rabbitmqadmin** versão 3.9.13 (deve ser igual à versão do servidor RabbitMQ)

## Arquitetura
<a name="automate-rabbitmq-configuration-in-amazon-mq-architecture"></a>

**Pilha de tecnologia de origem**
+ Um cluster RabbitMQ executado em uma máquina virtual (VM) on-premises existente ou em um cluster Kubernetes (no local ou na nuvem)

**Pilha de tecnologias de destino**
+ Configurações automatizadas do Automated RabbitMQ no Amazon MQ para RabbitMQ

**Arquitetura de destino**

Há muitas formas de configurar o RabbitMQ. Esse padrão usa a funcionalidade de configuração de importação, em que um único arquivo JSON contém todas as configurações. Esse arquivo aplica todas as configurações e pode ser gerenciado por um sistema de controle de versão, como o Bitbucket ou o Git. Esse padrão usa o Ansible para implementar a configuração por meio da CLI **rabbitmqadmin**.

![\[Automatizar a configuração do RabbitMQ no Amazon MQ\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/294120b6-c95f-4cc5-bf85-5ad7e2abdad5/images/292e1284-5c9e-4c82-bb41-010fa84d8d74.png)


## Ferramentas
<a name="automate-rabbitmq-configuration-in-amazon-mq-tools"></a>

**Serviços da AWS**
+ O [Amazon MQ](https://docs.aws.amazon.com/amazon-mq/) é um serviço gerenciado de agente de mensagens que facilita a configuração e operação de agentes de mensagem na nuvem.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ajuda você a configurar sua AWS infraestrutura e acelerar o provisionamento em nuvem com a infraestrutura como código.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)permite que você interaja Serviços da AWS usando comandos em um shell de linha de comando. 

**Outras ferramentas**
+ [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) é uma ferramenta de linha de comando para a API baseada em HTTP do RabbitMQ. Ele é usado para gerenciar e monitorar nós e clusters do RabbitMQ.
+ O [Ansible](https://www.ansible.com/) é uma ferramenta de código aberto para automatizar aplicativos e infraestrutura de TI.

**Repositório de código**

O arquivo de configuração JSON usado nesse padrão e um exemplo de manual do Ansible são fornecidos no anexo.

## Épicos
<a name="automate-rabbitmq-configuration-in-amazon-mq-epics"></a>

### Crie sua AWS infraestrutura
<a name="create-your-aws-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um cluster RabbitMQ em. AWS | Se você ainda não tem um cluster RabbitMQ, você pode usá-lo [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)para criar a pilha em. AWS Ou você pode usar o [CloudFormation módulo no Ansible](https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/cloudformation_module.html) para criar a pilha. Com a última abordagem, você pode usar o Ansible para as duas tarefas: criar a infraestrutura do RabbitMQ e gerenciar configurações.  | AWS geral, Ansible | 

### Criar as configurações do Amazon MQ para RabbitMQ
<a name="create-the-amqlong-for-rabbitmq-configuration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um arquivo de propriedades. | Faça o download do arquivo de configuração JSON (`rabbitmqconfig.json`) no anexo ou exporte-o do console do RabbitMQ.  Modifique-o para configurar filas, trocas e vinculações. Este arquivo de configuração demonstra o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-rabbitmq-configuration-in-amazon-mq.html)Essas configurações são realizadas no host virtual root (/), conforme exigido pelo **rabbitmqadmin**.  | JSON | 
| Recupere os detalhes da infraestrutura do Amazon MQ para RabbitMQ. | Recupere os seguintes detalhes da infraestrutura do RabbitMQ em: AWS[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-rabbitmq-configuration-in-amazon-mq.html)Você pode usar o Console de gerenciamento da AWS ou o AWS CLI para recuperar essas informações. Esses detalhes permitem que o manual do Ansible se conecte ao seu Conta da AWS e use o cluster RabbitMQ para executar comandos.O computador que executa o manual do Ansible deve ser capaz de acessar seu Conta da AWS e já AWS CLI deve estar configurado, conforme descrito na seção *Pré-requisitos*. | AWS geral | 
| Crie o arquivo `hosts_var`. | Crie o arquivo `hosts_var` para o Ansible e certifique-se de que todas as variáveis estejam definidas no arquivo. Considere usar o Ansible Vault para armazenar a senha. Você pode configurar o arquivo `hosts_var` da seguinte forma (substitua os asteriscos pelas suas informações):<pre>RABBITMQ_HOST: "***********.mq.us-east-2.amazonaws.com"<br />RABBITMQ_VHOST: "/"<br />RABBITMQ_USERNAME: "admin"<br />RABBITMQ_PASSWORD: "*******"</pre> | Ansible | 
| Crie um manual do Ansible. | Para obter um exemplo de manual, consulte `ansible-rabbit-config.yaml` no anexo. Faça o download e salve esse arquivo. O manual do Ansible importa e gerencia todas as configurações do RabbitMQ, como filas, trocas e vinculações, que os aplicativos exigem. Siga as práticas recomendadas dos manuais do Ansible, como proteger senhas. Use o Ansible Vault para criptografia de senha e recupere a senha do RabbitMQ do arquivo criptografado. | Ansible | 

### Implantar a configuração
<a name="deploy-the-configuration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute o manual. | Execute o manual do Ansible que você criou no épico anterior.<pre>ansible-playbook ansible-rabbit-config.yaml</pre>Você pode verificar as novas configurações no console do RabbitMQ. | AWS geral, RabbitMQ, Ansible | 

## Recursos relacionados
<a name="automate-rabbitmq-configuration-in-amazon-mq-resources"></a>
+ [Migração do RabbitMQ para o Amazon MQ (publicação](https://aws.amazon.com/blogs/compute/migrating-from-rabbitmq-to-amazon-mq/) no blog)AWS 
+ [Ferramenta de linha de comando de gerenciamento](https://www.rabbitmq.com/management-cli.html) (documentação do RabbitMQ)
+ [Criar ou excluir uma AWS CloudFormation pilha (documentação](https://docs.ansible.com/ansible/latest/collections/amazon/aws/cloudformation_module.html) do Ansible)
+ [Migração de aplicativos orientados por mensagens para o Amazon MQ for AWS RabbitMQ](https://aws.amazon.com/blogs/compute/migrating-message-driven-applications-to-amazon-mq-for-rabbitmq/) (postagem no blog)

## Anexos
<a name="attachments-294120b6-c95f-4cc5-bf85-5ad7e2abdad5"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: [ attachment.zip](samples/p-attach/294120b6-c95f-4cc5-bf85-5ad7e2abdad5/attachments/attachment.zip)

# Melhore a qualidade das chamadas nas estações de trabalho dos atendentes nas centrais de atendimento do Amazon Connect
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers"></a>

*Ernest Ozdoba, Amazon Web Services*

## Resumo
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-summary"></a>

Os problemas de qualidade das chamadas são alguns dos problemas mais difíceis de solucionar nas centrais de atendimento. Para evitar problemas de qualidade de voz e procedimentos complexos de solução de problemas, você deve otimizar o ambiente de trabalho e as configurações da estação de trabalho de seus atendentes. Esse padrão descreve técnicas de otimização da qualidade de voz para estações de trabalho de atendentes nas centrais de atendimento do Amazon Connect. Ele fornece recomendações nas seguintes áreas:
+ Ajustes no ambiente de trabalho. O ambiente dos atendentes não afeta a forma como a voz é transmitida pela rede, mas afeta a qualidade da chamada. 
+ Configurações da estação de trabalho do atendente. As configurações de hardware e rede para estações de trabalho de central de atendimento têm efeitos significativos na qualidade das chamadas.
+ Configurações do navegador. Os atendentes usam um navegador da web para acessar o site do Amazon Connect Contact Control Panel (CCP) e se comunicar com os clientes, portanto, as configurações do navegador podem afetar a qualidade da chamada.

Os componentes a seguir também podem afetar a qualidade da chamada, mas estão fora do escopo da estação de trabalho e não são abordados nesse padrão:
+ O tráfego flui para a nuvem da Amazon Web Services (AWS) por meio do AWS Direct Connect, uma VPN de túnel completo ou uma VPN de túnel dividido  
+ Condições de rede ao trabalhar dentro ou fora do escritório corporativo
+ Conectividade de rede telefônica pública comutada (PSTN)
+ O dispositivo e a operadora de telefonia do cliente
+ Configuração da infraestrutura de área de trabalho virtual (VDI)

Para obter mais informações relacionadas a essas áreas, consulte [Problemas comuns do Painel de Controle de Contato (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html) e [Use o Endpoint Test Utility](https://docs.aws.amazon.com/connect/latest/adminguide/check-connectivity-tool.html) na documentação do Amazon Connect.

## Pré-requisitos e limitações
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-prereqs"></a>

**Pré-requisitos **
+ Os fones de ouvido e as estações de trabalho devem estar em conformidade com os requisitos especificados no [Guia do administrador do Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-agent-hardware.html). 

**Limitações**
+ As técnicas de otimização desse padrão se aplicam à qualidade de voz do telefone virtual. Elas não se aplicam quando você configura o Amazon Connect CCP no modo de telefone fixo. No entanto, você pode usar o modo telefone de mesa se a configuração do seu softphone não fornecer uma qualidade de voz aceitável para a chamada.

**Versões do produto**
+ Para ver os navegadores e versões compatíveis, consulte o [Guia do administrador do Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/browsers.html).

## Arquitetura
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-architecture"></a>

Esse padrão é independente da arquitetura porque tem como alvo as configurações da estação de trabalho do atendente. Como mostra o diagrama a seguir, o caminho de voz do atendente para o cliente é afetado pelo fone de ouvido, navegador, sistema operacional, hardware da estação de trabalho e rede do atendente.

![\[Caminho de voz do atendente para o cliente nas chamadas da estação de trabalho do Amazon Connect\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/04ac4c80-30c4-4a48-8411-e3aac7bc2887/images/04e94efc-39d1-424d-a299-89ea17d40153.png)


Nas centrais de contato do Amazon Connect, a conectividade de áudio do usuário é estabelecida com o WebRTC. A voz é codificada com o [codec de áudio interativo Opus](https://opus-codec.org/) e criptografada com o Protocolo de Transporte Seguro em Tempo Real (SRTP) em trânsito. Outras arquiteturas de rede são possíveis, incluindo redes VPN, WAN/LAN privadas e ISP.

## Ferramentas
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-tools"></a>
+ [Amazon Connect Endpoint Test Utility](https://tools.connect.aws/endpoint-test/): esse utilitário verifica a conectividade de rede e as configurações do navegador.
+ Editores de configuração do navegador para configurações do WebRTC:
  + Para Firefox: **about:config**
  + Para Chrome: **chrome://flags**
+ [CCP Log Parser ](https://tools.connect.aws/ccp-log-parser/index.html): essa ferramenta ajuda você a analisar os registros do CCP para fins de solução de problemas.

## Épicos
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-epics"></a>

### Ajuste o ambiente de trabalho
<a name="adjust-the-work-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Reduza o ruído de fundo. | Evite ambientes ruidosos. Se isso não for possível, otimize o ambiente com estas dicas de isolamento acústico:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Atendente e gerente | 

### Otimize as configurações da estação de trabalho do atendente
<a name="optimize-agent-workstation-settings"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Escolha o fone de ouvido certo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Atendente e gerente | 
| Use o fone de ouvido conforme pretendido. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Agente | 
| Verifique os recursos da estação de trabalho. | Certifique-se de que os computadores de seus atendentes tenham bom desempenho. Se eles usarem aplicativos de terceiros que consomem recursos, seus computadores podem não atender aos [requisitos mínimos de hardware](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-agent-hardware.html) para executar o CCP. Se os atendentes tiverem problemas de qualidade de chamada, verifique se eles têm capacidade de processamento (CPU), espaço em disco, largura de banda da rede e memória suficientes disponíveis para o CCP. Os atendentes devem fechar todos os aplicativos e guias desnecessários para melhorar o desempenho do CCP e a qualidade das chamadas. | Administrador | 
| Defina as configurações de som do sistema operacional. | As configurações padrão para nível e aumento do microfone geralmente funcionam bem. Se você achar que a voz de saída está baixa ou o microfone está captando demais, talvez seja útil ajustar essas configurações. As configurações do microfone podem ser encontradas na configuração de som do sistema do seu computador (**Som**, **Entrada** no [macOS](https://support.apple.com/en-gb/guide/mac-help/mchlp2567/12.0/mac/12.0), **Propriedades do microfone** no [Windows](https://support.microsoft.com/en-us/windows/fix-microphone-problems-5f230348-106d-bfa4-1db5-336f35576011)). Você pode acessar configurações avançadas que podem afetar a qualidade da voz por meio de ferramentas do sistema ou aplicativos de terceiros. Aqui estão algumas das configurações que você pode verificar:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html)Se você estiver enfrentando problemas de qualidade de voz, tente restaurar esses valores às configurações padrão antes de investigar mais a fundo.Para obter mais informações sobre essas e outras configurações ajustáveis, consulte o manual do seu dispositivo. | Atendente e administrador | 
| Use uma rede com fio. | Normalmente, a Ethernet com fio tem menor latência, por isso é mais fácil fornecer a qualidade de transmissão consistente necessária para a transmissão de dados de voz.  Recomendamos, no mínimo, 100 KB de largura de banda por chamada. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Administradores de rede, atendente | 
| Atualize os drivers de hardware. | Ao usar um USB ou outro tipo de fone de ouvido que tenha seu próprio firmware, recomendamos que você o mantenha atualizado com a versão mais recente. Fones de ouvido simples que usam uma porta auxiliar usam o dispositivo de áudio integrado do computador, portanto, verifique se o driver de hardware do sistema operacional está atualizado. Em casos raros, uma atualização do driver de áudio pode causar problemas de áudio e talvez seja necessário revertê-la. Para obter mais informações sobre como alterar as versões do firmware e do driver, consulte o manual do dispositivo. | Administrador | 
| Evite hubs e dongles USB. | Ao conectar o fone de ouvido, evite dispositivos adicionais, como dongles, conversores de tipo de porta, hubs e cabos de extensão.Esses dispositivos podem afetar a qualidade da chamada. Em vez disso, conecte seu dispositivo diretamente à porta do seu computador. | Agente | 
| Verifique os logs do CCP. | O CCP Log Parser fornece uma maneira fácil de verificar os logs do aplicativo.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Atendente (habilidades avançadas) | 

### Para otimizar as configurações do navegador
<a name="optimize-browser-settings"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Restaurar configurações padrão do WebRTC. | O WebRTC deve estar habilitado para fazer chamadas telefônicas flexíveis com o CCP. Recomendamos que você mantenha as configurações padrão dos recursos relacionados ao WebRTC. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Administrador | 
| Desative as extensões do navegador ao solucionar problemas. | Algumas extensões do navegador podem afetar a qualidade das chamadas ou até mesmo impedir que as chamadas se conectem corretamente. Use a janela anônima ou o modo privado em seu navegador e desative todas as extensões. Se isso resolver o problema, revise as extensões do seu navegador e procure complementos suspeitos ou desative-os individualmente. | Atendente e administrador | 
| Verifique a taxa de amostragem do navegador.  | Confirme se a entrada do microfone está configurada para a taxa de amostragem ideal de 48 kHz. Para obter instruções, consulte o [Guia do administrador do Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/verify-sample-rate.html). | Atendente e administrador | 

## Recursos relacionados
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-resources"></a>

Se você seguiu as etapas desse padrão, mas ainda está enfrentando problemas com a qualidade da chamada, consulte os recursos a seguir para obter dicas de solução de problemas.
+ Analise os [problemas comuns do Painel de Controle de Contato (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html).
+ Verifique a conexão com o [Endpoint Test Utility](https://docs.aws.amazon.com/en_us/connect/latest/adminguide/check-connectivity-tool.html).
+ Siga o [guia de solução de problemas ](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshooting.html)para outros problemas. 

Se a solução de problemas e os ajustes não resolverem o problema de qualidade da chamada, a causa raiz pode ser externa à sua estação de trabalho. Para solucionar problemas adicionais, entre em contato com sua equipe de suporte de TI. 

# Mais padrões
<a name="messagingandcommunications-more-patterns-pattern-list"></a>

**Topics**
+ [Decomponha monólitos em microsserviços usando o CQRS e o fornecimento de eventos](decompose-monoliths-into-microservices-by-using-cqrs-and-event-sourcing.md)
+ [Implemente uma ChatOps solução para gerenciar os resultados do escaneamento SAST usando o Amazon Q Developer em aplicativos de bate-papo, ações personalizadas e CloudFormation](deploy-chatops-solution-to-manage-sast-scan-results.md)
+ [Integre o Amazon API Gateway com o Amazon SQS para lidar com REST assíncrono APIs](integrate-amazon-api-gateway-with-amazon-sqs-to-handle-asynchronous-rest-apis.md)
+ [Desenvolvimento e implantação simplificados de bots do Amazon Lex usando um fluxo de trabalho automatizado](streamline-amazon-lex-bot-development-and-deployment-using-an-automated-workflow.md)

# Estratégia de várias contas
<a name="multiaccountstrategy-pattern-list"></a>

**Topics**
+ [Migrar uma conta de AWS membro de para AWS Organizations AWS Control Tower](migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.md)
+ [Configure alertas para encerramentos programáticos de contas no AWS Organizations](set-up-alerts-for-programmatic-account-closures-in-aws-organizations.md)
+ [Mais padrões](multiaccountstrategy-more-patterns-pattern-list.md)

# Migrar uma conta de AWS membro de para AWS Organizations AWS Control Tower
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower"></a>

*Rodolfo Jr. Cerrada, Amazon Web Services*

## Resumo
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-summary"></a>

Esse padrão descreve como migrar uma AWS Organizations, Conta da AWS de onde é uma conta de membro governada por uma conta de gerenciamento. AWS Control Tower Ao cadastrar a conta AWS Control Tower, você pode aproveitar os controles e recursos preventivos e de detetive que simplificam a governança da sua conta. Talvez você também queira migrar sua conta de membro caso sua conta de gerenciamento do AWS Organizations tenha sido comprometida e queira transferir as contas dos membros para uma nova organização que seja governada por. AWS Control TowerAWS Control Tower 

AWS Control Tower fornece uma estrutura que combina e integra os recursos de várias outras Serviços da AWS, inclusive AWS Organizations, e garante conformidade e governança consistentes em seu ambiente de várias contas. Com AWS Control Tower, você pode seguir um conjunto de regras e definições prescritas que ampliam os recursos do AWS Organizations. Por exemplo, você pode usar controles para garantir que os registros de segurança e as permissões necessárias de acesso entre contas sejam criados, e não alterados.

## Pré-requisitos e limitações
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ AWS Control Tower configurado em sua organização-alvo em AWS Organizations (para obter instruções, consulte [Configuração](https://docs.aws.amazon.com/controltower/latest/userguide/setting-up.html) na AWS Control Tower documentação)
+ Credenciais de administrador para AWS Control Tower (membro do **AWSControlTowerAdmins**grupo)
+ Credenciais de administrador para a fonte Conta da AWS

**Limitações**
+ A conta de gerenciamento de origem em AWS Organizations deve ser diferente da conta de gerenciamento de destino em AWS Control Tower.

**Versões do produto**
+ AWS Control Tower versão 2.3 (fevereiro de 2020) ou posterior (consulte as [notas de lançamento](https://docs.aws.amazon.com/controltower/latest/userguide/release-notes.html))

## Arquitetura
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-architecture"></a>

O diagrama a seguir ilustra o processo de migração e arquitetura de referência. Esse padrão migra da organização Conta da AWS de origem para uma organização de destino que é governada por. AWS Control Tower 

![\[Processo de inscrição no AWS Control Tower para uma conta da AWS que foi migrada para outra organização e movida para uma UO registrada.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/1fc2c2f0-fa5d-4068-a2b2-9e57cea2aff5/images/0654d242-0faa-4810-9e53-40ef89305b5b.png)


O processo de inscrição consiste em três etapas:

1. A organização de destino envia um convite para que a conta participe da organização. 

1. A conta aceita o convite e se torna membro da organização-alvo.

1. A conta é registrada AWS Control Tower e movida para uma unidade organizacional (OU) registrada. (Recomendamos que você verifique o AWS Control Tower painel para confirmar a inscrição.) Nesse ponto, todos os controles habilitados na OU registrada entram em vigor.

## Ferramentas
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-tools"></a>

**Serviços da AWS**
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)é um serviço de gerenciamento de contas que permite consolidar várias Contas da AWS em uma única entidade (uma *organização*) que você cria e gerencia centralmente.
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)integra os recursos de outros serviços, incluindo AWS Organizations, Centro de Identidade do AWS IAM, e AWS Service Catalog, para ajudá-lo a aplicar e gerenciar regras de governança para segurança, operações e conformidade em grande escala em todas as suas organizações e contas no. Nuvem AWS

## Épicos
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-epics"></a>

### Convide a conta para se juntar à nova organização com AWS Control Tower
<a name="invite-the-account-to-join-the-new-organization-with-ctower"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça login em AWS Control Tower. | Faça login no AWS Control Tower console como administrador. Atualmente, não há uma maneira direta de mover um homem Conta da AWS de uma organização de origem para uma organização em uma OU que seja governada por AWS Control Tower. No entanto, você pode estender a AWS Control Tower governança a uma existente Conta da AWS ao inscrevê-la em uma OU que já seja governada por. AWS Control TowerÉ por isso que você precisa fazer login AWS Control Tower para esta etapa. | Administrador do AWS Control Tower | 
| Convidar a conta-membro. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.html)Verifique se nenhuma aplicação ou conectividade de rede será afetada pela transferência da conta.Essa ação envia um e-mail de convite com um link para a conta-membro. Quando o administrador da conta segue o link e aceita o convite, a conta do membro aparece na **Contas da AWS**página. Para obter mais informações, consulte [Gerenciamento de convites de conta](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html) na AWS Organizations documentação. | Administrador do AWS Control Tower | 
| Teste aplicativos e conectividade. | Quando a conta do membro é registrada na nova organização, ela aparece na OU dentro de uma raiz. Ele também aparece no [AWS Control Tower console](https://console.aws.amazon.com/controltower), marcado como não inscrito em contas, porque ainda não foi inscrito na AWS Control Tower OU registrada.Verifique o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.html) | Administrador do AWS Control Tower, administrador da conta do membro, proprietários de aplicativos | 

### Prepare a conta para inscrição
<a name="prepare-the-account-for-enrollment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Revise os controles e corrija quaisquer violações. | Revise os controles definidos na UO de destino, especialmente os controles preventivos, e corrija quaisquer violações. Vários [controles preventivos obrigatórios](https://docs.aws.amazon.com/controltower/latest/controlreference/preventive-controls.html) são ativados por padrão quando você configura sua AWS Control Tower landing zone. Elas não podem ser desabilitadas. Você deve revisar esses controles obrigatórios e corrigir a conta do membro (manualmente ou usando um script) antes de cadastrar a conta.Os controles preventivos mantêm as contas AWS Control Tower registradas em conformidade e evitam violações de políticas. Qualquer violação dos controles preventivos pode afetar a inscrição. As violações do controle de detetives aparecem no AWS Control Tower painel, se detectadas, após a inscrição bem-sucedida. Eles não afetam o processo de inscrição. Para obter mais informações, consulte [Sobre os controles](https://docs.aws.amazon.com/controltower/latest/controlreference/controls.html) na AWS Control Tower documentação. | Administrador do AWS Control Tower, administrador da conta do membro | 
| Verifique se há problemas de conectividade após corrigir as violações de controle. | Em alguns casos, talvez seja necessário fechar portas específicas ou desativar serviços para corrigir violações de controle. Certifique-se de que os aplicativos que usam essas portas e serviços sejam corrigidos antes de registrar a conta. | Proprietário do aplicativo | 

### Inscrever a conta em AWS Control Tower
<a name="enroll-the-account-into-ctowerlong"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça login em AWS Control Tower. | Faça login no [console do AWS Control Tower](https://console.aws.amazon.com/controltower). Use credenciais de login que tenham permissões administrativas para. AWS Control Tower Não use as credenciais do usuário raiz (conta de gerenciamento) para registrar uma AWS Organizations conta. Isso exibirá uma mensagem de erro. | Administrador do AWS Control Tower | 
| Registre a conta. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.html)Para obter mais informações, consulte [Sobre a inscrição de contas existentes](https://docs.aws.amazon.com/controltower/latest/userguide/enroll-account.html) na AWS Control Tower documentação. | Administrador do AWS Control Tower | 

### Verifique a conta após a inscrição
<a name="verify-the-account-after-enrollment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique a conta. |  AWS Control Tower Em, escolha **Contas**. A conta que você acabou de cadastrar tem um estado inicial de **Inscrição**. Quando a inscrição é concluída, seu estado muda para **Inscrito**. | Administrador do AWS Control Tower, administrador da conta do membro | 
| Verifique se há violações de controle. | Os controles definidos na OU serão aplicados automaticamente à conta do membro inscrito. Monitore o AWS Control Tower painel em busca de violações e corrija-as adequadamente. Para obter mais informações, consulte [Sobre os controles](https://docs.aws.amazon.com/controltower/latest/controlreference/controls.html) na AWS Control Tower documentação. | Administrador do AWS Control Tower, administrador da conta do membro | 

## Solução de problemas
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Você recebe a mensagem de erro: **Ocorreu um erro desconhecido. Tente novamente mais tarde ou entre em contato com o AWS Support.**  | Esse erro ocorre quando você usa as credenciais do usuário root (conta de gerenciamento) AWS Control Tower para registrar uma nova conta. AWS Service Catalog não é possível mapear o portfólio ou o produto Account Factory para o usuário raiz, o que resulta na mensagem de erro. Para corrigir esse erro, use as credenciais de usuário (administrador) não raiz e com acesso total para registrar a nova conta. Para obter mais informações sobre como atribuir acesso administrativo a um usuário administrativo, consulte [Introdução](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) na documentação do IAM Identity Center. | 
| A página AWS Control Tower **Atividades** exibe uma ação **Obter deriva catastrófica**. | Essa ação reflete uma verificação de desvio do serviço e não indica nenhum problema com a AWS Control Tower configuração. Nenhuma ação é necessária. | 

## Recursos relacionados
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-resources"></a>

**Documentação**
+ [Terminologia e conceitos](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html) (AWS Organizations documentação)
+ [O que AWS Control Toweré](https://docs.aws.amazon.com/controltower/latest/userguide/) (AWS Control Tower documentação)
+ [Removendo uma conta de membro de uma organização](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) (AWS Organizations documentação)
+ [Configuração](https://docs.aws.amazon.com/controltower/latest/userguide/setting-up.html#setting-up-iam) (AWS Control Tower documentação)

**Tutoriais e vídeos**
+ [AWS Control Tower workshop (workshop](https://catalog.workshops.aws/control-tower/) individualizado)
+ [O que AWS Control Toweré](https://www.youtube.com/watch?v=daLvEb44d5Q) (vídeo)
+ [Provisionamento de usuários em AWS Control Tower(vídeo](https://www.youtube.com/watch?v=y_n9xN5mg1g))

# Configure alertas para encerramentos programáticos de contas no AWS Organizations
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations"></a>

*Richard Milner-Watts, Debojit Bhadra e Manav Yadav, Amazon Web Services*

## Resumo
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-summary"></a>

A [CloseAccount API](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) para [AWS Organizations](https://aws.amazon.com/organizations/) permite que você feche contas de membros dentro de uma organização de forma programática, sem precisar fazer login na conta com credenciais raiz. A [RemoveAccountFromOrganization API extrai](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RemoveAccountFromOrganization.html) uma conta de uma organização no AWS Organizations, então ela se torna uma conta independente.

Isso aumenta APIs potencialmente o número de operadores que podem fechar ou remover uma conta da AWS. Todos os usuários que têm acesso à organização por meio do AWS Identity and Access Management (IAM) na conta de gerenciamento do AWS Organizations podem ligar para eles APIs, portanto, o acesso não se limita ao proprietário do e-mail raiz da conta com qualquer dispositivo de autenticação multifator (MFA) associado.

Esse padrão implementa alertas quando o `CloseAccount` e `RemoveAccountFromOrganization` APIs é chamado, para que você possa monitorar essas atividades. Para alertas, ele usa um tópico do [Amazon Simple Notification Service](https://aws.amazon.com/sns/) (Amazon SNS). Também é possível configurar as notificações do Slack usando um [webhook](https://api.slack.com/messaging/webhooks).

## Pré-requisitos e limitações
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma organização no AWS Organizations
+ Acesso à conta de gerenciamento da organização, sob a raiz da organização, para criar os recursos necessários

**Limitações**
+ Conforme descrito na [referência da API do AWS Organizations](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html), a API `CloseAccount` permite que apenas 10% das contas ativas dos membros sejam fechadas em um período contínuo de 30 dias.
+ Quando uma conta da AWS é fechada, seu status é alterado para SUSPENSO. Por 90 dias após essa transição de status, o AWS Support pode reabrir a conta. A conta é excluída permanentemente após 90 dias.
+ Usuários que têm acesso à conta de gerenciamento do AWS Organizations e também APIs podem ter permissões para desativar esses alertas. Se a principal preocupação for comportamento malicioso em vez de exclusão acidental, considere proteger os recursos criados por esse padrão com um [limite de permissões do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html).
+ A API chama por `CloseAccount ` e `RemoveAccountFromOrganization` é processado na região Leste dos EUA (Norte da Virgínia) (`us-east-1`). Portanto, você deve implantar essa solução em `us-east-1` para observar os eventos.

## Arquitetura
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-architecture"></a>

**Pilha de tecnologias de destino**
+ AWS Organizations
+ AWS CloudTrail
+ Amazon EventBridge
+ AWS Lambda
+ Amazon SNS

**Arquitetura de destino**

O diagrama a seguir mostra a arquitetura da solução desse padrão.

 

![\[Arquitetura para configurar alertas no AWS Organizations para encerramentos de contas\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/ba9d9db1-fab8-4e3b-a1bb-f0be91ade5c6/images/92caee55-2722-4ba2-bdd2-66f1af35dce5.png)


1. O AWS Organizations processa uma solicitação `CloseAccount` ou `RemoveAccountFromOrganization`.

1. A Amazon EventBridge está integrada à AWS CloudTrail para entregar esses eventos ao barramento de eventos padrão.

1. Uma EventBridge regra personalizada da Amazon corresponde às solicitações do AWS Organizations e chama uma função do AWS Lambda.

1. A função do Lambda entrega uma mensagem para um tópico do SNS, na qual os usuários podem se inscrever para receber alertas por e-mail ou processamento adicional.

1. Se as notificações do Slack estiverem ativadas, a função do Lambda enviará uma mensagem para um webhook do Slack.

## Ferramentas
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-tools"></a>

**Serviços da AWS**
+  CloudFormationA [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) fornece uma forma de modelar uma coleção de recursos relacionados da AWS e de terceiros, provisioná-los de forma rápida e consistente e gerenciá-los ao longo de seus ciclos de vida, tratando a infraestrutura como código.
+  EventBridgeA [Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) é um serviço de ônibus de eventos sem servidor que você pode usar para conectar seus aplicativos a dados de várias fontes. EventBridge recebe um evento, um indicador de uma mudança no ambiente, e aplica uma regra para rotear o evento até um alvo. As regras fazem a correspondência entre os eventos e os destinos com base na estrutura do evento, chamada *padrão do evento* ou em um schedule.
+ O [‭‬AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)‭ é um serviço de computação que permite a execução do código sem provisionar ou gerenciar servidores O Lambda executa o código somente quando necessário e dimensiona automaticamente, desde algumas solicitações por dia a milhares por segundo. Você paga apenas pelo tempo de computação consumido. Não haverá cobranças quando seu código não estiver em execução.
+ [O AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) ajuda a gerenciar e governar centralmente seu ambiente à medida que você expande e escala seus recursos da AWS da. Usando o AWS Organizations, você pode criar programaticamente novas contas da AWS e alocar recursos, agrupar contas para organizar seus fluxos de trabalho, aplicar políticas a contas ou grupos para fins de governança e simplificar o faturamento usando um único método de pagamento para todas as suas contas.
+ A [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) monitora e registra a atividade da conta em toda a sua infraestrutura da AWS e oferece controle sobre ações de armazenamento, análise e remediação.
+ [O Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) é um serviço de mensagens totalmente gerenciado para comunicação (A2A) application-to-application e (A2P) application-to-person.

**Outras ferramentas**
+ A [biblioteca AWS Lambda Powertools for Python](https://docs.powertools.aws.dev/lambda/python/latest/) é um conjunto de utilitários que fornece recursos de rastreamento, registro em log, métricas e tratamento de eventos para funções do Lambda.

**Código **

O código desse padrão está localizado no repositório do GitHub [AWS Account Closer Notifier](https://github.com/aws-samples/aws-account-closure-notifier).

A solução inclui um CloudFormation modelo que implanta a arquitetura desse padrão. Ele usa a [biblioteca AWS Lambda Powertools for Python](https://docs.powertools.aws.dev/lambda/python/latest/) para fornecer registro e rastreamento.

## Épicos
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-epics"></a>

### Implantar a arquitetura
<a name="deploy-the-architecture"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicie o CloudFormation modelo para a pilha de soluções. | O CloudFormation modelo para esse padrão está na ramificação principal do [GitHub repositório.](https://github.com/aws-samples/aws-account-closure-notifier) Ele implanta as funções, EventBridge as regras, as funções do Lambda e o tópico do SNS do IAM.Para iniciar o modelo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html)Para obter mais informações sobre o lançamento de uma CloudFormation pilha, consulte a [documentação da AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). | Administrador da AWS | 
| Verifique se a solução foi iniciada com sucesso. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html) | Administrador da AWS | 
| Inscreva-se no tópico do SNS.  | (Opcional) Se você quiser se inscrever no tópico do SNS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html)Para obter mais informações sobre como configurar as notificações do SNS, consulte a [documentação do Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html). | Administrador da AWS | 

### Verifique a solução
<a name="verify-the-solution"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Envie um evento de teste ao barramento de eventos padrão. | O [GitHub repositório](https://github.com/aws-samples/aws-account-closure-notifier) fornece um evento de amostra que você pode enviar para o barramento de eventos EventBridge padrão para teste. A EventBridge regra também reage aos eventos que usam a fonte `account.closure.notifier` de eventos personalizada.Você não pode usar a fonte do CloudTrail evento para enviar esse evento, porque não é possível enviar um evento como um serviço da AWS.Para enviar um evento de teste:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html) | Administrador da AWS | 
| Verifique se a notificação por e-mail foi recebida. | Verifique se há notificações na caixa de correio que se inscreveu no tópico do SNS. Você deve receber um e-mail com detalhes da conta que foi fechada e da entidade principal que realizou a chamada de API. | Administrador da AWS | 
| Verifique se a notificação do Slack foi recebida. | (Opcional) Se você especificou uma URL de webhook para o `SlackWebhookEndpoint` parâmetro ao implantar o CloudFormation modelo, verifique o canal do Slack que está mapeado para o webhook. Ele deve exibir uma mensagem com detalhes da conta que foi fechada e da entidade principal que realizou a chamada de API. | Administrador da AWS | 

## Recursos relacionados
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-resources"></a>
+ [CloseAccount ação](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) (referência da API do AWS Organizations)
+ [RemoveAccountFromOrganization ação](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RemoveAccountFromOrganization.html) (referência da API do AWS Organizations)
+ [Powertools do AWS Lambda para Python](https://docs.powertools.aws.dev/lambda/python/latest/)

# Mais padrões
<a name="multiaccountstrategy-more-patterns-pattern-list"></a>

**Topics**
+ [Automatize a criação de contas usando o Landing Zone Accelerator em AWS](automate-account-creation-lza.md)
+ [Automatize a exclusão de AWS CloudFormation pilhas e recursos associados](automate-deletion-cloudformation-stacks-associated-resources.md)
+ [Automatize o gerenciamento dinâmico de pipelines para implantar soluções de hotfix em ambientes Gitflow usando e AWS Service Catalog AWS CodePipeline](automate-dynamic-pipeline-management-for-deploying-hotfix-solutions.md)
+ [Crie uma malha de dados corporativa com a Amazon DataZone, AWS CDK, e AWS CloudFormation](build-enterprise-data-mesh-amazon-data-zone.md)
+ [Centralize o monitoramento usando o Amazon CloudWatch Observability Access Manager](centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.md)
+ [Governança de conjuntos de permissões para várias contas usando o Account Factory para Terraform](govern-permission-sets-aft.md)
+ [Implemente uma estratégia de ramificação do Gitflow para ambientes com várias contas DevOps](implement-a-gitflow-branching-strategy-for-multi-account-devops-environments.md)
+ [Implemente uma estratégia GitHub de ramificação do Flow para ambientes com várias contas DevOps](implement-a-github-flow-branching-strategy-for-multi-account-devops-environments.md)
+ [Implemente uma estratégia de ramificação de troncos para ambientes com várias contas DevOps](implement-a-trunk-branching-strategy-for-multi-account-devops-environments.md)
+ [Gerencie conjuntos de AWS permissões dinamicamente usando o Terraform](manage-aws-permission-sets-dynamically-by-using-terraform.md)
+ [Crie uma arquitetura IPAM hierárquica e multirregional usando o Terraform AWS](multi-region-ipam-architecture.md)
+ [Configure a detecção de CloudFormation desvios em uma organização multirregional e com várias contas](set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization.md)
+ [Configure a resolução de DNS para redes híbridas em um ambiente com várias contas AWS](set-up-dns-resolution-for-hybrid-networks-in-a-multi-account-aws-environment.md)