

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: Eine Pipeline mit AWS CloudFormation StackSets Bereitstellungsaktionen erstellen
<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 Instanzen, 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 befindet als das Konto für Ihre Pipeline, stellen Sie sicher, dass der S3-Artefakt-Bucket denjenigen gehört AWS-Konten , die sicher und zuverlässig sind.

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

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

**Topics**
+ [Voraussetzungen](#tutorials-stackset-deployment-prereq)
+ [Schritt 1: Laden Sie die AWS CloudFormation Beispielvorlage und die Parameterdatei hoch](#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 Stackset-Ressourcen für Ihre Bereitstellung an](#tutorials-stacksets-view)
+ [Schritt 6: Nehmen Sie ein Update für Ihr Stack-Set vor](#tutorials-stacksets-update)

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

Für Stack-Set-Operationen verwenden Sie zwei verschiedene Konten: ein Administratorkonto 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 einrichten](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html#stacksets-prereqs-accountsetup). Ihre Rolle muss benannt werden **`AWSCloudFormationStackSetExecutionRole`**. 

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

Erstellen Sie einen Quell-Bucket für Ihre Stackset-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 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 die AWS CloudFormation Vorlagendatei zu erstellen**

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 von Validierungen und globalen Ereignissen 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 „**Pipeline erstellen**“ 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 Quellstufe mit einer S3-Quellaktion, bei der das Quellartefakt Ihre Vorlagendatei und alle unterstützenden Quelldateien ist.
+ Eine Bereitstellungsphase mit einer CloudFormation Stack-Set-Bereitstellungsaktion, die das Stack-Set erstellt.
+ Eine Bereitstellungsphase mit einer Bereitstellungsaktion für CloudFormation Stack-Instances, 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 in **Schritt 2: Pipeline-Einstellungen auswählen** im Feld **Pipeline-Name** den Wert ein**MyStackSetsPipeline**.

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

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

1. Behalten Sie im **Artifact Store** die Standardeinstellungen bei.
**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: Quellstufe hinzufügen** unter **Quellanbieter** die Option **Amazon S3** aus.

1. Geben Sie im Feld **Bucket** den S3-Quell-Bucket ein, den Sie für dieses Tutorial erstellt haben, z. `BucketName` B. Geben Sie im Feld **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: Buildphase hinzufügen** die Option **Buildphase überspringen** aus und akzeptieren Sie dann die Warnmeldung, indem Sie erneut **Überspringen** 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** wählen. 

   Wählen Sie **Weiter** aus.

1. Gehen Sie in **Schritt 6: Bereitstellungsphase hinzufügen** wie folgt vor:

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

   1. Geben Sie im Feld **Name des Stack-Sets** 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 des Quellartefakts. `SourceArtifact`

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

   1. Geben Sie unter **Bereitstellungsziele** den Artefaktnamen und den Dateipfad ein, in den Sie Ihre Kontodatei hochgeladen haben. Geben Sie beispielsweise Folgendes ein und verwenden Sie dabei den Standardnamen des Quellartefakts. `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 des Quellartefakts. `SourceArtifact`

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

      Um die Parameter als Literaleingabe 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\$1IAM und CAPABILITY\$1NAMED\$1IAM aus.

   1. Wählen **Sie** im Berechtigungsmodell die Option SELF\$1MANAGED 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, ob das Deployment Ihr Stack-Set erfolgreich erstellt hat, 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, mit der Sie CloudFormation StackSets die verbleibenden Stack-Instanzen erstellen können.

**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** die Option **Bearbeiten** aus.

1. Wählen Sie unter der Aktion **AWS CloudFormation Stack Set** Deploy 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 **Aktionsanbieter** die Option **AWS CloudFormation Stack Instances** aus.

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

   1. Geben Sie im Feld **Name des Stack-Sets** 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 des Artefakts und den Dateipfad ein, in den Sie Ihre Kontodatei hochgeladen haben. Geben Sie beispielsweise Folgendes ein und verwenden Sie dabei den Standardnamen des Quellartefakts. `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 in der Bereitstellungsphase mit zwei Aktionen angezeigt.

## Schritt 5: Sehen Sie sich die Stackset-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: Nehmen Sie ein Update für Ihr Stack-Set vor
<a name="tutorials-stacksets-update"></a>

Nehmen Sie ein Update für Ihr Stack-Set vor und stellen Sie das Update für Instances bereit. In diesem Beispiel nehmen Sie auch eine Änderung an den Bereitstellungszielen vor, die Sie für das Update festlegen möchten. Die Instanzen, die nicht Teil des Updates sind, erhalten einen veralteten Status.

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 Bereitstellungsphase** die Option **Bearbeiten** aus.

1. Wählen Sie, ob Sie die Aktion **AWS CloudFormation Stack Set** in Ihrer Pipeline bearbeiten möchten. Überschreiben Sie im Feld **Beschreibung** die bestehende 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 **Feld Bereitstellungsziel 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 die Registerkarte „**StackSet Informationen**“. Vergewissern Sie sich, dass in der **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`