View a markdown version of this page

Uso de AWS AppConfig eventos de implementación en la extensión Amazon SNS - AWS AppConfig

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.

Uso de AWS AppConfig eventos de implementación en la extensión Amazon SNS

La AWS AppConfig deployment events to Amazon SNS extensión es una AWS extensión creada que le ayuda a supervisar el flujo de trabajo de implementación de la AWS AppConfig configuración y actuar al respecto. La extensión publica mensajes en un tema de Amazon SNS siempre que se implementa una configuración. Después de asociar la extensión a una de sus AWS AppConfig aplicaciones, entornos o perfiles de configuración, AWS AppConfig publica un mensaje sobre el tema cada vez que se inicia, finaliza o revierte cada implementación de la configuración.

Si desea tener más control sobre los puntos de acción que envían las notificaciones de Amazon SNS, puede crear una extensión personalizada e introducir el nombre de recurso de Amazon (ARN) del tema de Amazon SNS en el campo URI. Para obtener información sobre la creación de una extensión, consulte Tutorial: Crear contenido personalizado AWS AppConfig extensiones.

Uso del paquete de extensión

En esta sección, se explica cómo se utiliza la extensión AWS AppConfig deployment events to Amazon SNS.

Paso 1: Configurar AWS AppConfig para publicar mensajes sobre un tema

Añada una política de control de acceso a su tema de Amazon SNS que conceda a AWS AppConfig (appconfig.amazonaws.com) permiso para publicar mensajes (sns:Publish). Para asegurarse de que solo su cuenta puede enviar estos mensajes, añada una aws:SourceAccount condición a la política y configúrela en su ID de AWS cuenta. Esto evita que alguien que tenga una AWS cuenta diferente utilice la extensión para enviar mensajes a tu tema. Para restringir aún más el acceso, puedes usar en su lugar una aws:SourceArn condición establecida en el ARN de la asociación de extensiones. Para obtener más información, consulte Casos de ejemplo para el control de acceso de Amazon SNS.

El siguiente ejemplo de política permite AWS AppConfig publicar en tu tema solo cuando la solicitud proviene de tu propia cuenta. Sustituya MySNSTopic el ID de la cuenta de ejemplo por sus propios valores.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppConfigPublish", "Effect": "Allow", "Principal": { "Service": "appconfig.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-east-1:111122223333:MySNSTopic", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }
Impida el acceso entre cuentas

Debe incluir la aws:SourceArn condición aws:SourceAccount o en su política temática de Amazon SNS para evitar el acceso entre cuentas. Sin estas condiciones, otra AWS cuenta podría configurar su AWS AppConfig deployment events to Amazon SNS extensión para enviar eventos de implementación a su tema. Limite siempre la política a su propia cuenta.

Paso 2: Crear una asociación de extensión

Crea una asociación de extensiones para adjuntar la extensión a uno de tus AWS AppConfig recursos. La asociación se crea mediante la AWS AppConfig consola o la acción de la CreateExtensionAssociation API. Al crear la asociación, se especifica el ARN de una AWS AppConfig aplicación, un entorno o un perfil de configuración. Si asocia la extensión a una aplicación o un entorno, se envía una notificación para cualquier perfil de configuración contenido en la aplicación o el entorno especificados. Al crear la asociación, debe introducir un valor para el parámetro topicArn que contiene el ARN del tema de Amazon SNS que desee utilizar.

Tras crear la asociación, cuando se implementa una configuración para el AWS AppConfig recurso especificado, AWS AppConfig invoca la extensión y envía notificaciones de acuerdo con los puntos de acción especificados en la extensión.

nota

Esta extensión se invoca mediante los siguientes puntos de acción:

  • ON_DEPLOYMENT_START

  • ON_DEPLOYMENT_COMPLETE

  • ON_DEPLOYMENT_ROLLED_BACK

No se pueden personalizar los puntos de acción de esta extensión. Para invocar diferentes puntos de acción, puede crear su propia extensión. Para obtener más información, consulte Tutorial: Crear contenido personalizado AWS AppConfig extensiones.

Utilice los procedimientos siguientes para crear una asociación de AWS AppConfig extensiones mediante la AWS Systems Manager consola o la AWS CLI.

Para crear una extensión de asociación (consola)
  1. Abra la AWS Systems Manager consola en https://console.aws.amazon.com/systems-manager/appconfig/.

  2. En el panel de navegación, elija AWS AppConfig.

  3. En la pestaña Extensiones, seleccione Añadir al recurso.

  4. En la sección Detalles del recurso de la extensión, en Tipo de recurso, elija un tipo de AWS AppConfig recurso. Según el recurso que elija, AWS AppConfig le pedirá que elija otros recursos.

  5. Elija Crear una asociación al recurso.

A continuación, se incluye un ejemplo del mensaje que se envía al tema de Amazon SNS cuando se invoca la extensión.

{ "Type": "Notification", "MessageId": "ae9d702f-9a66-51b3-8586-2b17932a9f28", "TopicArn": "arn:aws:sns:us-east-1:111122223333:MySNSTopic", "Message": { "InvocationId": "7itcaxp", "Parameters": { "topicArn": "arn:aws:sns:us-east-1:111122223333:MySNSTopic" }, "Application": { "Id": "1a2b3c4d", "Name": MyApp }, "Environment": { "Id": "1a2b3c4d", "Name": MyEnv }, "ConfigurationProfile": { "Id": "1a2b3c4d", "Name": "MyConfigProfile" }, "Description": null, "DeploymentNumber": "3", "ConfigurationVersion": "1", "Type": "OnDeploymentComplete" }, "Timestamp": "2022-06-30T20:26:52.067Z", "SignatureVersion": "1", "Signature": "<...>", "SigningCertURL": "<...>", "UnsubscribeURL": "<...>", "MessageAttributes": { "MessageType": { "Type": "String", "Value": "OnDeploymentStart" } } }