Reversión de una operación de importación - AWS CloudFormation

Reversión de una operación de importación

Para revertir una operación de importación, especifique una política de eliminación Retain para el recurso que desea eliminar de la plantilla a fin de asegurarse de que se conserva al eliminarlo de la pila.

Revertir una operación de importación mediante la AWS Management Console

  1. Especifique una Retain DeletionPolicy para los recursos que desea eliminar de la pila. En la plantilla de ejemplo siguiente, GamesTable es el destino de esta operación de reversión.

    ejemplo JSON
    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "Import test", "Resources": { "ServiceTable":{ "Type":"AWS::DynamoDB::Table", "Properties":{ "TableName":"Service", "AttributeDefinitions":[ { "AttributeName":"key", "AttributeType":"S" } ], "KeySchema":[ { "AttributeName":"key", "KeyType":"HASH" } ], "ProvisionedThroughput":{ "ReadCapacityUnits":5, "WriteCapacityUnits":1 } } }, "GamesTable": { "Type": "AWS::DynamoDB::Table", "DeletionPolicy": "Retain", "Properties": { "TableName": "Games", "AttributeDefinitions": [ { "AttributeName": "key", "AttributeType": "S" } ], "KeySchema": [ { "AttributeName": "key", "KeyType": "HASH" } ], "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 1 } } } } }
  2. Abra la consola de AWS CloudFormation para realizar una actualización de la pila y aplicar la política de eliminación.

    1. En la página Stacks (Pilas), con la pila seleccionada, elija Update (Actualizar) y, a continuación, elija Update stack (standard) (Actualizar pila [estándar]).

    2. En Prepare template (Preparar plantilla), elija Replace current template (Reemplazar la plantilla actual).

    3. En Specify template (Especificar plantilla), proporcione la plantilla de origen actualizada con el atributo DeletionPolicy en GamesTable y, a continuación, elija Next (Siguiente).

      • Elija Amazon S3 URL (URL de Amazon S3) y, a continuación, especifique la URL de la plantilla de origen actualizada en el cuadro de texto.

      • Elija Upload a template file (Cargar un archivo de plantilla) y, a continuación, busque el archivo de la plantilla de origen actualizada.

    4. En la página Specify stack details (Especificar detalles de pila) no se requieren cambios. Elija Next (Siguiente).

    5. La página Configure stack options (Configurar opciones de pila), no precisa cambios. Elija Next (Siguiente).

    6. En la página Review stack_name (Revisar nombre_pila), revise los cambios. Si la plantilla contiene recursos de IAM, seleccione I acknowledge that this template may create IAM resources (Confirmo que esta plantilla pueda crear recursos de IAM) para especificar que desea utilizar recursos de IAM en la plantilla. Para obtener más información sobre recursos de IAM en plantillas, consulte Control del acceso con AWS Identity and Access Management. A continuación, actualice la pila de origen mediante la creación de un conjunto de cambios o actualice la pila de origen directamente.

  3. Elimine el recurso, los parámetros relacionados y las salidas de la plantilla de la pila. En este ejemplo, la plantilla ahora tiene el siguiente aspecto.

    ejemplo JSON
    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "Import test", "Resources": { "ServiceTable":{ "Type":"AWS::DynamoDB::Table", "Properties":{ "TableName":"Service", "AttributeDefinitions":[ { "AttributeName":"key", "AttributeType":"S" } ], "KeySchema":[ { "AttributeName":"key", "KeyType":"HASH" } ], "ProvisionedThroughput":{ "ReadCapacityUnits":5, "WriteCapacityUnits":1 } } } } }
  4. Repita el paso 2 para eliminar el recurso (GamesTable) y sus parámetros y salidas relacionados de la pila.

Revertir una operación de importación mediante la AWS CLI

  1. Especifique una Retain DeletionPolicy para los recursos que desea eliminar de la pila. En la plantilla de ejemplo siguiente, GamesTable es el destino de esta operación de reversión.

    ejemplo JSON
    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "Import test", "Resources": { "ServiceTable":{ "Type":"AWS::DynamoDB::Table", "Properties":{ "TableName":"Service", "AttributeDefinitions":[ { "AttributeName":"key", "AttributeType":"S" } ], "KeySchema":[ { "AttributeName":"key", "KeyType":"HASH" } ], "ProvisionedThroughput":{ "ReadCapacityUnits":5, "WriteCapacityUnits":1 } } }, "GamesTable": { "Type": "AWS::DynamoDB::Table", "DeletionPolicy": "Retain", "Properties": { "TableName": "Games", "AttributeDefinitions": [ { "AttributeName": "key", "AttributeType": "S" } ], "KeySchema": [ { "AttributeName": "key", "KeyType": "HASH" } ], "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 1 } } } } }
  2. Actualice la pila para aplicar la política de eliminación al recurso.

    update-stack --stack-name "stack-name"
  3. Elimine el recurso, los parámetros relacionados y las salidas de la plantilla de la pila. En este ejemplo, la plantilla ahora tiene el siguiente aspecto.

    ejemplo JSON
    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "Import test", "Resources": { "ServiceTable":{ "Type":"AWS::DynamoDB::Table", "Properties":{ "TableName":"Service", "AttributeDefinitions":[ { "AttributeName":"key", "AttributeType":"S" } ], "KeySchema":[ { "AttributeName":"key", "KeyType":"HASH" } ], "ProvisionedThroughput":{ "ReadCapacityUnits":5, "WriteCapacityUnits":1 } } } } }
  4. Actualice la pila para eliminar el recurso (GamesTable) y sus parámetros y salidas relacionados de la pila.

    update-stack --stack-name "stack-name"