AWS CloudFormation Exemplos de ingestão: definição de recursos - Guia do desenvolvedor de aplicativos avançados do AMS

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

AWS CloudFormation Exemplos de ingestão: definição de recursos

Ao usar o AMS AWS CloudFormation ingest, você personaliza um CloudFormation modelo e o envia ao AMS em um RFC com o tipo de alteração de CloudFormation ingestão (ct-36cn2avfrrj9v). Para criar um CloudFormation modelo que possa ser reutilizado várias vezes, você adiciona os parâmetros de configuração da pilha à entrada de execução do tipo de alteração de CloudFormation ingestão em vez de codificá-los no modelo. CloudFormation O maior benefício é que você pode reutilizar o modelo.

O esquema de entrada do tipo de alteração de CloudFormation ingestão do AMS permite que você escolha até sessenta parâmetros em um CloudFormation modelo e forneça valores personalizados.

Este exemplo mostra como definir uma propriedade de recurso, que pode ser usada em vários CloudFormation modelos, como um parâmetro na CT de CloudFormation ingestão do AMS. Os exemplos nesta seção mostram especificamente o uso de tópicos do SNS.

Exemplo 1: codifique a TopicName propriedade do AWS CloudFormation SNSTopic recurso

Neste exemplo, você codifica a TopicName propriedade do AWS CloudFormation SNSTopic recurso no CloudFormation modelo. Observe que a Parameters seção está vazia.

Para ter um CloudFormation modelo que permita alterar o valor do SNSTopic nome de uma nova pilha sem precisar criar um novo CloudFormation modelo, você pode usar a Parameters seção AMS do tipo de alteração de CloudFormation ingestão para fazer essa configuração. Ao fazer isso, você usa o mesmo CloudFormation modelo posteriormente para criar uma nova pilha com um SNSTopic nome diferente.

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "My SNS Topic", "Parameters" : { }, "Resources" : { "SNSTopic" : { "Type" : "AWS::SNS::Topic", "Properties" : { "TopicName" : "MyTopicName" } } } }

Exemplo 2: Use um SNSTopic recurso para referenciar um parâmetro no tipo de alteração do AMS

Neste exemplo, você usa uma TopicName propriedade de SNSTopic recurso definida no CloudFormation modelo para fazer referência a Parameter no tipo de alteração do AMS.

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "My SNS Topic", "Parameters" : { "TopicName" : { "Type" : "String", "Description" : "Topic ID", "Default" : "MyTopicName" } }, "Resources" : { "SNSTopic" : { "Type" : "AWS::SNS::Topic", "Properties" : { "TopicName" : { "Ref" : "TopicName"} } } } }

Exemplo 3: Crie um tópico do SNS enviando um arquivo de parâmetros de execução JSON com o tipo de alteração de ingestão do AMS

Neste exemplo, você envia um arquivo de parâmetros de execução JSON com a CT de ingestão do AMS que cria o tópico SNS. TopicName O tópico SNS deve ser definido no CloudFormation modelo da forma modificável mostrada neste exemplo.

{ "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL", "VpcId": "VPC_ID", "Tags": [ {"Key": "Enviroment Type", "Value": "Dev"} ], "Parameters": [ {"Name": "TopicName", "Value": "MyTopic1"} ], "TimeoutInMinutes": 60 }

Exemplo 4: Enviar um novo tipo de alteração que faça referência ao mesmo CloudFormation modelo

Esse exemplo de JSON altera o TopicName valor do SNS sem fazer nenhuma alteração no CloudFormation modelo. Em vez disso, você envia um novo tipo de alteração Deployment | Inestion | Stack from CloudFormation Template | Create que faça referência ao mesmo modelo CFN.

{ "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL", "VpcId": "VPC_ID", "Tags": [ {"Key": "Enviroment Type", "Value": "Dev"} ], "Parameters": [ {"Name": "TopicName", "Value": "MyTopic2"} ], "TimeoutInMinutes": 60 }

Exemplo 5: Use os valores de parâmetros padrão no CloudFormation modelo

Neste exemplo, o SNS TopicName = 'MyTopicName' é criado porque nenhum TopicName valor foi fornecido no parâmetro de Parameters execução. Se você não fornecer Parameters definições, os valores de parâmetros padrão no CloudFormation modelo serão usados.

{ "Name": "cfn-ingest", "Description": "CFNIngest Web Application Stack", "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL", "VpcId": "VPC_ID", "Tags": [ {"Key": "Enviroment Type", "Value": "Dev"} ], "TimeoutInMinutes": 60 }