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 Sie eine CloudFormation Vorlage aus Ressourcen, die mit dem IaC-Generator gescannt wurden
In diesem Thema wird erklärt, wie Sie eine Vorlage aus Ressourcen erstellen, die mit der IaC-Generatorfunktion gescannt wurden.
Eine Vorlage aus gescannten Ressourcen erstellen (Konsole)
Um eine Stack-Vorlage aus gescannten Ressourcen zu erstellen
-
Öffnen Sie die IaC-Generatorseite
der CloudFormation Konsole. -
Wählen Sie in der Navigationsleiste oben auf dem Bildschirm die AWS-Region das enthält die gescannten Ressourcen.
-
Wählen Sie im Bereich Vorlagen die Option Vorlage erstellen aus.
-
Wählen Sie Mit einer neuen Vorlage beginnen aus.
-
Geben Sie unter Vorlagenname einen Namen für Ihre Vorlage ein.
-
(Optional) Konfigurieren Sie Ihre Löschrichtlinie und die Richtlinie zum Ersetzen von Updates.
-
Wählen Sie Weiter, um gescannte Ressourcen zur Vorlage hinzuzufügen.
-
-
Durchsuchen Sie unter Gescannte Ressourcen hinzufügen die Liste der gescannten Ressourcen und wählen Sie die Ressourcen aus, die Sie zu Ihrer Vorlage hinzufügen möchten. Sie können die Ressourcen nach Ressourcen-ID, Ressourcentyp oder Tags filtern. Die Filter schließen sich gegenseitig ein.
-
Wenn Sie Ihrer Vorlage alle benötigten Ressourcen hinzugefügt haben, klicken Sie auf Weiter, um die Seite Gescannte Ressourcen hinzufügen zu verlassen und mit der Seite Verwandte Ressourcen hinzufügen fortzufahren.
-
Sehen Sie sich eine empfohlene Liste verwandter Ressourcen an. Verwandte Ressourcen, wie EC2 Amazon-Instances und Sicherheitsgruppen, sind voneinander abhängig und gehören in der Regel zu derselben Arbeitslast. Wählen Sie die zugehörigen Ressourcen aus, die Sie in die generierte Vorlage aufnehmen möchten.
Anmerkung
Wir empfehlen Ihnen, alle verwandten Ressourcen zu dieser Vorlage hinzuzufügen.
-
Überprüfen Sie die Vorlagendetails, die gescannten Ressourcen und die zugehörigen Ressourcen.
-
Wählen Sie Vorlage erstellen, um die Seite Überprüfen und erstellen zu verlassen und die Vorlage zu erstellen.
Erstellen Sie eine Vorlage aus gescannten Ressourcen (AWS CLI)
Um eine Stapelvorlage aus gescannten Ressourcen zu erstellen
-
Verwenden Sie den list-resource-scan-resourcesBefehl, um die beim Scan gefundenen Ressourcen aufzulisten, und geben Sie optional die
--resource-identifier
Option an, die Ausgabe einzuschränken. Für die--resource-scan-id
Option ersetzen Sie das Beispiel ARN durch das tatsächlicheARN.aws cloudformation list-resource-scan-resources \ --resource-scan-id
arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60
\ --resource-identifierMyApp
Im Folgenden finden Sie ein Antwortbeispiel, in dem
ManagedByStack
angegeben wird, ob die Ressource bereits CloudFormation verwaltet wird. Kopieren Sie die Ausgabe. Sie benötigen sie für den nächsten Schritt.{ "Resources": [ { "ResourceType": "AWS::EKS::Cluster", "ResourceIdentifier": { "ClusterName": "MyAppClusterName" }, "ManagedByStack": false }, { "ResourceType": "AWS::AutoScaling::AutoScalingGroup", "ResourceIdentifier": { "AutoScalingGroupName": "MyAppASGName" }, "ManagedByStack": false } ] }
Eine Beschreibung der Felder in der Ausgabe finden Sie ScannedResourcein AWS CloudFormation APIReferenz.
-
Verwenden Sie den
cat
Befehl, um die Ressourcentypen und Bezeichner in einer JSON Datei mit dem Namenresources.json
in Ihrem Home-Verzeichnis zu speichern. Das Folgende ist ein Beispiel, das auf der Beispielausgabe im vorherigen Schritt JSON basiert.$ cat > resources.json [ { "ResourceType": "AWS::EKS::Cluster", "ResourceIdentifier": { "ClusterName": "MyAppClusterName" } }, { "ResourceType": "AWS::AutoScaling::AutoScalingGroup", "ResourceIdentifier": { "AutoScalingGroupName": "MyAppASGName" } } ]
-
Verwenden Sie den Befehl list-resource-scan-related-resources zusammen mit der von Ihnen erstellten
resources.json
Datei, um die Ressourcen aufzulisten, die sich auf Ihre gescannten Ressourcen beziehen.aws cloudformation list-resource-scan-related-resources \ --resource-scan-id
arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60
\ --resourcesfile://resources.json
Im Folgenden finden Sie ein Antwortbeispiel, das
ManagedByStack
angibt, ob die Ressource bereits CloudFormation verwaltet wird. Fügen Sie diese Ressourcen der JSON Datei hinzu, die Sie im vorherigen Schritt erstellt haben. Sie benötigen es, um Ihre Vorlage zu erstellen.{ "RelatedResources": [ { "ResourceType": "AWS::EKS::Nodegroup", "ResourceIdentifier": { "NodegroupName": "MyAppNodegroupName" }, "ManagedByStack": false }, { "ResourceType": "AWS::IAM::Role", "ResourceIdentifier": { "RoleId": "arn:aws::iam::
account-id
:role/MyAppIAMRole" }, "ManagedByStack": false } ] }Eine Beschreibung der Felder in der Ausgabe finden Sie ScannedResourcein der AWS CloudFormation APIReferenz.
Anmerkung
Die Eingabeliste der Ressourcen darf eine Länge von 100 nicht überschreiten. Um verwandte Ressourcen für mehr als 100 Ressourcen aufzulisten, führen Sie den list-resource-scan-related-resources Befehl stapelweise zu 100 aus und konsolidieren Sie die Ergebnisse.
Beachten Sie, dass die Ausgabe doppelte Ressourcen in der Liste enthalten kann.
-
Verwenden Sie den create-generated-templateBefehl, um wie folgt eine neue Stack-Vorlage mit den folgenden Änderungen zu erstellen:
-
Ersetzen Sie durch AWS-Region das enthält die gescannten Ressourcen.us-east-1
-
Ersetzen Sie es durch den Namen der zu erstellenden Vorlage.MyTemplate
aws cloudformation create-generated-template --region
us-east-1
\ --generated-template-nameMyTemplate
\ --resourcesfile://resources.json
Im Folgenden sehen Sie ein Beispiel für eine
resources.json
-Datei.[ { "ResourceType": "AWS::EKS::Cluster", "LogicalResourceId":"MyCluster", "ResourceIdentifier": { "ClusterName": "MyAppClusterName" } }, { "ResourceType": "AWS::AutoScaling::AutoScalingGroup", "LogicalResourceId":"MyASG", "ResourceIdentifier": { "AutoScalingGroupName": "MyAppASGName" } }, { "ResourceType": "AWS::EKS::Nodegroup", "LogicalResourceId":"MyNodegroup", "ResourceIdentifier": { "NodegroupName": "MyAppNodegroupName" } }, { "ResourceType": "AWS::IAM::Role", "LogicalResourceId":"MyRole", "ResourceIdentifier": { "RoleId": "arn:aws::iam::
account-id
:role/MyAppIAMRole" } } ]Bei Erfolg gibt dieser Befehl Folgendes zurück.
{ "Arn": "arn:aws:cloudformation:
region
:account-id
:generatedtemplate/7fc8512c-d8cb-4e02-b266-d39c48344e48
", "Name": "MyTemplate
" } -