

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.

# Tutorial: Erstellen Sie eine Pipeline mit AWS CloudFormation StackSets Aktionen zur Bereitstellung
<a name="tutorials-stackset-deployment"></a>

In diesem Tutorial verwenden Sie die AWS CodePipeline Konsole, um eine Pipeline mit Bereitstellungsaktionen zum Erstellen eines Stack-Sets und zum Erstellen von Stack-Instances zu erstellen. Wenn die Pipeline ausgeführt wird, erstellt die Vorlage ein Stack-Set und erstellt und aktualisiert auch die Instances, in denen das Stack-Set bereitgestellt wird.

**Wichtig**  
Im Rahmen der Erstellung einer Pipeline wird ein vom Kunden bereitgestellter S3-Artefakt-Bucket von CodePipeline for Artifacts verwendet. (Dies unterscheidet sich von dem Bucket, der für eine S3-Quellaktion verwendet wird.) Wenn sich der S3-Artefakt-Bucket in einem anderen Konto als dem Konto für Ihre Pipeline befindet, stellen Sie sicher, dass der S3-Artefakt-Bucket dem Konto gehört AWS-Konten , das sicher und zuverlässig ist.

Es gibt zwei Möglichkeiten, Berechtigungen für ein Stack-Set zu verwalten: selbstverwaltete und AWS-verwaltete IAM-Rollen. Dieses Tutorial enthält Beispiele für selbstverwaltete Berechtigungen.

Um es am effektivsten nutzen StackSets zu können CodePipeline, sollten Sie ein klares Verständnis der dahinter stehenden Konzepte CloudFormation StackSets und ihrer Funktionsweise haben. Die [ StackSets Konzepte finden Sie ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html) im *AWS CloudFormation Benutzerhandbuch*.

**Topics**
+ [Voraussetzungen](#tutorials-stackset-deployment-prereq)
+ [Schritt 1: Laden Sie das Beispiel hoch AWS CloudFormation Vorlage und Parameterdatei](#tutorials-stackset-deployment-upload)
+ [Schritt 2: Erstellen der Pipeline](#tutorials-stackset-action-pipeline)
+ [Schritt 3: Erste Bereitstellung anzeigen](#tutorials-stackset-action-initial)
+ [Schritt 4: Fügen Sie eine CloudFormationStackInstances Aktion hinzu](#tutorials-stacksets-instances)
+ [Schritt 5: Sehen Sie sich die Stack-Set-Ressourcen für Ihre Bereitstellung an](#tutorials-stacksets-view)
+ [Schritt 6: Aktualisieren Sie Ihr Stack-Set](#tutorials-stacksets-update)

## Voraussetzungen
<a name="tutorials-stackset-deployment-prereq"></a>

Für Stack-Set-Operationen verwenden Sie zwei verschiedene Konten: ein Verwaltungskonto und ein Zielkonto. Sie erstellen Stack-Sets im Administratorkonto. Sie erstellen einzelne Stacks, die zu einem Stack-Set im Zielkonto gehören.

**Um eine Administratorrolle mit Ihrem Administratorkonto zu erstellen**
+ Folgen Sie den Anweisungen unter [ Grundberechtigungen für Stack-Set-Operationen einrichten](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html#stacksets-prereqs-accountsetup). Ihre Rolle muss benannt werden ** `AWSCloudFormationStackSetAdministrationRole`**.

**Um eine Servicerolle im Zielkonto zu erstellen**
+ Erstellen Sie eine Servicerolle im Zielkonto, die dem Administratorkonto vertraut. Folgen Sie den Anweisungen unter [ Grundberechtigungen für Stack-Set-Operationen ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html#stacksets-prereqs-accountsetup) einrichten. Ihre Rolle muss benannt werden ** `AWSCloudFormationStackSetExecutionRole`**. 

## Schritt 1: Laden Sie das Beispiel hoch AWS CloudFormation Vorlage und Parameterdatei
<a name="tutorials-stackset-deployment-upload"></a>

Erstellen Sie einen Quell-Bucket für Ihre Stack-Set-Vorlagen- und Parameterdateien. Laden Sie die AWS CloudFormation Beispielvorlagendatei herunter, richten Sie eine Parameterdatei ein und komprimieren Sie dann die Dateien, bevor Sie sie in Ihren S3-Quell-Bucket hochladen.

**Anmerkung**  
Stellen Sie sicher, dass Sie die Quelldateien komprimieren, bevor Sie sie in Ihren S3-Quell-Bucket hochladen, auch wenn die einzige Quelldatei die Vorlage ist.



**Um einen S3-Quell-Bucket zu erstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3-Konsole unter [ https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

1. Geben Sie in **Bucketname** einen Namen für Ihren Bucket ein.

   Wählen Sie ** unter Region die Region aus**, in der Sie Ihre Pipeline erstellen möchten. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

1. Nachdem der Bucket erstellt wurde, wird ein Erfolgsbanner angezeigt. Wählen Sie **Go to bucket details (Zu Bucket-Details wechseln)** aus.

1. Wählen Sie auf der Registerkarte **Properties (Eigenschaften)** die Option **Versioning** aus. Wählen Sie **Enable versioning (Versioning aktivieren)** und dann **Save (Speichern)**aus.

**Um das zu erstellen AWS CloudFormation Vorlagendatei**

1. Laden Sie die folgende Beispielvorlagendatei zum Generieren der CloudTrail Konfiguration für Stack-Sets herunter:[https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml).

1. Speichern Sie die Datei als `template.yml`.

**Um die Datei parameters.txt zu erstellen**

1. Erstellen Sie eine Datei mit den Parametern für Ihre Bereitstellung. Parameter sind Werte, die Sie zur Laufzeit in Ihrem Stack aktualisieren möchten. Die folgende Beispieldatei aktualisiert die Vorlagenparameter für Ihr Stack-Set, um die Protokollierung, Validierung und globale Ereignisse zu ermöglichen.

   ```
   [
     {
       "ParameterKey": "EnableLogFileValidation",
       "ParameterValue": "true"
     }, 
     {
       "ParameterKey": "IncludeGlobalEvents",
       "ParameterValue": "true"
     }
   ]
   ```

1. Speichern Sie die Datei als `parameters.txt`.

**Um die Datei accounts.txt zu erstellen**

1. Erstellen Sie eine Datei mit den Konten, für die Sie Instanzen erstellen möchten, wie in der folgenden Beispieldatei gezeigt.

   ```
   [
       "111111222222","333333444444"
   ]
   ```

1. Speichern Sie die Datei als `accounts.txt`.

**Um Quelldateien zu erstellen und hochzuladen**

1. Kombinieren Sie die Dateien zu einer einzigen ZIP-Datei. Ihre Dateien sollten in Ihrer ZIP-Datei so aussehen.

   ```
   template.yml
   parameters.txt
   accounts.txt
   ```

1. Laden Sie die ZIP-Datei in Ihren S3-Bucket hoch. Diese Datei ist das Quellartefakt, das vom ** Assistenten zum ** Erstellen einer Pipeline für Ihre Bereitstellungsaktion in CodePipeline erstellt wurde.

## Schritt 2: Erstellen der Pipeline
<a name="tutorials-stackset-action-pipeline"></a>

In diesem Abschnitt erstellen Sie eine Pipeline mit den folgenden Aktionen:
+ Eine Quellphase mit einer S3-Quellaktion, bei der das Quellartefakt Ihre Vorlagendatei und alle unterstützenden Quelldateien sind.
+ Eine Bereitstellungsphase mit einer CloudFormation Stack-Set-Bereitstellungsaktion, die das Stack-Set erstellt.
+ Eine Bereitstellungsphase mit einer CloudFormation Stack-Instances Deployment-Aktion, die die Stacks und Instances innerhalb der Zielkonten erstellt.

**Um eine Pipeline mit einer CloudFormationStackSet Aktion zu erstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter [ http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. Wählen Sie auf der Seite **Welcome (Willkommen)** die Option **Getting started (Erste Schritte)** oder auf der Seite **Pipelines** die Option **Create pipeline (Pipeline erstellen)**.

1. Wählen Sie auf der ** Seite ** Schritt 1: Erstellungsoption auswählen unter ** Erstellungsoptionen ** die ** Option Benutzerdefinierte Pipeline ** erstellen aus. Wählen Sie **Weiter** aus.

1. Geben Sie auf ** Schritt 2: Wählen Sie die Pipeline-Einstellungen aus ** und geben Sie im Feld ** Pipeline-Name ** den Wert ein**MyStackSetsPipeline**.

1. Wählen Sie ** für die Zwecke dieses Tutorials unter ** Pipeline-Typ ** die Option ** V1 aus. Sie können auch ** V2 wählen. Beachten Sie jedoch**, dass sich die Pipeline-Typen in ihren Eigenschaften und ihrem Preis unterscheiden. Weitere Informationen finden Sie unter [Pipeline-Typen](pipeline-types.md).

1. Wählen Sie unter ** ** Servicerolle die Option ** Neue Servicerolle aus**, um CodePipeline das Erstellen einer Servicerolle in IAM zu ermöglichen.

1. Belassen Sie im ** Artifact Store ** die Standardeinstellungen.
**Anmerkung**  
Dabei handelt es sich nicht um den Quell-Bucket für Ihren Quellcode, sondern um den Artefaktspeicher für Ihre Pipeline. Für jede Pipeline benötigen Sie einen separaten Artefaktspeicher, z. B. einen S3 Bucket. Wenn Sie eine Pipeline erstellen oder bearbeiten, benötigen Sie einen Artefakt-Bucket in der Pipeline-Region und einen Artefakt-Bucket pro AWS Region, in der Sie eine Aktion ausführen.  
Weitere Informationen erhalten Sie unter [Eingabe- und Ausgabe-Artefakte](welcome-introducing-artifacts.md) und [CodePipeline Referenz zur Pipeline-Struktur](reference-pipeline-structure.md).

   Wählen Sie **Weiter** aus.

1. Wählen Sie auf der ** Seite „**Schritt 3: Quellphase hinzufügen“ unter ** Quellanbieter ** die Option ** Amazon S3 aus. **

1. Geben Sie unter ** Bucket ** den S3-Quell-Bucket ein, den Sie für dieses Tutorial erstellt haben, z. `BucketName` B. Geben Sie unter ** S3-Objektschlüssel ** den Dateipfad und den Dateinamen für Ihre ZIP-Datei ein, z. `MyFiles.zip` B.

1. Wählen Sie **Weiter** aus.

1. Wählen Sie in ** Schritt 4: Build-Phase ** hinzufügen die Option Build-Phase ** überspringen und akzeptieren Sie dann die Warnmeldung**, indem Sie ** erneut ** Skip wählen. 

   Wählen Sie **Weiter** aus.

1. Wählen Sie in ** Schritt 5: Testphase ** hinzufügen die Option Testphase ** überspringen aus und akzeptieren Sie dann die Warnmeldung**, indem Sie ** erneut ** Überspringen auswählen. 

   Wählen Sie **Weiter** aus.

1. In ** Schritt 6: Bereitstellungsphase hinzufügen**:

   1. Wählen ** Sie unter Deploy-Anbieter ** die Option **AWS CloudFormation Stack Set aus**.

   1. Geben Sie im Feld ** ** Stack-Set-Name einen Namen für das Stack-Set ein. Dies ist der Name des Stack-Sets, das die Vorlage erstellt.
**Anmerkung**  
Notieren Sie sich den Namen Ihres Stack-Sets. Sie werden ihn verwenden, wenn Sie Ihrer Pipeline die zweite StackSets Bereitstellungsaktion hinzufügen.

   1. Geben Sie im Feld ** Vorlagenpfad ** den Namen des Artefakts und den Dateipfad ein, in den Sie Ihre Vorlagendatei hochgeladen haben. Geben Sie beispielsweise Folgendes ein und verwenden Sie dabei den Standardnamen für das Quellartefakt. `SourceArtifact`

      ```
      SourceArtifact::template.yml
      ```

   1. Geben Sie im Feld ** Einsatzziele ** den Namen des Artefakts und den Dateipfad ein, in den Sie Ihre Kontodatei hochgeladen haben. Geben Sie beispielsweise Folgendes ein und verwenden Sie dabei den Standardnamen für das Quellartefakt. `SourceArtifact`

      ```
      SourceArtifact::accounts.txt
      ```

   1. Geben Sie im Feld ** Bereitstellungsziel AWS-Regionen** eine Region für die Bereitstellung Ihrer ersten Stack-Instance ein, z. B. `us-east-1`

   1. Erweitern Sie die ** Bereitstellungsoptionen**. Geben Sie unter ** Parameter ** den Namen des Artefakts und den Dateipfad ein, in den Sie Ihre Parameterdatei hochgeladen haben. Geben Sie beispielsweise Folgendes ein und verwenden Sie dabei den Standardnamen für das Quellartefakt. `SourceArtifact`

      ```
      SourceArtifact::parameters.txt
      ```

      Um die Parameter als literale Eingabe und nicht als Dateipfad einzugeben, geben Sie Folgendes ein:

      ```
      ParameterKey=EnableLogFileValidation,ParameterValue=true
      ParameterKey=IncludeGlobalEvents,ParameterValue=true
      ```

   1. Wählen Sie unter ** Capabilities die Optionen ** CAPABILITY\_IAM und CAPABILITY\_NAMED\_IAM aus.

   1. **Wählen ** Sie im Berechtigungsmodell die Option SELF\_MANAGED aus.

   1. Geben Sie im ** Feld Prozentsatz der Fehlertoleranz den Wert ** ein. `20`

   1. Geben `25` Sie im Feld ** Maximaler Prozentsatz gleichzeitig den ** Wert ein.

   1. Wählen Sie **Weiter** aus.

   1. Wählen ** Sie in Schritt 7: Überprüfen ** die Option Pipeline ** ** erstellen aus. Ihre Pipeline wird angezeigt. 

   1. Lassen Sie die Ausführung Ihrer Pipeline zu. 

## Schritt 3: Erste Bereitstellung anzeigen
<a name="tutorials-stackset-action-initial"></a>

Sehen Sie sich die Ressourcen und den Status Ihrer ersten Bereitstellung an. Nachdem Sie überprüft haben, dass Ihr Stack-Set durch die Bereitstellung erfolgreich erstellt wurde, können Sie die zweite Aktion zu Ihrer ** ** Bereitstellungsphase hinzufügen.

**Um die Ressourcen einzusehen**

1. Öffnen Sie die CodePipeline Konsole unter [ https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Wählen Sie unter **Pipelines** Ihre Pipeline und dann **View (Anzeigen)** aus. Das Diagramm zeigt die Quell- und Bereitstellungsphase Ihrer Pipeline an.

1. Wählen Sie die CloudFormation Aktion für die ** CloudFormationStackSet ** Aktion in Ihrer Pipeline aus. Die Vorlage, die Ressourcen und Ereignisse für Ihr Stack-Set werden in der CloudFormation Konsole angezeigt.

1. Wählen Sie im linken Navigationsbereich ** StackSets**. Wählen Sie in der Liste das neue Stack-Set aus.

1. Wählen Sie den ** Tab ** Stack-Instances. Stellen Sie sicher, dass eine Stack-Instance für jedes von Ihnen angegebene Konto in der Region us-east-1 erstellt wurde. Stellen Sie sicher, dass der Status für jede Stack-Instance lautet. `CURRENT`

## Schritt 4: Fügen Sie eine CloudFormationStackInstances Aktion hinzu
<a name="tutorials-stacksets-instances"></a>

Erstellen Sie eine nächste Aktion in Ihrer Pipeline, die es ermöglicht, die verbleibenden Stack-Instances CloudFormation StackSets zu erstellen.

**Um eine nächste Aktion in Ihrer Pipeline zu erstellen**

1. Öffnen Sie die CodePipeline Konsole unter [ https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

   Wählen Sie unter **Pipelines** Ihre Pipeline und dann **View (Anzeigen)** aus. Das Diagramm zeigt die Quell- und Bereitstellungsphase Ihrer Pipeline an.

1. Wählen Sie diese Option, um die Pipeline zu bearbeiten. Die Pipeline wird im ** ** Bearbeitungsmodus angezeigt. 

1. Wählen ** Sie in der ** Bereitstellungsphase ** Bearbeiten aus**.

1. Wählen Sie unter der **AWS CloudFormation Stack ** Set-Bereitstellungsaktion die Option Aktionsgruppe ** hinzufügen aus**.

1. Fügen Sie auf der ** Seite Aktion ** bearbeiten die Aktionsdetails hinzu:

   1. Geben Sie im Feld ** Aktionsname ** einen Namen für die Aktion ein.

   1. Wählen Sie unter ** Action Provider ** die Option **AWS CloudFormation Stack Instances aus**.

   1. Wählen Sie unter ** Input Artifacts ** die Option aus ** SourceArtifact**.

   1. Geben Sie im Feld ** Stack-Set-Name ** den Namen für das Stack-Set ein. Dies ist der Name des Stack-Sets, das Sie in der ersten Aktion angegeben haben.

   1. Geben Sie unter ** Bereitstellungsziele ** den Namen und den Dateipfad des Artefakts ein, in den Sie Ihre Kontodatei hochgeladen haben. Geben Sie beispielsweise Folgendes ein und verwenden Sie dabei den Standardnamen für das Quellartefakt. `SourceArtifact`

      ```
      SourceArtifact::accounts.txt
      ```

   1. Geben Sie im Feld ** Bereitstellungsziel AWS-Regionen** die Regionen für die Bereitstellung Ihrer verbleibenden Stack-Instances ein, z. B. `us-east-2` und `eu-central-1` wie folgt:

      ```
      us-east2, eu-central-1
      ```

   1. Geben Sie im Feld Prozentsatz der ** ** Fehlertoleranz den Wert ein`20`.

   1. Geben `25` Sie im Feld ** Maximaler Prozentsatz gleichzeitig den ** Wert ein.

   1. Wählen Sie **Speichern**.

   1. Geben Sie eine Änderung manuell frei. Ihre aktualisierte Pipeline wird mit zwei Aktionen in der Bereitstellungsphase angezeigt.

## Schritt 5: Sehen Sie sich die Stack-Set-Ressourcen für Ihre Bereitstellung an
<a name="tutorials-stacksets-view"></a>

Sie können die Ressourcen und den Status für Ihre Stack-Set-Bereitstellung einsehen.

**Um die Ressourcen einzusehen**

1. Öffnen Sie die CodePipeline Konsole unter [ https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Wählen Sie unter ** Pipelines ** Ihre Pipeline aus und klicken Sie dann ** auf Ansicht**. Das Diagramm zeigt die Quell- und Bereitstellungsphase Ihrer Pipeline an.

1. Wählen Sie die CloudFormation Aktion für die ** `AWS CloudFormation Stack Instances` ** Aktion in Ihrer Pipeline aus. Die Vorlage, die Ressourcen und Ereignisse für Ihr Stack-Set werden in der CloudFormation Konsole angezeigt.

1. Wählen Sie im linken Navigationsbereich ** StackSets**. Wählen Sie in der Liste Ihr Stack-Set aus.

1. Wählen Sie den ** Tab ** Stack-Instances. Stellen Sie sicher, dass alle verbleibenden Stack-Instances für jedes von Ihnen angegebene Konto in den erwarteten Regionen erstellt oder aktualisiert wurden. Stellen Sie sicher, dass der Status für jede Stack-Instance lautet`CURRENT`.

## Schritt 6: Aktualisieren Sie Ihr Stack-Set
<a name="tutorials-stacksets-update"></a>

Führen Sie ein Update für Ihr Stack-Set durch und stellen Sie das Update auf Instances bereit. In diesem Beispiel nehmen Sie auch eine Änderung an den Bereitstellungszielen vor, die Sie für die Aktualisierung festlegen möchten. Die Instanzen, die nicht Teil des Updates sind, erhalten den Status „Veraltet“.

1. Öffnen Sie die CodePipeline Konsole unter [ https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Wählen Sie unter ** Pipelines ** Ihre Pipeline aus und klicken Sie dann auf ** Bearbeiten**. Wählen Sie in der ** Phase „**Bereitstellen“ die Option ** Bearbeiten ** aus.

1. Wählen Sie, ob Sie die **AWS CloudFormation Stack ** Set-Aktion in Ihrer Pipeline bearbeiten möchten. Überschreiben Sie im Feld ** Beschreibung ** die vorhandene Beschreibung mit einer neuen Beschreibung für das Stack-Set.

1. Wählen Sie, ob Sie die ** Aktion „**AWS CloudFormation Stack Instances“ in Ihrer Pipeline bearbeiten möchten. Löschen Sie im ** Deployment-Ziel AWS-Regionen** den `us-east-2` Wert, der bei der Erstellung der Aktion eingegeben wurde.

1. Speichern Sie die Änderungen. Wählen Sie Änderung ** veröffentlichen**, um Ihre Pipeline auszuführen.

1. Öffnen Sie Ihre Aktion in CloudFormation. Wählen Sie den ** StackSet ** Info-Tab. Vergewissern Sie ** sich, dass unter ** StackSet Beschreibung die neue Beschreibung angezeigt wird.

1. Wählen Sie den ** Tab ** Stack-Instances. Stellen Sie unter ** Status sicher**, dass der Status für die Stack-Instances in us-east-2 lautet. `OUTDATED`