

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

# Otimize implantações sem servidor de várias contas usando os fluxos de trabalho e Actions AWS CDK GitHub
<a name="optimize-multi-account-serverless-deployments"></a>

*Sarat Chandra Pothula e VAMSI KRISHNA SUNKAVALLI, Amazon Web Services*

## Resumo
<a name="optimize-multi-account-serverless-deployments-summary"></a>

Organizações que implantam infraestrutura sem servidor em vários ambientes de rede geralmente enfrentam desafios como duplicação de código, processos manuais Contas da AWS e práticas inconsistentes. A solução desse padrão mostra como usar os fluxos de trabalho reutilizáveis AWS Cloud Development Kit (AWS CDK) in Go and GitHub Actions para agilizar o gerenciamento de infraestrutura sem servidor de várias contas. Essa solução demonstra como você pode definir recursos de nuvem como código, implementar processos padronizados de integration/continuous implantação contínua (CI/CD) e criar componentes modulares e reutilizáveis. 

Ao usar essas ferramentas, as organizações podem gerenciar com eficiência os recursos entre contas, implementar pipelines de implantação consistentes e simplificar arquiteturas complexas sem servidor. A abordagem também aprimora a segurança e a conformidade ao impor práticas padronizadas para uso com Contas da AWS, em última análise, melhorando a produtividade e reduzindo os erros no desenvolvimento e na implantação de aplicativos sem servidor.

## Pré-requisitos e limitações
<a name="optimize-multi-account-serverless-deployments-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ AWS Identity and Access Management As [funções e permissões](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security-iam.html) (IAM) estão em vigor para o processo de implantação. Isso inclui permissões para acessar repositórios do Amazon Elastic Container Registry (Amazon ECR), AWS Lambda criar funções e quaisquer outros recursos necessários em todo o destino. Contas da AWS
+ AWS Command Line Interface [(AWS CLI) versão 2.9.11 ou posterior, [instalada](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) e configurada.](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ AWS Cloud Development Kit (AWS CDK) [versão 2.114.1 ou posterior, [instalada](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install) e inicializada.](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_bootstrap)
+ Go 1.22 ou posterior [instalado](https://go.dev/doc/install).
+ Docker 24.0.6 ou posterior, [instalado](https://docs.docker.com/engine/install/).

**Limitações**
+ **Compatibilidade de idiomas**: o Go é uma linguagem popular para aplicações sem servidor. No entanto, além do Go, o AWS CDK suporta outras linguagens de programação, incluindo C\$1, Java, Python e. TypeScript Se sua organização já tem bases de código ou experiência em outras linguagens, talvez seja necessário adaptar ou aprender Go para usar totalmente a solução descrita no padrão.
+ **Curva de aprendizado** — A adoção do AWS CDK, Go (se for novo na organização) e fluxos de trabalho GitHub reutilizáveis pode envolver uma curva de aprendizado para desenvolvedores e equipes. DevOps Treinamento e documentação podem ser necessários para garantir a adoção tranquila e o uso eficaz dessas tecnologias.

## Arquitetura
<a name="optimize-multi-account-serverless-deployments-architecture"></a>

O diagrama a seguir mostra o fluxo de trabalho e os componentes da arquitetura desse padrão.

![\[Arquitetura dos fluxos de trabalho do AWS CDK e do GitHub Actions para gerenciamento de infraestrutura sem servidor de várias contas.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8d61917b-bd27-44fa-ae95-55358aaf8812/images/a4b36793-95c7-42f7-a92f-99b4722c9c64.png)


Esta solução executa as seguintes etapas:

1. O desenvolvedor clona o repositório, cria uma nova ramificação e faz alterações no código da aplicação em seu ambiente local.

1. O desenvolvedor confirma essas alterações e envia a nova ramificação para o GitHub repositório.

1. O desenvolvedor cria uma pull request no GitHub repositório, propondo mesclar seu recurso ou nova ramificação de recurso na ramificação principal.

1. Essa pull request aciona o fluxo de trabalho de GitHub ações de integração contínua (CI). Os fluxos de trabalho de CI e implantação contínua (CD) neste padrão usam fluxos de trabalho reutilizáveis, que são modelos modulares predefinidos que podem ser compartilhados e executados em diferentes projetos ou repositórios. Fluxos de trabalho reutilizáveis promovem padronização e eficiência nos processos. CI/CD 

1. O fluxo de trabalho de CI configura o ambiente necessário, gera uma marcação Docker para a imagem e cria a imagem do Docker usando o código da aplicação. 

1. O fluxo de trabalho de CI é AWS autenticado usando a função central do Conta da AWS GitHub OIDC. Para fluxos de trabalho de CI, a função central do Conta da AWS GitHub OIDC usa AWS Security Token Service (AWS STS) para obter credenciais temporárias. Essas credenciais permitem que a função crie e envie imagens do Docker para o repositório Amazon ECR da central. Conta da AWS

1. O fluxo de trabalho de CI envia a imagem do Docker criada para o Amazon ECR.

1. O fluxo de trabalho do CI armazena a marcação da imagem no Systems Manager Parameter Store.

1. Depois que o fluxo de trabalho de CI for concluído com êxito, a marcação de imagem do Docker será gerada. 

1. Ao acionar o fluxo de trabalho de CD, o desenvolvedor insere manualmente a marcação de imagem da imagem do Docker que deseja implantar. Essa marcação de imagem corresponde à marcação que foi gerada e enviada para o Amazon ECR durante o fluxo de trabalho de CI.

1. O desenvolvedor aciona manualmente o fluxo de trabalho de CD, que usa o fluxo de trabalho reutilizável do CD. 

1. O fluxo de trabalho do CD é autenticado AWS usando a função central do Conta da AWS GitHub OIDC. Para o fluxo de trabalho do CD, AWS STS é usado primeiro para assumir a função central do Conta da AWS GitHub OIDC. Em seguida, esse perfil assume os perfis de bootstrap do CDK para implantações de contas de destino. 

1. O fluxo de trabalho do CD usa o AWS CDK para sintetizar modelos AWS CloudFormation .

1. O fluxo de trabalho do CD implanta o aplicativo no destino Conta da AWS usando o CDK deploy, usando a tag de imagem especificada manualmente para a função Lambda.

## Ferramentas
<a name="optimize-multi-account-serverless-deployments-tools"></a>

**Serviços da AWS**
+ [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 Nuvem AWS infraestrutura em código.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ajuda você a configurar AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida em Contas da AWS e. Regiões da AWS CloudFormation é parte integrante do processo AWS CDK de implantação. O CDK sintetiza CloudFormation modelos e depois usa CloudFormation para criar ou atualizar os recursos no ambiente. AWS 
+ 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.
+ [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.
+ 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 Systems Manager O [Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) fornece armazenamento seguro e hierárquico para gerenciamento de dados de configuração e gerenciamento de segredos.

**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.
+ GitHub O [Actions](https://docs.github.com/en/actions/writing-workflows/quickstart) é uma plataforma de integração contínua e entrega contínua (CI/CD) totalmente integrada aos GitHub repositórios. Você pode usar o GitHub Actions para automatizar seu pipeline de criação, teste e implantação.
+ O [Go](https://go.dev/doc/install) é uma linguagem de programação de código aberto compatível com o Google.

**Repositório de código**

O código desse padrão está disponível no cicd-github-actions repositório GitHub [aws-cdk-golang-serverless-](https://github.com/aws-samples/aws-cdk-golang-serverless-cicd-github-actions).

## Práticas recomendadas
<a name="optimize-multi-account-serverless-deployments-best-practices"></a>
+ **Design modular** — Organize seu AWS CDK código em construções ou pilhas modulares e reutilizáveis, promovendo a reutilização e a manutenção do código em várias contas e projetos.
+ **Separação de preocupações**: separe o código da infraestrutura do código da aplicação, permitindo a implantação e o gerenciamento independentes de cada componente.
+ **Versionamento e imutabilidade**: trate sua infraestrutura como código (IaC) e use o Git para controle de versões. Adote princípios de infraestrutura imutáveis criando novos recursos em vez de modificar os existentes.
+ **Teste e validação** — Implemente estratégias de teste abrangentes, incluindo testes unitários, testes de integração e end-to-end testes, para ajudar a apoiar a exatidão e a confiabilidade de seu AWS CDK código e implantações.
+ **Segurança e conformidade** — siga as melhores práticas de AWS segurança, como acesso com privilégios mínimos, comunicação segura e criptografia de dados. Implemente verificações de conformidade e mecanismos de auditoria para garantir a adesão às políticas organizacionais e aos requisitos regulatórios. Implemente as práticas recomendadas de segurança para imagens de contêineres, como verificar vulnerabilidades, impor a assinatura de imagens e cumprir os requisitos de conformidade de sua organização.
+ **Monitoramento e registro em log**: configure mecanismos de monitoramento e registro em log para rastrear a integridade e a performance de suas aplicações e infraestruturas sem servidor. Use Serviços da AWS como Amazon CloudWatch, AWS CloudTrail, e AWS X-Ray para fins de monitoramento e auditoria.
+ **Automação e CI/CD** — Use fluxos de trabalho GitHub reutilizáveis e outras CI/CD ferramentas para automatizar os processos de criação, teste e implantação, o que pode ajudar a suportar implantações consistentes e repetíveis em várias contas.
+ **Gerenciamento do ambiente**: mantenha ambientes separados (por exemplo, desenvolvimento, preparação e produção). Implemente estratégias para promover mudanças entre ambientes, garantindo testes e validação adequados antes das implantações de produção.
+ **Documentação e colaboração**: documente seu código de infraestrutura, processos de implantação e práticas recomendadas para facilitar o compartilhamento de conhecimento e a colaboração em sua equipe.
+ **Otimização de custos** — implemente estratégias de monitoramento e otimização de custos, como o dimensionamento correto dos recursos, o uso do auto-scaling e o aproveitamento de serviços de otimização de AWS custos, como e. AWS Budgets AWS Cost Explorer
+ **Recuperação de desastres e backup**: planeje cenários de recuperação de desastres implementando mecanismos de backup e restauração para suas aplicações sem servidor e recursos de infraestrutura.
+ **Melhoria contínua**: revise regularmente e atualize suas práticas, ferramentas e processos para se alinhar às práticas recomendadas, recomendações de segurança e avanços tecnológicos mais recentes no ecossistema sem servidor.
+ **Melhore a postura de segurança** — Use [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html)para melhorar a postura de segurança de sua nuvem privada virtual (VPC) configurando endpoints de VPC de interface para Amazon ECR e Parameter Store. AWS Lambda AWS Systems Manager 

## Épicos
<a name="optimize-multi-account-serverless-deployments-epics"></a>

### Configurar os ambientes
<a name="set-up-the-environments"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um repositório Amazon ECR na central. Conta da AWS | Para compartilhar imagens de contêineres entre várias Contas da AWS, você deve configurar o acesso entre contas para o Amazon ECR. Primeiro, crie um repositório Amazon ECR na central. Conta da AWSPara criar um repositório do Amazon ECR, execute o seguinte comando:<pre>aws ecr create-repository --repository-name sample-repo</pre>Em uma tarefa posterior, conceda acesso de pull à outra pessoa Contas da AWS que precisa usar a imagem do contêiner. | AWS DevOps | 
| Adicione permissões entre contas ao repositório do Amazon ECR. | Para adicionar permissões entre contas ao repositório Amazon ECR na central Conta da AWS, execute o seguinte código:<pre>{<br />  "Version": "2008-10-17",		 	 	 <br />  "Statement": [<br />    {<br />      "Sid": "LambdaECRImageRetrievalPolicy",<br />      "Effect": "Allow",<br />      "Principal": {<br />        "Service": "lambda.amazonaws.com"<br />      },<br />      "Action": [<br />        "ecr:BatchGetImage",<br />        "ecr:GetDownloadUrlForLayer",<br />      ],<br />      "Condition": {<br />        "StringLike": {<br />          "aws:sourceArn": "arn:aws:lambda:<Target_Region>:<Target_Account_ID>:function:*"<br />        }<br />      }<br />    },<br />    {<br />      "Sid": "new statement",<br />      "Effect": "Allow",<br />      "Principal": {<br />        "AWS": "arn:aws:iam::<Target_Account_ID>:root"<br />        },<br />      "Action": [<br />        "ecr:BatchGetImage",<br />        "ecr:GetDownloadUrlForLayer",<br />      ],<br />    }<br />  ] <br />}</pre> | AWS DevOps | 
| Configure uma função para a função GitHub OIDC na central. Conta da AWS | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/optimize-multi-account-serverless-deployments.html) | AWS DevOps | 
| Inicialize o AWS ambiente no destino. Contas da AWS | Configure um ambiente CDK em um ambiente específico Conta da AWS e Região da AWS que permita implantações entre contas a partir de uma conta central e aplique princípios de privilégios mínimos à função de execução. CloudFormation Para [inicializar](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) um AWS ambiente, execute o seguinte comando:<pre>cdk bootstrap aws://<Target_Account_ID>/<Target_Region> --trust <Central_Account_ID> --cloudformation-execution-policies arn:aws:iam::aws:policy/<Least_Privilege_Policy></pre> | AWS DevOps | 
| Conceda acesso à função central do Conta da AWS OIDC às funções de Conta da AWS bootstrap de destino. | O bootstrap do CDK cria as seguintes funções do IAM, projetadas para serem assumidas pela central Conta da AWS durante vários estágios do processo de implantação do CDK:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/optimize-multi-account-serverless-deployments.html)Cada perfil tem permissões específicas adaptadas à sua finalidade, seguindo o princípio de privilégios mínimos. O `Target_Account_ID` e `Target_Region` em cada nome de função ajuda a indicar que essas funções são exclusivas em diferentes Contas da AWS regiões. Esse método oferece suporte à identificação e ao gerenciamento claros em configurações com várias contas e várias regiões.<pre>Target Account CDK Bootstrap Roles<br />arn:aws:iam::<Target_Account_ID>:role/cdk-deploy-role-<Target_Account_ID>-<Target_Region><br />arn:aws:iam::<Target_Account_ID>:role/cdk-file-publishing-role-<Target_Account_ID>-<Target_Region><br />arn:aws:iam::<Target_Account_ID>:role/cdk-image-publishing-role-<Target_Account_ID>-<Target_Region><br />arn:aws:iam::<Target_Account_ID>:role/cdk-lookup-role-<Target_Account_ID>-<Target_Region></pre>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/optimize-multi-account-serverless-deployments.html)Para atualizar a política de permissões para a função do OIDC na central Conta da AWS, use o código a seguir:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": "sts:AssumeRole",<br />            "Resource": [<br />                "arn:aws:iam::<Target_Account_ID>:role/cdk-deploy-role-<Target_Account_ID>-<Target_Region>",<br />                "arn:aws:iam::<Target_Account_ID>:role/cdk-file-publishing-role-<Target_Account_ID>-<Target_Region>",<br />                "arn:aws:iam::<Target_Account_ID>:role/cdk-image-publishing-role-<Target_Account_ID>-<Target_Region>",<br />                "arn:aws:iam::<Target_Account_ID>:role/cdk-lookup-role-<Target_Account_ID>-<Target_Region>"<br />            ]<br />        }<br />    ]<br /> }<br /></pre> | AWS DevOps | 

### Criar a imagem do Docker
<a name="build-the-docker-image"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clone o repositório do projeto. | Para clonar o [GitHub repositório](https://github.com/aws-samples/aws-cdk-golang-serverless-cicd-github-actions) desse padrão, execute o seguinte comando:<pre>git clone https://github.com/aws-samples/aws-cdk-golang-serverless-cicd-github-actions.git</pre> | AWS DevOps | 
| Vá para o caminho do Dockerfile. | Para navegar até o caminho do Dockerfile, execute o seguinte comando:<pre>cd lambda</pre> | AWS DevOps | 
| Autentique o Docker com o Amazon ECR | O Amazon ECR exige acesso seguro aos seus repositórios de contêineres privados. Ao assinar dessa forma, você está permitindo que o Docker em sua máquina ou CI/CD ambiente local interaja com o Amazon ECR de forma segura.Para autenticar o Docker com o Amazon ECR, execute o seguinte comando:<pre>aws ecr get-login-password --region <AWS_REGION> | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com</pre>Revise os espaços reservados `AWS_REGION` e `AWS_Account_ID` com suas informações. | AWS DevOps | 
| Crie a imagem do Docker. | Para criar a imagem do Docker, excute o seguinte comando:<pre>docker build --platform linux/arm64 -t sample-app .</pre> | AWS DevOps | 
| Marcar e enviar por push a imagem do Docker. | Para marcar a imagem do Docker e enviá-la por push para o repositório do Amazon ECR, execute os seguintes comandos:<pre>docker tag sample-app:latest <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<ECR_REPOSITORY>:<DOCKER_TAG></pre><pre>docker push <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<ECR_REPOSITORY>:<DOCKER_TAG></pre>Revise os espaços reservados`AWS_Account_ID`, `AWS_REGION`, `ECR_REPOSITORY` e `DOCKER_TAG` com suas informações. | AWS DevOps | 

### Implemente o AWS CDK aplicativo
<a name="deploy-the-cdk-app"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Sintetize a pilha do CDK com variáveis específicas do ambiente. | Para gerar o CloudFormation modelo para sua infraestrutura conforme definido no seu código CDK, execute o seguinte comando:<pre>ENV=<environment> IMAGETAG=<image_tag> ECR_ARN=<ecr_repo_arn> cdk synth</pre>Revise os seguintes espaços reservados com suas próprias informações:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/optimize-multi-account-serverless-deployments.html) | AWS DevOps | 
| Implante a pilha do CDK. | Para implantar a pilha CDK na sua Conta da AWS, execute o comando a seguir. O sinalizador `--require-approval never` indica que o CDK aprovará e executará automaticamente *todas as* alterações. Isso inclui alterações que o CDK normalmente sinalizaria para revisão manual, como alterações em políticas do IAM ou remoção de recursos. Certifique-se de que o código e o CI/CD pipeline do CDK estejam bem testados e seguros antes de usar a `--require-approval never` bandeira em ambientes de produção.<pre>ENV=<environment> IMAGETAG=<image_tag> ECR_ARN=<ecr_repo_arn> cdk deploy --require-approval never</pre> | AWS DevOps | 

### Automatize CI/CD usando fluxos de trabalho de GitHub ações
<a name="automate-ci-cd-using-github-actions-workflows"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie uma ramificação de recursos e adicione suas alterações. | Use o repositório clonado que você criou anteriormente, crie uma ramificação de recursos e adicione suas alterações ao código da aplicação. Use os seguintes comandos:<pre>git checkout -b <feature_branch><br />git add .<br />git commit -m "add your changes"<br />git push origin <feature_branch></pre>Veja a seguir exemplos de mudanças:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/optimize-multi-account-serverless-deployments.html)GitHub As ações usarão os fluxos de trabalho reutilizáveis e acionarão os pipelines. CI/CD  | AWS DevOps | 
| Mescle suas alterações. | Crie uma solicitação de pull e mescle suas alterações com a principal. | AWS DevOps | 

## Solução de problemas
<a name="optimize-multi-account-serverless-deployments-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| `AccessDenied`erros ao implantar recursos em Contas da AWS, por exemplo,`AccessDenied: User not authorized to perform: "sts:AssumeRole"`. | Para ajudar a resolver esse problema, faça o seguinte para verificar as permissões entre contas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/optimize-multi-account-serverless-deployments.html) | 
| Problemas de compatibilidade devido a incompatibilidades de versão, por exemplo, erro `undefined: awscdkStack` com uma versão desatualizada do CDK. | Para ajudar a resolver esse problema, faça o seguinte para verificar se você está usando as versões necessárias do AWS CDK e do Go:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/optimize-multi-account-serverless-deployments.html) | 
| Falhas no pipeline de CI/CD, por exemplo, `Error: No such file or directory` devido à configuração incorreta do YAML ou `Permission denied` devido a ramificações protegidas. | Para ajudar a resolver problemas com a configuração GitHub das Ações, verifique se os fluxos de trabalho reutilizáveis estão devidamente referenciados e configurados. | 

## Recursos relacionados
<a name="optimize-multi-account-serverless-deployments-resources"></a>

**Recursos da AWS**
+ [AWS Práticas recomendadas de segurança, identidade e conformidade](https://aws.amazon.com/architecture/security-identity-compliance/)
+ [AWS CDK Workshop](https://cdkworkshop.com/60-go.html)
+ [AWS Biblioteca do Cloud Development Kit](https://pkg.go.dev/github.com/aws/aws-cdk-go/awscdk/v2)
+ [Criar uma função do Lambda usando uma imagem de contêiner](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html)
+ [Identity and Access Management para Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security-iam.html)
+ [Trabalhar com o AWS CDK em Go](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-go.html)

**Outros recursos**
+ [Configurando o OpenID Connect na Amazon](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) Web GitHub Services (documentação)
+ [Documentação do Golang](https://golang.org/doc/)
+ Guia de [início rápido para GitHub ações](https://docs.github.com/en/actions/writing-workflows/quickstart) (GitHub documentação)
+ [Reutilização de fluxos de trabalho (documentação](https://docs.github.com/en/actions/sharing-automations/reusing-workflows)) GitHub 