Wie importiere ich vorhandene Ressourcen in einen verschachtelten Stack, dessen übergeordneter Stack der Root-Stack in CloudFormation ist?

Letzte Aktualisierung: 20.05.2022

Ich habe einen verschachtelten Stack in AWS CloudFormation, dessen übergeordneter Stack ein Root-Stack ist. Ich möchte eine vorhandene Ressource in den verschachtelten Stack importieren. Aber wenn ich versuche, die Ressource in den Root-Stack zu importieren, erhalte ich die Fehlermeldung „This template does not include any resources to import“ (Diese Vorlage enthält keine zu importierenden Ressourcen).

Kurzbeschreibung

Wenn der übergeordnete Stack des verschachtelten Stacks der Root-Stack ist, empfiehlt es sich, nur den Root-Stack zu ändern.

Hinweis: Die folgende Lösung bezieht sich auf den Import einer Ressource in einen verschachtelten Stack, dessen übergeordneter Stack der Root-Stack ist.

Wichtig: Führen Sie nach einem Importvorgang immer eine Drift-Erkennung für Stacks aus, um sicherzustellen, dass die importierte Ressource nicht driftet.

Lösung

Gehen Sie zum Importieren von Ressourcen in einen verschachtelten Stack folgendermaßen vor:

  1. Aktualisieren Sie die Root-Vorlage mit Retain DeletionPolicy auf der verschachtelten AWS::CloudFormation::Stack-Ressource, um den Stack vom Root-Stack zu trennen, ohne ihn zu löschen.
  2. Aktualisieren Sie den Root-Stack, indem Sie AWS::CloudFormation::Stack aus der Vorlage entfernen.
    Hinweis: Nachdem Sie den Root-Stack aktualisiert haben, wird der verschachtelte Stack immer noch als verschachtelt markiert.
  3. Führen Sie einen Importvorgang für den getrennten verschachtelten Stack durch, um die vorhandene Ressource zu importieren.
    Hinweis: Da der Stack immer noch als verschachtelt betrachtet wird, wird eine Warnung angezeigt, die empfiehlt, stattdessen den Root-Stack zu aktualisieren. Ignorieren Sie das und aktualisieren Sie den verschachtelten Stack weiter. Ändern Sie während des Imports keine anderen Ressourcen.
  4. Verschieben Sie den getrennten verschachtelten Stack aus dem Status IMPORT_COMPLETE, indem Sie ihn erneut mit einer leicht entfernbaren Änderung aktualisieren, z. B. durch Hinzufügen von Ausgaben oder Tags.
  5. Führen Sie einen Importvorgang auf dem Root-Stack durch, um den verschachtelten Stack wieder in seine verschachtelte Hierarchie einzufügen.
    Hinweis: Stellen Sie sicher, dass die Root-Vorlage eine Referenz für die aktualisierte Vorlage des verschachtelten Stacks enthält, damit sie die neu importierte Ressource enthält.

War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?