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á.
Personalize os nomes das funções padrão usando AWS CDK aspectos e escotilhas de escape
Sandeep Singh e James Jacob, Amazon Web Services
Resumo
Esse padrão demonstra como personalizar os nomes padrão das funções criadas por AWS Cloud Development Kit (AWS CDK) construções. A personalização dos nomes de perfis é frequentemente necessária quando sua organização tem restrições específicas baseadas em convenções de nomenclatura. Por exemplo, sua organização pode definir limites de permissões AWS Identity and Access Management (IAM) ou políticas de controle de serviço (SCPs) que exijam um prefixo específico nos nomes das funções. Nesses casos, os nomes de função padrão gerados pelas AWS CDK construções podem não atender a essas convenções e talvez precisem ser alterados. Este padrão atende a esses requisitos ao usar mecanismos de escape e aspectos no AWS CDK. Você emprega os mecanismos de escape para definir nomes de perfis personalizados e os aspectos para aplicar um nome personalizado a todos os perfis, garantindo conformidade com as políticas e restrições da sua organização.
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS
Pré-requisitos especificados na documentação do AWS CDK
Limitações
Os aspectos filtram recursos com base em tipos de recurso, garantindo que todos os perfis compartilhem o mesmo prefixo. Caso sejam necessários prefixos distintos para diferentes perfis, é preciso aplicar filtros adicionais com base em outras propriedades. Por exemplo, para atribuir prefixos diferentes a funções associadas a AWS Lambda funções, você pode filtrar por atributos ou tags de função específicos e aplicar um prefixo para funções relacionadas ao Lambda e um prefixo diferente para outras funções.
Os nomes de perfis do IAM podem ter, no máximo, 64 caracteres, de modo que nomes de perfis alterados precisam ser reduzidos para respeitar esse limite.
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
. Para endpoints específicos, consulte a página Cotas e endpoints de serviços e clique no link correspondente ao serviço desejado.
Arquitetura
Pilha de tecnologias de destino
AWS CDK
AWS CloudFormation
Arquitetura de destino

Um AWS CDK aplicativo consiste em uma ou mais CloudFormation pilhas, que são sintetizadas e implantadas para gerenciar recursos. AWS
Para modificar uma propriedade de um recurso AWS CDK gerenciado que não é exposta por uma construção de camada 2 (L2), use uma saída de emergência para substituir as CloudFormation propriedades subjacentes (nesse caso, o nome da função) e um aspecto para aplicar a função a todos os recursos no AWS CDK aplicativo durante o processo de síntese da pilha. AWS CDK
Ferramentas
Serviços da AWS
AWS Cloud Development Kit (AWS CDK)é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar Nuvem AWS infraestrutura em código.
AWS CDK A interface de linha de comando (AWS CDK CLI) (também conhecida como kit de AWS CDK ferramentas) é um kit de desenvolvimento em nuvem de linha de comando que ajuda você a interagir com seu aplicativo. AWS CDK O
cdkcomando CLI é a principal ferramenta para interagir com seu aplicativo. AWS CDK Ele executa seu aplicativo, interroga o modelo de aplicativo que você definiu e produz e implanta os CloudFormation modelos gerados pelo. AWS CDKCloudFormationajuda você a configurar AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los em todo o ciclo de vida em todas Contas da AWS as regiões.
Repositório de código
O código-fonte e os modelos desse padrão estão disponíveis no repositório GitHub CDK Aspects Override
Práticas recomendadas
Consulte as melhores práticas para usar o AWS CDK in TypeScript para criar projetos de IaC no site de Orientação AWS Prescritiva.
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Instale a AWS CDK CLI. | Para instalar a AWS CDK CLI globalmente, execute o comando:
| AWS DevOps |
Verificar a versão. | Execute o comando :
Confirme se você está usando a versão 2 da AWS CDK CLI. | AWS DevOps |
Inicialize o AWS CDK ambiente. | Antes de implantar os CloudFormation modelos, prepare a conta Região da AWS que você deseja usar. Execute o comando :
Para obter mais informações, consulte AWS CDK bootstrapping na documentação. AWS | AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Configure o projeto. |
| AWS DevOps |
Implante pilhas com nomes de perfil padrão atribuídos pelo AWS CDK. | Implante duas CloudFormation pilhas (
O código não transfere propriedades de perfil explicitamente, portanto, os nomes dos perfis serão definidos pelo AWS CDK. Para obter uma saída de exemplo, consulte a seção Informações adicionais. | AWS DevOps |
Implante pilhas com aspectos. | Nesta etapa, você aplica um aspecto que impõe uma convenção de nome de função adicionando um prefixo a todas as funções do IAM implantadas no projeto. AWS CDK O aspecto está definido no arquivo
Para obter uma saída de exemplo, consulte a seção Informações adicionais. | AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Exclua suas AWS CloudFormation pilhas. | Após terminar de usar este padrão, execute o seguinte comando para limpar os recursos e evitar incorrer em custos adicionais:
| AWS DevOps |
Solução de problemas
| Problema | Solução |
|---|---|
Você encontra problemas ao usar AWS CDK o. | Consulte Solução de AWS CDK problemas comuns na AWS CDK documentação. |
Recursos relacionados
Mais informações
Nomes de funções criados por CloudFormation without aspects
Outputs: ExampleStack1WithoutAspects.Function1RoleName = example-stack1-without-as-Function1LambdaFunctionSe-y7FYTY6FXJXA ExampleStack1WithoutAspects.Function2RoleName = example-stack1-without-as-Function2LambdaFunctionSe-dDZV4rkWqWnI ... Outputs: ExampleStack2WithoutAspects.Function3RoleName = example-stack2-without-as-Function3LambdaFunctionSe-ygMv49iTyMq0
Nomes de funções criados por CloudFormation with aspects
Outputs: ExampleStack1WithAspects.Function1RoleName = dev-unicorn-Function1LambdaFunctionServiceRole783660DC ExampleStack1WithAspects.Function2RoleName = dev-unicorn-Function2LambdaFunctionServiceRole2C391181 ... Outputs: ExampleStack2WithAspects.Function3RoleName = dev-unicorn-Function3LambdaFunctionServiceRole4CAA721C