Wiederherstellen eines Importvorgangs - AWS CloudFormation

Wiederherstellen eines Importvorgangs

Um einen Importvorgang wiederherzustellen, geben Sie eine Retain-Löschrichtlinie für die Ressource an, die Sie aus der Vorlage entfernen möchten, um sicherzustellen, dass sie erhalten bleibt, wenn Sie sie aus dem Stack löschen.

Wiederherstellen eines Importvorgangs mithilfe der AWS Management Console

  1. Geben Sie eine Retain-DeletionPolicy für die Ressourcen an, die Sie aus dem Stack entfernen möchten. In der folgenden Beispielvorlage ist GamesTable das Ziel dieses Wiederherstellungsvorgangs.

    Beispiel 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. Öffnen Sie die AWS CloudFormation-Konsole zum Durchführen einer Stack-Aktualisierung, um die Löschrichtlinie anzuwenden.

    1. Wählen Sie auf der Seite Stacks mit ausgewähltem Stack Aktualisieren und dann Stack aktualisieren (Standard) aus.

    2. Wählen Sie unter Vorlage vorbereiten die Option Aktuelle Vorlage ersetzen aus.

    3. Geben Sie unter Vorlage angeben die aktualisierte Quellvorlage mit dem DeletionPolicy-Attribut für GamesTable ein und wählen Sie dann Weiter aus.

      • Wählen Sie Amazon S3-URL aus und geben Sie dann im Textfeld die URL zur aktualisierten Quellvorlage an.

      • Wählen Sie Vorlagendatei hochladen aus und suchen Sie dann nach der aktualisierten Quellvorlagendatei.

    4. Auf der Seite Stack-Details angeben sind keine Änderungen erforderlich. Wählen Sie Next.

    5. Auf der Seite Stack-Optionen konfigurieren sind keine Änderungen erforderlich. Wählen Sie Next.

    6. Überprüfen Sie auf der Seite stack_name überprüfen Ihre Änderungen. Wenn Ihre Vorlage IAM-Ressourcen enthält, wählen Sie I acknowledge that this template may create IAM resources (Ich nehme zur Kenntnis, dass diese Vorlage IAM-Ressourcen erstellen kann) aus, um anzugeben, dass Sie IAM-Ressourcen in der Vorlage verwenden möchten. Weitere Informationen zum Verwenden von IAM-Ressourcen in Vorlagen finden Sie unter Zugriffssteuerung mit AWS Identity and Access Management. Aktualisieren Sie dann entweder Ihren Quell-Stack, indem Sie einen Änderungssatz erstellen, oder aktualisieren Sie Ihren Quell-Stack direkt.

  3. Entfernen Sie die Ressource, zugehörige Parameter und Ausgaben aus der Stack-Vorlage. In diesem Beispiel sieht die Vorlage jetzt wie folgt aus.

    Beispiel 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. Wiederholen Sie Schritt 2, um die Ressource (GamesTable) und die zugehörigen Parameter und Ausgaben aus dem Stack zu löschen.

Wiederherstellen eines Importvorgangs mithilfe der AWS CLI

  1. Geben Sie eine Retain-DeletionPolicy für die Ressourcen an, die Sie aus dem Stack entfernen möchten. In der folgenden Beispielvorlage ist GamesTable das Ziel dieses Wiederherstellungsvorgangs.

    Beispiel 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. Aktualisieren Sie den Stack, um die Löschrichtlinie auf die Ressource anzuwenden.

    update-stack --stack-name "stack-name"
  3. Entfernen Sie die Ressource, zugehörige Parameter und Ausgaben aus der Stack-Vorlage. In diesem Beispiel sieht die Vorlage jetzt wie folgt aus.

    Beispiel 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. Aktualisieren Sie den Stack, um die Ressource (GamesTable) und die zugehörigen Parameter und Ausgaben aus dem Stack zu löschen.

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