AWS CloudFormation Ejemplos de ingesta: definición de recursos - Guía para desarrolladores de aplicaciones avanzadas de AMS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS CloudFormation Ejemplos de ingesta: definición de recursos

Cuando se utiliza AMS AWS CloudFormation ingest, se personaliza una CloudFormation plantilla y se envía a AMS en una RFC con el tipo de cambio de ingesta ( CloudFormation ct-36cn2avfrrj9v). Para crear una CloudFormation plantilla que se pueda reutilizar varias veces, se añaden los parámetros de configuración de la pila a la entrada de ejecución del tipo de cambio de CloudFormation ingesta, en lugar de codificarlos de forma rígida en la plantilla. CloudFormation La mayor ventaja es que puedes reutilizar la plantilla.

El esquema CloudFormation de entrada del tipo de cambio de ingesta de AMS le permite elegir hasta sesenta parámetros en una CloudFormation plantilla y proporcionar valores personalizados.

En este ejemplo, se muestra cómo definir una propiedad de recurso, que se puede utilizar en diversas CloudFormation plantillas, como parámetro en el AMS CloudFormation ingest CT. Los ejemplos de esta sección muestran específicamente el uso de los temas de SNS.

Ejemplo 1: Codificar de forma rígida la propiedad del AWS CloudFormation SNSTopic recurso TopicName

En este ejemplo, se codifica de forma rígida la TopicName propiedad del AWS CloudFormation SNSTopic recurso en la CloudFormation plantilla. Tenga en cuenta que la Parameters sección está vacía.

Para tener una CloudFormation plantilla que te permita cambiar el valor del SNSTopic nombre de una pila nueva sin tener que crear una CloudFormation plantilla nueva, puedes usar la Parameters sección AMS del tipo de cambio de CloudFormation ingesta para realizar esa configuración. De este modo, utilizarás la misma CloudFormation plantilla más adelante para crear una pila nueva con un SNSTopic nombre diferente.

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

Ejemplo 2: Utilice un SNSTopic recurso para hacer referencia a un parámetro del tipo de cambio AMS

En este ejemplo, se utiliza una TopicName propiedad de SNSTopic recurso definida en la CloudFormation plantilla para hacer referencia a una Parameter propiedad del tipo de cambio de 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"} } } } }

Ejemplo 3: Cree un tema de SNS enviando un archivo de parámetros de ejecución JSON con el tipo de cambio de ingesta de AMS

En este ejemplo, envía un archivo de parámetros de ejecución de JSON con el AMS ingest CT que crea el tema de SNS. TopicName El tema de SNS debe definirse en la CloudFormation plantilla de la forma modificable que se muestra en este ejemplo.

{ "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 }

Ejemplo 4: envíe un nuevo tipo de cambio que haga referencia a la misma plantilla CloudFormation

En este ejemplo de JSON se cambia el TopicName valor de SNS sin realizar ningún cambio en la CloudFormation plantilla. En su lugar, debe enviar un nuevo tipo de cambio Implementación | Ingestión | Pila a partir de CloudFormation plantilla | Crear que haga referencia a la misma plantilla de 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 }

Ejemplo 5: utilice los valores de los parámetros predeterminados en la plantilla CloudFormation

En este ejemplo, se crea el SNS TopicName = MyTopicName '' porque no se proporcionó ningún TopicName valor en el parámetro de Parameters ejecución. Si no proporciona Parameters definiciones, se utilizan los valores de los parámetros predeterminados de la CloudFormation plantilla.

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