

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Automatize a avaliação de recursos da AWS
<a name="automate-aws-resource-assessment"></a>

*Naveen Suthar, Arun Bagal, Manish Garg e Sandeep Gawande, Amazon Web Services*

## Resumo
<a name="automate-aws-resource-assessment-summary"></a>

Esse padrão descreve uma abordagem automatizada para configurar recursos de avaliação de recursos usando o [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html). Ao usar esse padrão, as equipes de operações coletam detalhes de auditoria de recursos de forma automatizada e visualizam os detalhes de todos os recursos implantados em uma conta da AWS em um único painel. Isso é útil nos seguintes casos de uso:
+ Identificação de ferramentas de infraestrutura como código (IaC) e isolamento de recursos criados por diferentes soluções de IaC, como [HashiCorp Terraform](https://www.terraform.io/), [AWS CloudFormation, AWS CDK](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) [e AWS Command Line Interface (AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) CLI)
+ Buscando informações de auditoria de recursos

Essa solução também ajudará a equipe de liderança a obter informações sobre os recursos e as atividades em uma conta da AWS a partir de um único painel. 


| 
| 
| Observação: o [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) é um serviço pago. Antes de executá-lo para analisar dados e criar um painel, revise os [preços do Amazon Quick Sight](https://aws.amazon.com/quicksight/pricing/). | 
| --- |

## Pré-requisitos e limitações
<a name="automate-aws-resource-assessment-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Funções e permissões do AWS Identity and Access Management (IAM) com acesso a recursos de provisionamento
+ [Uma [conta Amazon Quick](https://docs.aws.amazon.com/quicksight/latest/user/signing-up.html) criada com acesso ao [Amazon Simple Storage Service (Amazon S3) e ao Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html)
+ AWS CDK versão 2.55.1 ou superior instalado. 
+ [Python](https://www.python.org/downloads/release/python-390/) versão 3.9 ou superior instalado.

**Limitações**
+ Essa solução é implantada em uma única conta da AWS.
+ A solução não rastreará os eventos que aconteceram antes de sua implantação, a menos que a AWS já CloudTrail estivesse configurada e armazenando dados em um bucket S3.

**Versões do produto**
+ AWS CDK versão 2.55.1 ou superior
+ Python, versão 3.9 ou superior.

## Arquitetura
<a name="automate-aws-resource-assessment-architecture"></a>

**Pilha de tecnologias de destino**
+ Amazon Athena
+ AWS CloudTrail
+ AWS Glue
+ AWS Lambda
+ Amazon Quick Sight
+ Amazon S3

**Arquitetura de destino**

O código do AWS CDK implantará todos os recursos necessários para configurar recursos de avaliação de recursos em uma conta da AWS. O diagrama a seguir mostra o processo de envio de CloudTrail registros para o AWS Glue, o Amazon Athena e o Quick Sight.

![\[Avaliação de recursos da AWS com AWS Glue, Amazon Athena e Amazon QuickSight em um processo de seis etapas.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/a504774e-db7a-4c36-a22c-ce56d252fb58/images/8f2b549d-33a8-4cbf-86fd-33244716b668.png)


1. CloudTrail envia registros para um bucket do S3 para armazenamento.

1. Uma notificação de evento invoca uma função do Lambda que processa os registros e gera dados filtrados.

1. Os dados filtrados são armazenados em outro bucket do S3.

1. Um crawler do AWS Glue é configurado nos dados filtrados que estão no bucket do S3 para criar um esquema na tabela do catálogo de dados do AWS Glue.

1. Os dados filtrados estão prontos para serem consultados pelo Amazon Athena.

1. Os dados consultados são acessados pelo Quick Sight para visualização.

**Automação e escala**
+ Essa solução pode ser escalada de uma conta da AWS para várias contas da AWS se houver uma trilha para toda a organização no CloudTrail AWS Organizations. Ao implantar CloudTrail no nível organizacional, você também pode usar essa solução para obter detalhes de auditoria de recursos para todos os recursos necessários.
+ Esse padrão usa recursos com tecnologia sem servidor da AWS para implantar a solução.

## Ferramentas
<a name="automate-aws-resource-assessment-tools"></a>

**Serviços da AWS**
+ O [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) é um serviço de consultas interativas que facilita a análise de dados diretamente no Amazon S3 usando SQL padrão.
+ 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.
+  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.
+  CloudTrailA [AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) ajuda você a auditar a governança, a conformidade e o risco operacional da sua conta da AWS.
+ 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 de forma confiável, limpar, enriquecer e mover dados de forma confiável entre armazenamento de dados e fluxos de dados. Esse padrão usa um crawler do AWS Glue e uma tabela do Catálogo de Dados do AWS Glue.
+ 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 [Amazon Quick](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) é um serviço de inteligência de negócios (BI) em escala de nuvem que ajuda você a visualizar, analisar e relatar seus dados em um único painel.
+ 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 GitHub [infrastructure-assessment-iac-automation](https://github.com/aws-samples/infrastructure-assessment-iac-automation)repositório.

O repositório de código contém os seguintes arquivos e pastas:
+ Pasta `lib`: o AWS CDK estrutura arquivos Python usados para criar recursos da AWS
+ `src/lambda_code`: o código Python que é executado na função do Lambda
+ `requirements.txt`: a lista de todas as dependências do Python que devem ser instaladas
+ `cdk.json`: o arquivo de entrada para fornecer os valores necessários para gerar recursos

## Práticas recomendadas
<a name="automate-aws-resource-assessment-best-practices"></a>

Configure o monitoramento e o alerta para a função do Lambda. 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). Para obter as melhores práticas gerais ao trabalhar com funções do Lambda, consulte a [documentação da AWS](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html).

## Épicos
<a name="automate-aws-resource-assessment-epics"></a>

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


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clone o repositório na sua máquina local. | Para clonar o repositório, execute o comando `git clone https://github.com/aws-samples/infrastructure-assessment-iac-automation.git`. | AWS DevOps, DevOps engenheiro | 
| Configurar o ambiente virtual Python e instalar as dependências necessárias. | Para ativar o ambiente virtual do Python, execute os comandos a seguir.<pre>cd infrastructure-assessment-iac-automation<br />python3 -m venv .venv<br />source .venv/bin/activate</pre>Execute o comando `pip install -r requirements.txt` para configurar as dependências necessárias. | AWS DevOps, DevOps engenheiro | 
| Configure o ambiente do AWS CDK e sintetize o código do AWS CDK. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps engenheiro | 

### Configurar credenciais da AWS na sua máquina local
<a name="set-up-aws-credentials-on-your-local-machine"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exporte variáveis para a conta e a região em que a pilha será implantada. | Para fornecer credenciais da AWS para o AWS CDK usando variáveis de ambiente, execute os seguintes comandos.<pre>export CDK_DEFAULT_ACCOUNT=<12 Digit AWS Account Number><br />export CDK_DEFAULT_REGION=<region></pre> | AWS DevOps, DevOps engenheiro | 
| Configurar o perfil da AWS CLI. | Para configurar o perfil da AWS CLI para a conta, siga as instruções na [documentação da AWS](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/keys-profiles-credentials.html). | AWS DevOps, DevOps engenheiro | 

### Configurar e implantar a ferramenta de avaliação de recursos
<a name="configure-and-deploy-the-resource-assessment-tool"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implante recursos na conta. | Para implantar recursos na conta da AWS usando o AWS CDK, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps | 
| Execute o AWS Glue Crawler e crie a tabela do Data Catalog. | Um [AWS Glue Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) é usado para manter o esquema de dados dinâmico. A solução cria e atualiza partições na [tabela do catálogo de dados do AWS Glue](https://docs.aws.amazon.com/athena/latest/ug/querying-glue-catalog.html) executando o rastreador periodicamente, conforme definido pelo programador do AWS Glue Crawler. Depois que os dados estiverem disponíveis no bucket S3 de saída, use as etapas a seguir para executar o crawler AWS Glue e criar o esquema da tabela do catálogo de dados para teste:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html)O código do AWS CDK configura o crawler do AWS Glue para ser executado em um horário específico, mas você também pode executá-lo sob demanda. | AWS DevOps, DevOps engenheiro | 
| Implante a construção Quick Sight. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps engenheiro | 
| Crie o painel do Quick Sight. | Para criar o exemplo de painel e análise do Quick Sight, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html)Para obter mais informações, consulte [Iniciando uma análise no Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/creating-an-analysis.html) e [Tipos visuais no Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/working-with-visual-types.html). | AWS DevOps, DevOps engenheiro | 

### Limpe todos os recursos da AWS na solução
<a name="clean-up-all-aws-resources-in-the-solution"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Remova os recursos da AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps engenheiro | 

### Configure recursos adicionais além da automação da ferramenta de avaliação de recursos da AWS
<a name="set-up-additional-features-on-top-of-the-aws-resource-assessment-tool-automation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Monitore e limpe os recursos criados manualmente. | (Opcional) Se sua organização tem requisitos de conformidade para criar recursos usando ferramentas de IaC, você pode alcançar a conformidade usando a automação da ferramenta de avaliação de recursos da AWS para buscar recursos provisionados manualmente. Você também pode usar a ferramenta para importar os recursos para uma ferramenta IaC ou para recriá-los. Execute as seguintes tarefas de alto nível para monitorar recursos provisionados manualmente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps engenheiro | 

## Solução de problemas
<a name="automate-aws-resource-assessment-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| O AWS CDK retorna erros. | Para obter ajuda com problemas do AWS CDK, consulte [Solução de problemas comuns do AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html). | 

## Recursos relacionados
<a name="automate-aws-resource-assessment-resources"></a>
+ [Criar funções do Lambda com Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html)
+ [Comece a usar o AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)
+ [Trabalhando com o AWS CDK no Python](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html)
+ [Criando uma trilha CloudTrail de toras](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [Comece a usar o Amazon Quick Sight](https://aws.amazon.com/quicksight/getting-started/)

## Mais informações
<a name="automate-aws-resource-assessment-additional"></a>

**Várias contas**

Para configurar a credencial da AWS CLI para várias contas, use os perfis da AWS. Para obter mais informações, consulte a seção *Configurar vários perfis* em [Configurar a AWS CLI](https://aws.amazon.com/getting-started/guides/setup-environment/module-three/).

**Comandos do AWS CDK**

Ao trabalhar com o AWS CDK, lembre-se dos seguintes comandos úteis:
+ Lista todas as pilhas no aplicativo

  ```
  cdk ls
  ```
+ Emite o modelo sintetizado da AWS CloudFormation 

  ```
  cdk synth
  ```
+ Implanta a pilha na sua conta e região padrão da AWS

  ```
  cdk deploy
  ```
+ Compara a pilha implantada com o estado atual

  ```
  cdk diff
  ```
+ Abre a documentação do AWS CDK

  ```
  cdk docs
  ```