Verweisen Sie auf Ressourcenausgaben in einem anderen CloudFormation Stack - AWS CloudFormation

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.

Verweisen Sie auf Ressourcenausgaben in einem anderen CloudFormation Stack

Diese exemplarische Vorgehensweise zeigt Ihnen, wie Sie auf Ausgaben von einem CloudFormation Stapel in einem anderen Stapel verweisen, um modularere und wiederverwendbarere Vorlagen zu erstellen.

Anstatt alle Ressourcen in einem einzigen Stapel zusammenzufassen, erstellen Sie verwandte AWS Ressourcen in separaten Stapeln. Anschließend können Sie auf die erforderlichen Ressourcenausgaben aus anderen Stacks verweisen. Durch Einschränken von Stack-übergreifenden Verweisen auf Ausgaben können Sie die Teile eines Stacks steuern, auf die von anderen Stacks verwiesen wird.

Beispielsweise verfügen Sie möglicherweise über einen Netzwerkstapel mit einerVPC, einer Sicherheitsgruppe und einem Subnetz für öffentliche Webanwendungen sowie über einen separaten Stack für öffentliche Webanwendungen. Um sicherzustellen, dass die Webanwendungen die Sicherheitsgruppe und das Subnetz aus dem Netzwerk-Stack verwenden, erstellen Sie einen Stack-übergreifenden Verweis, über den der Webanwendungs-Stack auf Ressourcenausgaben vom Netzwerk-Stack verweisen kann. Mit einem Stack-übergreifenden Verweis müssen die Besitzer der Webanwendungs-Stacks keine Netzwerkregeln oder Komponenten erstellen oder verwalten.

Um einen Stack-übergreifenden Verweis zu erstellen, verwenden Sie das Export-Ausgabefeld, um den Wert einer Ressourcenausgabe für den Export zu markieren. Verwenden Sie dann die intrinsische Funktion Fn::ImportValue , um den Wert zu importieren. Weitere Informationen finden Sie unter Holen Sie sich exportierte Ausgaben aus einem bereitgestellten CloudFormation Stack.

Anmerkung

CloudFormation ist ein kostenloser Service. Ihnen wird jedoch Folgendes in Rechnung gestellt AWS Ressourcen, die Sie jeweils zum aktuellen Tarif in Ihre Stapel aufnehmen. Weitere Informationen zur AWS Preise finden Sie auf der Detailseite für jedes Produkt.

Schritt 1: Verwenden einer Beispielvorlage zum Erstellen eines Netzwerk-Stacks

Bevor Sie mit dieser exemplarischen Vorgehensweise beginnen, überprüfen Sie, ob Sie IAM berechtigt sind, alle der folgenden Dienste zu nutzen: Amazon VPCEC2, Amazon und CloudFormation.

Der Netzwerk-Stack enthält die VPC Sicherheitsgruppe und das Subnetz, die Sie im Webanwendungs-Stack verwenden werden. Zusätzlich zu diesen Regeln erstellt der Netzwerk-Stack ein Internet-Gateway und Routing-Tabellen, um den öffentlichen Zugriff zu ermöglichen.

Sie müssen diesen Stack erstellen, bevor Sie den Webanwendungs-Stack erstellen. Wenn Sie den Webanwendungs-Stack zuerst erstellen, verfügt dieser nicht über eine Sicherheitsgruppe oder ein Subnetz.

Die Stack-Vorlage ist unter URL https://s3.amazonaws.com/cloudformation-examples/SampleNetworkCrossStackuser-guide/cross-stack/ .template verfügbar. Um die Ressourcen zu sehen, die der Stack erstellt, wählen Sie den Link aus, woraufhin die Vorlage geöffnet wird. In Outputs diesem Abschnitt können Sie die Netzwerkressourcen sehen, die mit der Beispielvorlage exportiert werden. Den Namen der exportierten Ressourcen ist der Stack-Name vorangestellt, falls Sie Netzwerkressourcen von anderen Stacks exportieren. Wenn Benutzer Netzwerkressourcen importieren, können sie angeben, von welchem Stack die Ressourcen importiert werden.

So erstellen Sie den Netzwerk-Stack
  1. Öffnen Sie die CloudFormation Konsole und wählen Sie Create Stack.

  2. Wählen Sie „Vorlage ist fertig“ und wählen Sie im Abschnitt „Vorlage angeben“ die Option Amazon S3 ausURL.

  3. Kopieren Sie Folgendes und fügen Sie es URL in das Textfeld ein:https://s3.amazonaws.com/cloudformation-examples/user-guide/cross-stack/SampleNetworkCrossStack.template.

  4. Wählen Sie Weiter.

  5. Geben Sie für Stack name SampleNetworkCrossStack ein und wählen Sie dann Next aus.

    Anmerkung

    Notieren Sie sich den Namen dieses Stacks. Sie benötigen den Stack-Namen, wenn Sie den Webanwendungs-Stack öffnen.

  6. Wählen Sie Weiter. Für diese Anleitung müssen Sie keine Tags hinzufügen oder erweiterte Einstellungen angeben.

  7. Stellen Sie sicher, dass der Stackname und URL die Vorlage korrekt sind, und wählen Sie dann Stapel erstellen aus.

    Die Erstellung Ihres Stacks kann mehrere Minuten CloudFormation dauern. Warten Sie, bis alle Ressourcen erfolgreich erstellt wurden, bevor Sie mit der Erstellung des Webanwendungs-Stacks fortfahren.

  8. Betrachten Sie die Stack-Ereignisse, um den Fortschritt zu überwachen. Weitere Informationen finden Sie unter Stack-Fortschritt überwachen.

Schritt 2: Verwenden einer Beispielvorlage zum Erstellen eines Webanwendungs-Stacks

Der Webanwendungsstapel erstellt eine EC2 Instanz, die die Sicherheitsgruppe und das Subnetz aus dem Netzwerkstapel verwendet.

Sie müssen diesen Stack im selben Ordner erstellen AWS-Region wie der Netzwerk-Stack.

Die Stack-Vorlage ist unter folgendem Link verfügbarURL: https://s3.amazonaws.com/cloudformation-examples/SampleWebAppCrossStackuser-guide/cross-stack/ .template. Um die Ressourcen zu sehen, die der Stack erstellt, wählen Sie den Link aus, woraufhin die Vorlage geöffnet wird. Sehen Sie sich in Resources diesem Abschnitt die Eigenschaften der Instanz an. EC2 Mithilfe der Fn::ImportValue-Funktion können sehen, wie die Netzwerkressourcen von einem anderen Stack importiert werden.

So erstellen Sie den Webanwendungs-Stack
  1. Öffnen Sie die CloudFormation Konsole und wählen Sie Create Stack aus.

  2. Wählen Sie „Vorlage ist fertig“ und wählen Sie im Abschnitt „Vorlage angeben“ die Option Amazon S3 ausURL.

  3. Kopieren Sie Folgendes und fügen Sie es URL in das Textfeld ein:https://s3.amazonaws.com/cloudformation-examples/user-guide/cross-stack/SampleWebAppCrossStack.template.

  4. Wählen Sie Weiter.

  5. Geben Sie für Stack name SampleWebAppCrossStack ein. Verwenden Sie im Abschnitt Parameter den Standardwert für den NetworkStackNameParameter und wählen Sie dann Weiter.

    Die Beispielvorlage verwendet den Parameterwert, um anzugeben, von welchem Stack Werte importiert werden sollen.

  6. Wählen Sie Weiter. Für diese Anleitung müssen Sie keine Tags hinzufügen oder erweiterte Einstellungen angeben.

  7. Stellen Sie sicher, dass der Stackname und URL die Vorlage korrekt sind, und wählen Sie dann Stapel erstellen aus.

    Die Erstellung Ihres Stacks kann mehrere Minuten CloudFormation dauern.

Schritt 3: Stellen Sie sicher, dass der Stack wie vorgesehen funktioniert

Nachdem der Stack erstellt wurde, zeigen Sie seine Ressourcen an, und notieren Sie sich die Instance-ID. Weitere Informationen zum Anzeigen von Stack-Ressourcen finden Sie unter Stack-Informationen von der CloudFormation Konsole aus anzeigen.

Um die Sicherheitsgruppe und das Subnetz der Instance zu überprüfen, sehen Sie sich die Eigenschaften der Instance in der EC2Amazon-Konsole an. Wenn die Instance die Sicherheitsgruppe und das Subnetz aus dem SampleNetworkCrossStack-Stack verwendet, haben Sie erfolgreich einen Stack-übergreifenden Verweis erstellt.

Verwenden Sie die Konsole, um die Stack-Ausgaben und die Beispiel-Website anzusehen, URL um zu überprüfen, ob die Webanwendung ausgeführt wird. Weitere Informationen finden Sie unter Stack-Informationen von der CloudFormation Konsole aus anzeigen.

Schritt 4: Bereinigen Ihrer Ressourcen

Um sicherzustellen, dass keine Kosten für unerwünschte Services anfallen, löschen Sie die Stacks.

So löschen Sie die Stacks
  1. Wählen Sie in der CloudFormation Konsole den SampleWebAppCrossStack Stack aus.

  2. Wählen Sie die Option Actions (Aktionen) und anschließend Delete stack (Stack löschen) aus.

  3. Wählen Sie in der Bestätigungsmitteilung die Option Löschen aus.

  4. Nachdem der Stapel gelöscht wurde, wiederholen Sie dieselben Schritte für den SampleNetworkCrossStack Stapel.

    Anmerkung

    Warten Sie, bis der SampleWebAppCrossStack Stapel CloudFormation vollständig gelöscht ist. Wenn die EC2 Instanz noch im Stack läuftVPC, CloudFormation wird der VPC im SampleNetworkCrossStack Stack nicht gelöscht.