Criar configurações de recursos reutilizáveis que podem ser incluídas em modelos com os módulos do CloudFormation - AWS CloudFormation

Criar configurações de recursos reutilizáveis que podem ser incluídas em modelos com os módulos do CloudFormation

Os módulos são uma maneira de empacotar configurações de recursos para inclusão entre modelos de pilha, de modo transparente, gerenciável e repetível. Os módulos podem encapsular configurações comuns de serviço e práticas recomendadas como blocos de construção modulares e personalizáveis para você incluir em seus modelos de pilha. Os módulos permitem que você inclua configurações de recursos que incorporem práticas recomendadas, conhecimento especializado em áreas específicas e diretrizes aceitas (para áreas como segurança, conformidade, governança e regulamentações setoriais) aos seus modelos, sem precisar adquirir conhecimento profundo sobre as complexidades da implementação de recursos.

Por exemplo, um especialista na área de rede pode criar um módulo que contenha grupos de segurança integrados e regras de entrada/saída que sigam as diretrizes de segurança. Em seguida, você pode incluir esse módulo em seu modelo para provisionar infraestrutura de rede segura em sua pilha, sem precisar gastar tempo entendendo o funcionamento de VPCs, sub-redes, grupos de segurança e gateways. Além disso, como os módulos têm versionamento, se houver mudança nas diretrizes de segurança ao longo do tempo, o autor do módulo pode criar uma nova versão do módulo que incorpore essas alterações.

As características do uso de módulos em seus modelos incluem:

  • Previsibilidade: um módulo precisa aderir ao esquema em que foi registrado no registro do CloudFormation para que você possa saber para quais recursos ele pode resolver após incluí-lo em seu modelo.

  • Reutilização: você pode usar o mesmo módulo em vários modelos e contas.

  • Rastreabilidade: o CloudFormation retém o conhecimento sobre quais recursos em uma pilha foram provisionados com base em um módulo, permitindo que você entenda facilmente a origem das alterações de recursos.

  • Capacidade de gerenciamento: após registrar um módulo, você pode gerenciá-lo por meio do registro do CloudFormation, incluindo versionamento e disponibilidade de conta e regional.

Um módulo pode conter:

  • Um ou mais recursos a serem provisionados com base no módulo, juntamente com quaisquer dados associados, como saídas ou condições.

  • Qualquer parâmetro de módulo, permitindo que você especifique valores personalizados sempre que o módulo for usado.

Para obter informações sobre como desenvolver módulos, consulte Desenvolver módulos no Guia do usuário da CLI do CloudFormation.

Considerações sobre o uso de módulos

  • Não há cobrança adicional pelo uso de módulos. Você paga apenas pelos recursos para os quais os módulos resolvem em suas pilhas.

  • As cotas do CloudFormation, como o número máximo de recursos permitidos em uma pilha ou o tamanho máximo do corpo do modelo, aplicam-se ao modelo processado independentemente de os recursos incluídos nesse modelo serem ou não provenientes de módulos. Para ter mais informações, consulte Entender as cotas do CloudFormation.

  • As tags especificadas para a pilha são atribuídas aos recursos individuais derivados do módulo.

  • Scripts auxiliares especificados no módulo não se propagam para os recursos individuais contidos no módulo quando o CloudFormation processa o modelo.

  • As saídas especificadas no módulo são propagadas para saídas no modelo.

    Cada saída receberá um ID lógico que é uma concatenação do nome lógico do módulo e o nome de saída, conforme definido no módulo. Para ter mais informações, consulte Obter resultados exportados de uma pilha do CloudFormation implantada.

  • Os parâmetros especificados no módulo não são propagados para parâmetros no nível do modelo.

    No entanto, você pode criar parâmetros no âmbito de modelos que fazem referência a parâmetros de módulo. Para ter mais informações, consulte Usar parâmetros para especificar valores de módulo.