Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen eines Stacks aus vorhandenen Ressourcen
Während dieses Importvorgangs müssen Sie Folgendes angeben.
-
Eine Vorlage, die die Ressourcen im neuen Stack und die Ressourcenkonfigurationen beschreibt. Jede Ressource in Ihrer Vorlage muss über einen verfügenDeletionPolicy Attribut.
-
Ein eindeutiger Bezeichner für jede Zielressource. Rufen Sie die entsprechende Servicekonsole auf, um eindeutige Bezeichner zu erhalten.
In dieser Anleitung stellen wir die folgende Beispielvorlage mit dem Namen TemplateToImport.json
bereit. ServiceTable
und GamesTable
sind die Ziele des Imports.
{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Import test", "Resources": { "ServiceTable": { "Type": "AWS::DynamoDB::Table", "DeletionPolicy": "Retain", "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 } } } } }
Erstellen eines Stacks aus vorhandenen Ressourcen mithilfe der AWS Management Console
Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation
. -
Wählen Sie auf der Seite Stacks die Option Stack erstellen aus und klicken Sie dann auf Mit vorhandenen Ressourcen (Ressourcen importieren).
-
Auf der Seite Importübersicht finden Sie eine Liste der Dinge, die Sie während dieses Vorgangs angeben müssen. Wählen Sie anschließend Weiter.
-
Geben Sie auf der Seite Vorlage angeben Ihre Vorlage mit einer der folgenden Methoden an und wählen Sie dann Weiter aus.
-
Wählen Sie Amazon S3-URL aus und geben Sie dann die URL für Ihre Vorlage im Textfeld an.
-
Wählen Sie Vorlagendatei hochladen aus und suchen Sie dann nach Ihrer Vorlage.
-
-
Identifizieren Sie auf der Seite Ressourcen identifizieren jede Zielressource.
-
Wählen Sie unter Bezeichnereigenschaft den Typ des Ressourcenbezeichners aus. Beispielsweise kann die
AWS::DynamoDB::Table
-Ressource mit derTableName
-Eigenschaft identifiziert werden. -
Geben Sie unter Bezeichnerwert den tatsächlichen Eigenschaftswert ein. Beispielsweise ist der
TableName
für dieGamesTable
-Ressource in der Beispielvorlage
.Games
-
Wählen Sie Weiter aus.
-
-
Ändern Sie auf der Seite Stack-Details angeben alle Parameter und wählen Sie dann Weiter aus. Dadurch wird automatisch ein Änderungssatz erstellt.
Wichtig
Der Importvorgang schlägt fehl, wenn Sie vorhandene Parameter ändern, die einen Erstellungs-, Aktualisierungs- oder Löschvorgang initiieren.
-
Überprüfen Sie auf der Seite
Stack-Name
überprüfen, ob die richtigen Ressourcen importiert werden, und wählen Sie dann Ressourcen importieren aus. Dadurch wird der im letzten Schritt erstellte Änderungssatz automatisch ausgeführt.Der Bereich Ereignisse der Seite Stack-Details für Ihren neuen Stack wird angezeigt.
-
(Optional) Führen Sie die Abweichungserkennung für den Stack aus, um sicherzustellen, dass die Vorlage und die tatsächliche Konfiguration der importierten Ressourcen übereinstimmen. Weitere Informationen zum Erkennen von Abweichungen finden Sie unter Erkennen von Abweichungen auf einem gesamten CloudFormation Stack.
-
(Optional) Wenn die importierten Ressourcen nicht mit den erwarteten Vorlagenkonfigurationen übereinstimmen, korrigieren Sie entweder die Vorlagenkonfigurationen oder aktualisieren Sie die Ressourcen direkt. In dieser Anleitung korrigieren wir die Vorlagenkonfigurationen so, dass sie ihren tatsächlichen Konfigurationen entsprechen.
-
Stellen Sie den Importvorgang für die betroffenen Ressourcen wieder her.
-
Fügen Sie der Vorlage die Importziele erneut hinzu und stellen Sie sicher, dass die Vorlagenkonfigurationen mit den tatsächlichen Konfigurationen übereinstimmen.
-
Wiederholen Sie die Schritte 2–8 mit der geänderten Vorlage, um die Ressourcen erneut zu importieren.
-
Erstellen eines Stacks aus vorhandenen Ressourcen mithilfe der AWS CLI
-
Öffnen Sie die AWS CLI.
-
Führen Sie optional
GetTemplateSummary
aus, um zu erfahren, welche Eigenschaften die einzelnen Ressourcentypen in der Vorlage identifizieren. Beispielsweise kann dieAWS::DynamoDB::Table
-Ressource mit derTableName
-Eigenschaft identifiziert werden. Für dieGamesTable
-Ressource in der Beispielvorlage lautet der Wert vonTableName
Games
.>
aws cloudformation get-template-summary --template-url https://
DOC-EXAMPLE-BUCKET
.s3.us-west-2
.amazonaws.com/TemplateToImport.json
-
Erstellen Sie eine Liste der Zielressourcen aus Ihrer Vorlage und deren eindeutigen Bezeichnern im folgenden Format.
[{\"ResourceType\":\"
AWS::DynamoDB::Table
\",\"LogicalResourceId\":\"GamesTable
\",\"ResourceIdentifier\":{\"TableName
\":\"Games
\"}}] -
Erstellen Sie einen Änderungssatz vom Typ
IMPORT
mit den folgenden Parametern.--resources-to-import
unterstützt keine Inline-YAML.>
aws cloudformation create-change-set --stack-name
TargetStack
--change-set-nameImportChangeSet
--change-set-typeIMPORT
--resources-to-import "[{\"ResourceType\":\"AWS::DynamoDB::Table
\",\"LogicalResourceId\":\"GamesTable
\",\"ResourceIdentifier\":{\"TableName
\":\"Games
\"}},{\"ResourceType\":\"AWS::DynamoDB::Table
\",\"LogicalResourceId\":\"ServiceTable
\",\"ResourceIdentifier\":{\"TableName
\":\"Service
\"}}]" --template-url https://DOC-EXAMPLE-BUCKET
.s3.us-west-2
.amazonaws.com/TemplateToImport.json
Die AWS CLI unterstützt auch Textdateien als Eingabe für den
--resources-to-import
-Parameter, wie im folgenden Beispiel gezeigt.--resources-to-import
file://ResourcesToImport.txt
In dieser Anleitung enthält
file://ResourcesToImport.txt
Folgendes.[ { "ResourceType":"AWS::DynamoDB::Table", "LogicalResourceId":"GamesTable", "ResourceIdentifier":{ "TableName":"Games" } }, { "ResourceType":"AWS::DynamoDB::Table", "LogicalResourceId":"ServiceTable", "ResourceIdentifier":{ "TableName":"Service" } } ]
-
Überprüfen Sie den Änderungssatz, um sicherzustellen, dass die richtigen Ressourcen importiert werden.
>
aws cloudformation describe-change-set --change-set-name
ImportChangeSet
--stack-nameTargetStack
-
Führen Sie den Änderungssatz aus, um die Ressourcen zu importieren. Nach erfolgreichem Abschluss des Vorgangs
(IMPORT_COMPLETE)
werden die Ressourcen erfolgreich importiert.>
aws cloudformation execute-change-set --change-set-name
ImportChangeSet
--stack-nameTargetStack
-
(Optional) Führen Sie die Abweichungserkennung für den
IMPORT_COMPLETE
-Stack aus, um sicherzustellen, dass die Vorlage und die tatsächliche Konfiguration der importierten Ressourcen übereinstimmen. Weitere Informationen zur Erkennung von Abweichungen finden Sie unter Erkennen von Abweichungen bei einzelnen Stack-Ressourcen.>
aws cloudformation detect-stack-drift --stack-name
TargetStack
{ "StackDriftDetectionId" : "624af370-311a-11e8-b6b7-500cexample" }>
aws cloudformation describe-stack-drift-detection-status --stack-drift-detection-id
624af370-311a-11e8-b6b7-500cexample
>
aws cloudformation describe-stack-resource-drifts --stack-name
TargetStack
-
(Optional) Wenn die importierten Ressourcen nicht mit den erwarteten Vorlagenkonfigurationen übereinstimmen, korrigieren Sie entweder die Vorlagenkonfigurationen oder aktualisieren Sie die Ressourcen direkt. In dieser Anleitung korrigieren wir die Vorlagenkonfigurationen so, dass sie ihren tatsächlichen Konfigurationen entsprechen.
-
Stellen Sie den Importvorgang für die betroffenen Ressourcen wieder her.
-
Fügen Sie der Vorlage die Importziele erneut hinzu und stellen Sie sicher, dass die Vorlagenkonfigurationen mit den tatsächlichen Konfigurationen übereinstimmen.
-
Wiederholen Sie die Schritte 4–7 mit der geänderten Vorlage, um die Ressourcen erneut zu importieren.
-