View a markdown version of this page

CloudFormation StackSets Aktionsreferenz bereitstellen - AWS CodePipeline

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.

CloudFormation StackSets Aktionsreferenz bereitstellen

CodePipeline bietet die Möglichkeit, CloudFormation StackSets Operationen als Teil Ihres CI/CD Prozesses auszuführen. Sie verwenden ein Stack-Set, um mithilfe einer einzigen CloudFormation Vorlage Stacks in AWS Konten in verschiedenen AWS Regionen zu erstellen. Alle in jedem Stack enthaltenen Ressourcen werden durch die CloudFormation Vorlage des Stack-Sets definiert. Wenn Sie das Stack-Set erstellen, geben Sie die zu verwendende Vorlage sowie alle Parameter und Funktionen an, die für die Vorlage erforderlich sind.

Weitere Informationen zu CloudFormation StackSets Konzepten für finden Sie unter StackSets Konzepte im AWS CloudFormation Benutzerhandbuch.

Sie integrieren Ihre Pipeline CloudFormation StackSets über zwei verschiedene Aktionstypen, die Sie zusammen verwenden:

  • Die CloudFormationStackSet Aktion erstellt oder aktualisiert ein Stack-Set oder Stack-Instances anhand der Vorlage, die im Quellverzeichnis der Pipeline gespeichert ist. Jedes Mal, wenn ein Stack-Set erstellt oder aktualisiert wird, initiiert es eine Bereitstellung dieser Änderungen an bestimmten Instances. In der Konsole können Sie den CloudFormation Stack Set-Aktionsprovider auswählen, wenn Sie Ihre Pipeline erstellen oder bearbeiten.

  • Die CloudFormationStackInstances Aktion verteilt Änderungen aus der CloudFormationStackSet Aktion auf bestimmte Instanzen, erstellt neue Stack-Instances und definiert Parameterüberschreibungen für angegebene Instanzen. In der Konsole können Sie den Aktionsprovider CloudFormation Stack Instances auswählen, wenn Sie eine vorhandene Pipeline bearbeiten.

Sie können diese Aktionen verwenden, um sie für AWS Zielkonten oder Organisationseinheiten-IDs von AWS Zielorganisationen bereitzustellen.

Anmerkung

Um Konten oder Organisationseinheiten-IDs für AWS Zielorganisationen bereitzustellen und das dienstverwaltete Berechtigungsmodell zu verwenden, müssen Sie den vertrauenswürdigen Zugriff zwischen AWS CloudFormation StackSets und AWS Organisationen aktivieren. Weitere Informationen findest du unter Vertrauenswürdigen Zugriff mit AWS CloudFormation Stacksets aktivieren.

Wie CloudFormation StackSets Aktionen funktionieren

Eine CloudFormationStackSet Aktion erstellt oder aktualisiert Ressourcen, je nachdem, ob die Aktion zum ersten Mal ausgeführt wird.

Die CloudFormationStackSet Aktion erstellt oder aktualisiert das Stack-Set und verteilt diese Änderungen auf angegebene Instanzen.

Anmerkung

Wenn Sie diese Aktion verwenden, um ein Update durchzuführen, das das Hinzufügen von Stack-Instances beinhaltet, werden die neuen Instanzen zuerst bereitgestellt und das Update wird zuletzt abgeschlossen. Die neuen Instanzen erhalten zuerst die alte Version, und dann wird das Update auf alle Instanzen angewendet.

  • Erstellen: Wenn keine Instanzen angegeben sind und das Stack-Set nicht existiert, erstellt die CloudFormationStackSet Aktion das Stack-Set, ohne dass Instanzen erstellt werden.

  • Aktualisieren: Wenn die CloudFormationStackSet Aktion für ein Stack-Set ausgeführt wird, das bereits erstellt wurde, aktualisiert die Aktion das Stack-Set. Wenn keine Instanzen angegeben sind und das Stack-Set bereits existiert, werden alle Instanzen aktualisiert. Wenn diese Aktion verwendet wird, um bestimmte Instanzen zu aktualisieren, erhalten alle verbleibenden Instanzen den Status VERALTET.

    Sie können die CloudFormationStackSet Aktion verwenden, um das Stack-Set auf folgende Weise zu aktualisieren.

    • Aktualisieren Sie die Vorlage auf einigen oder allen Instanzen.

    • Aktualisieren Sie die Parameter auf einigen oder allen Instanzen.

    • Aktualisieren Sie die Ausführungsrolle für das Stack-Set (diese muss der in der Administratorrolle angegebenen Ausführungsrolle entsprechen).

    • Ändern Sie das Berechtigungsmodell (nur, wenn keine Instanzen erstellt wurden).

    • Enable/Disable AutoDeploymentwenn das Service Managed Stack-Set-Berechtigungsmodell

    • Handeln Sie als delegierter Administrator in einem Mitgliedskonto, wenn das Stack-Set-Berechtigungsmodell verwendet wirdService Managed.

    • Aktualisieren Sie die Administratorrolle.

    • Aktualisieren Sie die Beschreibung im Stack-Set.

    • Fügen Sie dem Stack-Set-Update Deployment-Ziele hinzu, um neue Stack-Instances zu erstellen.

Die CloudFormationStackInstances Aktion erstellt neue Stack-Instances oder aktualisiert veraltete Stack-Instances. Eine Instanz wird veraltet, wenn ein Stack-Set aktualisiert wird, aber nicht alle darin enthaltenen Instanzen aktualisiert werden.

  • Erstellen: Wenn der Stack bereits existiert, aktualisiert die CloudFormationStackInstances Aktion nur Instanzen und erstellt keine Stack-Instanzen.

  • Update: Wenn die Vorlage oder die Parameter nach der Ausführung der CloudFormationStackSet Aktion nur in einigen Instanzen aktualisiert wurden, wird der Rest markiertOUTDATED. In späteren Phasen der Pipeline werden die restlichen Instanzen im Stack in Wellen CloudFormationStackInstances aktualisiert, sodass alle Instanzen markiert sindCURRENT. Diese Aktion kann auch verwendet werden, um zusätzliche Instanzen hinzuzufügen oder Parameter für neue oder bestehende Instanzen zu überschreiben.

Im Rahmen eines Updates können mit den CloudFormationStackInstances Aktionen CloudFormationStackSet und neue Bereitstellungsziele angegeben werden, wodurch neue Stack-Instances erstellt werden.

Im Rahmen eines Updates löschen die CloudFormationStackInstances Aktionen CloudFormationStackSet und keine Stack-Sets, Instanzen oder Ressourcen. Wenn die Aktion einen Stack aktualisiert, aber nicht alle zu aktualisierenden Instanzen angibt, werden die Instanzen, die nicht für die Aktualisierung angegeben wurden, aus dem Update entfernt und auf den Status gesetztOUTDATED.

Während einer Bereitstellung können Stack-Instances auch einen Status anzeigen, der angibt, OUTDATED ob die Bereitstellung auf Instances fehlgeschlagen ist.

Wie strukturiert man StackSets Aktionen in einer Pipeline

Als bewährte Methode sollten Sie Ihre Pipeline so aufbauen, dass das Stack-Set erstellt und zunächst in einer Teilmenge oder einer einzelnen Instanz bereitgestellt wird. Nachdem Sie Ihre Bereitstellung getestet und das generierte Stack-Set angesehen haben, fügen Sie dann die CloudFormationStackInstances Aktion hinzu, sodass die verbleibenden Instanzen erstellt und aktualisiert werden.

Verwenden Sie die Konsole oder die CLI, um die empfohlene Pipeline-Struktur wie folgt zu erstellen:

  1. Erstellen Sie eine Pipeline mit einer Quellaktion (erforderlich) und der CloudFormationStackSet Aktion als Bereitstellungsaktion. Führen Sie Ihre Pipeline aus.

  2. Wenn Ihre Pipeline zum ersten Mal ausgeführt wird, erstellt die CloudFormationStackSet Aktion Ihr Stack-Set und mindestens eine erste Instanz. Überprüfen Sie die Erstellung des Stack-Sets und überprüfen Sie die Bereitstellung auf Ihrer ersten Instanz. Bei der ersten Stack-Set-Erstellung für ein Konto, Account-A bei dem us-east-1 es sich um die angegebene Region handelt, wird die Stack-Instance beispielsweise mit dem Stack-Set erstellt:

    Stack-Instanz Region Status
    StackInstanceID-1 us-east-1 CURRENT
  3. Bearbeiten Sie Ihre Pipeline, um CloudFormationStackInstances als zweite Bereitstellungsaktion create/update Stack-Instances für die von Ihnen angegebenen Ziele hinzuzufügen. Bei der Erstellung von Stack-Instances für ein Konto, Account-A für das die us-east-2 und eu-central-1 Regions angegeben sind, werden beispielsweise die verbleibenden Stack-Instances erstellt und die ursprüngliche Instance wird wie folgt aktualisiert:

    Stack-Instanz Region Status
    StackInstanceID-1 us-east-1 CURRENT
    StackInstanceID-2 us-east-2 CURRENT
    StackInstanceID-3 eu-central-1 CURRENT
  4. Führen Sie Ihre Pipeline nach Bedarf aus, um Ihr Stack-Set zu aktualisieren und Stack-Instances zu aktualisieren oder zu erstellen.

Wenn Sie ein Stack-Update initiieren, bei dem Sie Bereitstellungsziele aus der Aktionskonfiguration entfernt haben, werden die Stack-Instances, die nicht für die Aktualisierung vorgesehen waren, aus der Bereitstellung entfernt und erhalten den Status VERALTET. Beispiel: Für ein Stack-Instance-Update für ein Konto, Account-A bei dem die us-east-2 Region aus der Aktionskonfiguration entfernt wird, werden die verbleibenden Stack-Instances erstellt und die entfernte Instanz wird wie folgt auf OUTDATED gesetzt:

Stack-Instanz Region Status
StackInstanceID-1 us-east-1 CURRENT
StackInstanceID-2 us-east-2 VERALTET
StackInstanceID-3 eu-central-1 CURRENT

Weitere Informationen zu bewährten Methoden für die Bereitstellung von Stack-Sets finden Sie StackSets im AWS CloudFormation Benutzerhandbuch unter Bewährte Methoden für.

CloudFormationStackSet-Aktion

Diese Aktion erstellt oder aktualisiert ein Stack-Set anhand der Vorlage, die im Quellverzeichnis der Pipeline gespeichert ist.

Nachdem Sie ein Stack-Set definiert haben, können Sie Stacks in den in den Konfigurationsparametern angegebenen Zielkonten und Regionen erstellen, aktualisieren oder löschen. Beim Erstellen, Aktualisieren und Löschen von Stacks können Sie weitere Einstellungen angeben, z. B. die Reihenfolge der Regionen, in denen Operationen ausgeführt werden sollen, den Prozentsatz der Fehlertoleranz, bei dessen Überschreitung Stack-Operationen beendet werden, und die Anzahl der Konten, in denen Operationen auf Stacks gleichzeitig ausgeführt werden.

Ein Stack-Set ist eine regionale Ressource. Wenn Sie ein Stack-Set in einer AWS Region erstellen, können Sie von anderen Regionen aus nicht darauf zugreifen.

Wenn diese Aktion als Aktualisierungsaktion für das Stack-Set verwendet wird, sind Aktualisierungen des Stacks ohne eine Bereitstellung auf mindestens einer Stack-Instance nicht zulässig.

Aktionstyp

  • Kategorie: Deploy

  • Eigentümer: AWS

  • Anbieter: CloudFormationStackSet

  • Version: 1

Konfigurationsparameter

StackSetName

Erforderlich: Ja

Der Name, der dem Stack-Set zugeordnet werden soll. Dieser Name muss in der Region, in der er erstellt wurde, eindeutig sein.

Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und 128 Zeichen oder weniger lang sein.

Description

Erforderlich: Nein

Eine Beschreibung des StackSets. Sie können dies verwenden, um den Zweck des Stack-Sets oder andere relevante Informationen zu beschreiben.

TemplatePath

Erforderlich: Ja

Der Speicherort der Vorlage, die die Ressourcen im Stack-Set definiert. Dies muss auf eine Vorlage mit einer maximalen Größe von 460.800 Byte verweisen.

Geben Sie den Pfad zum Quellartefaktnamen und zur Vorlagendatei in dem Format ein"InputArtifactName::TemplateFileName", wie im folgenden Beispiel gezeigt.

SourceArtifact::template.txt
Parameters

Erforderlich: Nein

Eine Liste von Vorlagenparametern für Ihr Stack-Set, die während einer Bereitstellung aktualisiert werden.

Sie können Parameter als Literalliste oder als Dateipfad angeben:

  • Sie können Parameter im folgenden Kurzsyntaxformat eingeben:. ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string Weitere Hinweise zu diesen Datentypen finden Sie unter. Datentypen für Vorlagenparameter

    Das folgende Beispiel zeigt einen Parameter, der BucketName mit dem Wert benannt istamzn-s3-demo-source-bucket.

    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket

    Das folgende Beispiel zeigt einen Eintrag mit mehreren Parametern:

    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket ParameterKey=Asset1,ParameterValue=true ParameterKey=Asset2,ParameterValue=true
  • Sie können den Speicherort der Datei eingeben, die eine Liste von Vorlagenparameterüberschreibungen enthält, die im Format eingegeben wurden"InputArtifactName::ParametersFileName", wie im folgenden Beispiel gezeigt.

    SourceArtifact::parameters.txt

    Das folgende Beispiel zeigt den Dateiinhalt fürparameters.txt.

    [ { "ParameterKey": "KeyName", "ParameterValue": "true" }, { "ParameterKey": "KeyName", "ParameterValue": "true" } ]
Capabilities

Erforderlich: Nein

Gibt an, dass mit der Vorlage Ressourcen erstellt und aktualisiert werden können, abhängig von den Ressourcentypen in der Vorlage.

Sie müssen diese Eigenschaft verwenden, wenn Ihre Stack-Vorlage IAM-Ressourcen enthält oder Sie einen Stack direkt aus einer Vorlage erstellen, die Makros enthält. Damit die CloudFormation Aktion auf diese Weise erfolgreich ausgeführt werden kann, müssen Sie eine der folgenden Funktionen verwenden:

  • CAPABILITY_IAM

  • CAPABILITY_NAMED_IAM

Sie können mehrere Funktionen angeben, indem Sie ein Komma und keine Leerzeichen zwischen den Funktionen verwenden. Das Beispiel in Beispiel CloudFormationStackSet Aktionskonfiguration zeigt einen Eintrag mit mehreren Funktionen.

PermissionModel

Erforderlich: Nein

Legt fest, wie IAM-Rollen erstellt und verwaltet werden. Wenn das Feld nicht angegeben ist, wird das Standardfeld verwendet. Weitere Informationen finden Sie unter Berechtigungsmodelle für Stack-Set-Operationen.

Folgende sind gültige Werte:

  • SELF_MANAGED(Standard): Sie müssen Administrator- und Ausführungsrollen für die Bereitstellung auf Zielkonten erstellen.

  • SERVICE_MANAGED: erstellt CloudFormation StackSets automatisch die IAM-Rollen, die für die Bereitstellung auf Konten erforderlich sind, die von AWS Organisationen verwaltet werden. Dazu muss ein Konto Mitglied einer Organisation sein.

Anmerkung

Dieser Parameter kann nur geändert werden, wenn im Stack-Set keine Stack-Instances vorhanden sind.

AdministrationRoleArn
Anmerkung

Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können.

Erforderlich: Nein

Anmerkung

Dieser Parameter ist für das SELF_MANAGED-Berechtigungsmodell optional und wird nicht für das SERVICE_MANAGED-Berechtigungsmodell verwendet.

Der ARN der IAM-Rolle im Administratorkonto, das zur Ausführung von Stack-Set-Vorgängen verwendet wird.

Der Name kann alphanumerische Zeichen sowie eines der folgenden Zeichen enthalten: _+=, .@- und keine Leerzeichen. Beim Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Dieser Rollenname muss eine Mindestlänge von 20 Zeichen und eine maximale Länge von 2048 Zeichen haben. Rollennamen müssen innerhalb des Kontos eindeutig sein. Der hier angegebene Rollenname muss ein vorhandener Rollenname sein. Wenn Sie den Rollennamen nicht angeben, wird er auf gesetzt AWSCloudFormationStackSetAdministrationRole. Wenn Sie einen Rollennamen angeben ServiceManaged, dürfen Sie keinen Rollennamen definieren.

ExecutionRoleName
Anmerkung

Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können.

Erforderlich: Nein

Anmerkung

Dieser Parameter ist für das SELF_MANAGED-Berechtigungsmodell optional und wird nicht für das SERVICE_MANAGED-Berechtigungsmodell verwendet.

Der Name der IAM-Rolle in den Zielkonten, die zur Ausführung von Stack-Set-Vorgängen verwendet werden. Der Name kann alphanumerische Zeichen sowie eines der folgenden Zeichen enthalten: _+=, .@- und keine Leerzeichen. Beim Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Dieser Rollenname muss eine Mindestlänge von 1 Zeichen und eine Höchstlänge von 64 Zeichen haben. Rollennamen müssen innerhalb des Kontos eindeutig sein. Der hier angegebene Rollenname muss ein vorhandener Rollenname sein. Geben Sie diese Rolle nicht an, wenn Sie benutzerdefinierte Ausführungsrollen verwenden. Wenn Sie den Rollennamen nicht angeben, wird er auf gesetztAWSCloudFormationStackSetExecutionRole. Wenn Sie Service_Managed den Wert auf true setzen, dürfen Sie keinen Rollennamen definieren.

OrganizationsAutoDeployment

Erforderlich: Nein

Anmerkung

Dieser Parameter ist für das SERVICE_MANAGED-Berechtigungsmodell optional und wird nicht für das SELF_MANAGED-Berechtigungsmodell verwendet.

Beschreibt, ob Konten, die einer Zielorganisation oder Organisationseinheit (OU) hinzugefügt wurden, CloudFormation StackSets automatisch für AWS Organisationen bereitgestellt werden. Wenn OrganizationsAutoDeployment angegeben, geben Sie nicht DeploymentTargets und Regions an.

Anmerkung

Wenn keine Eingabe vorgesehen istOrganizationsAutoDeployment, lautet der StandardwertDisabled.

Folgende sind gültige Werte:

  • Enabled. Erforderlich: Nein.

    StackSets stellt automatisch zusätzliche Stack-Instances für AWS Organisationskonten bereit, die einer Zielorganisation oder Organisationseinheit (OU) in den angegebenen Regionen hinzugefügt werden. Wenn ein Konto aus einer Zielorganisation oder OU entfernt wird, werden Stack-Instances aus dem Konto in den angegebenen Regionen CloudFormation StackSets gelöscht.

  • Disabled. Erforderlich: Nein.

    StackSets stellt nicht automatisch zusätzliche Stack-Instances für AWS Organisationskonten bereit, die einer Zielorganisation oder Organisationseinheit (OU) in den angegebenen Regionen hinzugefügt werden.

  • EnabledWithStackRetention. Erforderlich: Nein.

    Stack-Ressourcen bleiben erhalten, wenn ein Konto aus einer Zielorganisation oder OU entfernt wird.

DeploymentTargets

Erforderlich: Nein

Anmerkung

Für das SERVICE_MANAGED-Berechtigungsmodell können Sie entweder die Stamm-ID der Organisation oder die IDs der Organisationseinheiten für Bereitstellungsziele angeben. Für das SELF_MANAGED-Berechtigungsmodell können Sie nur Konten angeben.

Anmerkung

Wenn dieser Parameter ausgewählt ist, müssen Sie auch Regionen auswählen.

Eine Liste von AWS Konten oder Organisationseinheiten-IDs, in denen sich Stack-Set-Instanzen befinden sollten created/updated.

  • Konten:

    Sie können Konten als Literalliste oder als Dateipfad angeben:

    • Literal: Geben Sie Parameter im Kurzsyntaxformat einaccount_ID,account_ID, wie im folgenden Beispiel gezeigt.

      111111222222,333333444444
    • Dateipfad: Der Speicherort der Datei, die eine Liste von AWS Konten enthält, in denen sich Stack-Set-Instanzen befinden sollen created/updated, eingegeben im Format. InputArtifactName::AccountsFileName Wenn Sie den Dateipfad verwenden, um entweder Konten oder anzugeben OrganizationalUnitIds, muss das Dateiformat im JSON-Format vorliegen, wie im folgenden Beispiel gezeigt.

      SourceArtifact::accounts.txt

      Das folgende Beispiel zeigt den Dateiinhalt füraccounts.txt.

      [ "111111222222" ]

      Das folgende Beispiel zeigt den Dateiinhalt für den accounts.txt Fall, dass mehrere Konten aufgelistet werden:

      [ "111111222222","333333444444" ]
  • OrganizationalUnitIds:

    Anmerkung

    Dieser Parameter ist optional für das Service_MANAGED-Berechtigungsmodell und wird nicht für das SELF_MANAGED-Berechtigungsmodell verwendet. Verwenden Sie diesen Wert nicht, wenn Sie auswählen. OrganizationsAutoDeployment

    Die AWS Organisationseinheiten, in denen die zugehörigen Stack-Instances aktualisiert werden sollen.

    Sie können die IDs der Organisationseinheiten als literale Liste oder als Dateipfad angeben:

    • Literal: Geben Sie eine Reihe von durch Kommas getrennten Zeichenfolgen ein, wie im folgenden Beispiel gezeigt.

      ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    • Dateipfad: Der Speicherort der Datei, die eine Liste enthält, OrganizationalUnitIds in der Stack-Set-Instanzen erstellt oder aktualisiert werden sollen. Wenn Sie den Dateipfad verwenden, um entweder Konten oder anzugeben OrganizationalUnitIds, muss das Dateiformat im JSON-Format vorliegen, wie im folgenden Beispiel gezeigt.

      Geben Sie einen Pfad zur Datei im Format einInputArtifactName::OrganizationalUnitIdsFileName.

      SourceArtifact::OU-IDs.txt

      Das folgende Beispiel zeigt den Dateiinhalt fürOU-IDs.txt:

      [ "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222" ]
Regionen

Erforderlich: Nein

Anmerkung

Wenn dieser Parameter ausgewählt ist, müssen Sie auch auswählen DeploymentTargets.

Eine Liste von AWS Regionen, in denen Stack-Set-Instanzen erstellt oder aktualisiert werden. Regionen werden in der Reihenfolge aktualisiert, in der sie eingegeben wurden.

Geben Sie eine Liste gültiger AWS Regionen in dem Format einRegion1,Region2, wie im folgenden Beispiel gezeigt.

us-west-2,us-east-1
FailureTolerancePercentage

Erforderlich: Nein

Der Prozentsatz der Konten pro Region, für die dieser Stack-Vorgang fehlschlagen kann, bevor der Vorgang in dieser Region CloudFormation beendet wird. Wenn der Vorgang in einer Region gestoppt wird, wird der Vorgang in nachfolgenden Regionen CloudFormation nicht versucht. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation abgerundet.

MaxConcurrentPercentage

Erforderlich: Nein

Der maximale Prozentsatz der Konten, auf denen dieser Vorgang gleichzeitig ausgeführt werden kann. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation abgerundet. Wenn das Abrunden zu Null führen würde, wird die Zahl stattdessen auf Eins CloudFormation festgelegt. Sie verwenden diese Einstellung zwar, um den Höchstwert anzugeben, aber bei großen Bereitstellungen kann die tatsächliche Anzahl der Konten, auf die gleichzeitig zugegriffen wird, aufgrund der Diensteinschränkung niedriger sein.

RegionConcurrencyType

Erforderlich: Nein

Sie können angeben, ob das Stack-Set AWS-Regionen sequentiell oder parallel verteilt werden soll, indem Sie den Bereitstellungsparameter Region Concurrency konfigurieren. Wenn die Option „Regionale Parallelität“ so angegeben ist, dass Stapel auf mehreren AWS-Regionen parallel verteilt werden, kann dies insgesamt zu kürzeren Bereitstellungszeiten führen.

  • Parallel: Stack-Set-Bereitstellungen werden gleichzeitig durchgeführt, sofern die Bereitstellungsfehler einer Region eine bestimmte Ausfalltoleranz nicht überschreiten.

  • Sequentiell: Stack-Set-Bereitstellungen werden nacheinander durchgeführt, sofern die Bereitstellungsfehler einer Region eine bestimmte Ausfalltoleranz nicht überschreiten. Die sequenzielle Bereitstellung ist die Standardauswahl.

ConcurrencyMode

Erforderlich: Nein

Im Parallelitätsmodus können Sie wählen, wie sich die Parallelitätsstufe bei Stack-Set-Vorgängen verhält, ob mit strikter oder weicher Ausfalltoleranz. Strikte Fehlertoleranz senkt die Bereitstellungsgeschwindigkeit bei fehlerhaften Stack-Set-Vorgängen, da die Parallelität bei jedem Fehler abnimmt. Bei Soft Failure Tolerance wird der Geschwindigkeit der Bereitstellung Priorität eingeräumt und gleichzeitig die Sicherheitsfunktionen genutzt. CloudFormation

  • STRICT_FAILURE_TOLERANCE: Diese Option senkt dynamisch den Grad der Parallelität, um sicherzustellen, dass die Anzahl der ausgefallenen Konten niemals eine bestimmte Ausfalltoleranz überschreitet. Dies ist das Standardverhalten.

  • SOFT_FAILURE_TOLERANCE: Diese Option entkoppelt die Ausfalltoleranz von der tatsächlichen Parallelität. Dadurch können Stack-Set-Operationen unabhängig von der Anzahl der Fehler auf einer bestimmten Parallelitätsstufe ausgeführt werden.

CallAs

Erforderlich: Nein

Anmerkung

Dieser Parameter ist für das SERVICE_MANAGED Berechtigungsmodell optional und wird nicht für das SELF_MANAGED Berechtigungsmodell verwendet.

Gibt an, ob Sie im Verwaltungskonto der Organisation oder als delegierter Administrator in einem Mitgliedskonto agieren.

Anmerkung

Wenn dieser Parameter auf festgelegt ist, stellen Sie sicherDELEGATED_ADMIN, dass die Pipeline-IAM-Rolle über die entsprechende Berechtigung verfügtorganizations:ListDelegatedAdministrators. Andernfalls schlägt die Aktion bei der Ausführung fehl und es wird ein Fehler ähnlich dem folgenden angezeigt:Account used is not a delegated administrator.

  • SELF: Bei der Stack-Set-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, wenn Sie beim Verwaltungskonto angemeldet sind.

  • DELEGATED_ADMIN: Bei der Stack-Set-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, wenn Sie mit einem delegierten Administratorkonto angemeldet sind.

Input artifacts (Eingabeartefakte)

Sie müssen mindestens ein Eingabeartefakt, das die Vorlage für das Stack-Set enthält, in eine Aktion einbeziehen. CloudFormationStackSet Sie können mehr Eingabeartefakte für Listen von Bereitstellungszielen, Konten und Parametern hinzufügen.

  • Anzahl der Artefakte: 1 to 3

  • Beschreibung: Du kannst Artefakte hinzufügen, um Folgendes bereitzustellen:

    • Die Stack-Vorlagendatei. (Weitere Informationen finden Sie unter dem TemplatePath-Parameter.)

    • Die Parameterdatei. (Weitere Informationen finden Sie unter dem Parameters-Parameter.)

    • Die Kontendatei. (Weitere Informationen finden Sie unter dem DeploymentTargets-Parameter.)

Ausgabeartefakte

  • Anzahl der Artefakte: 0

  • Beschreibung: Ausgabeartefakte gelten nicht für diesen Aktionstyp.

Ausgabevariablen

Wenn Sie diese Aktion konfigurieren, erzeugt sie Variablen, auf die in der Aktionskonfiguration einer Downstream-Aktion in der Pipeline verwiesen werden kann. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

  • StackSetId: Die ID des Stack-Sets.

  • OperationId: Die ID der Stack-Set-Operation.

Weitere Informationen finden Sie unter Variablenreferenz.

Beispiel CloudFormationStackSet Aktionskonfiguration

Die folgenden Beispiele zeigen die Aktionskonfiguration für die CloudFormationStackSet Aktion.

Beispiel für das selbstverwaltete Berechtigungsmodell

Das folgende Beispiel zeigt eine CloudFormationStackSet Aktion, bei der das eingegebene Bereitstellungsziel eine AWS Konto-ID ist.

YAML
Name: CreateStackSet ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackSet Version: '1' RunOrder: 1 Configuration: DeploymentTargets: '111111222222' FailureTolerancePercentage: '20' MaxConcurrentPercentage: '25' PermissionModel: SELF_MANAGED Regions: us-east-1 StackSetName: my-stackset TemplatePath: 'SourceArtifact::template.json' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "CreateStackSet", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackSet", "Version": "1" }, "RunOrder": 1, "Configuration": { "DeploymentTargets": "111111222222", "FailureTolerancePercentage": "20", "MaxConcurrentPercentage": "25", "PermissionModel": "SELF_MANAGED", "Regions": "us-east-1", "StackSetName": "my-stackset", "TemplatePath": "SourceArtifact::template.json" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" }

Beispiel für das dienstverwaltete Berechtigungsmodell

Das folgende Beispiel zeigt eine CloudFormationStackSet Aktion für das dienstverwaltete Berechtigungsmodell, bei dem die Option für die automatische Bereitstellung für AWS Organisationen mit Stack-Aufbewahrung aktiviert ist.

YAML
Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackSet Version: '1' RunOrder: 1 Configuration: Capabilities: 'CAPABILITY_IAM,CAPABILITY_NAMED_IAM' OrganizationsAutoDeployment: EnabledWithStackRetention PermissionModel: SERVICE_MANAGED StackSetName: stacks-orgs TemplatePath: 'SourceArtifact::template.json' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: eu-central-1 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackSet", "Version": "1" }, "RunOrder": 1, "Configuration": { "Capabilities": "CAPABILITY_IAM,CAPABILITY_NAMED_IAM", "OrganizationsAutoDeployment": "EnabledWithStackRetention", "PermissionModel": "SERVICE_MANAGED", "StackSetName": "stacks-orgs", "TemplatePath": "SourceArtifact::template.json" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "eu-central-1", "Namespace": "DeployVariables" }

Die Aktion CloudFormationStackInstances

Diese Aktion erstellt neue Instanzen und stellt Stack-Sets für angegebene Instanzen bereit. Eine Stack-Instance ist eine Referenz auf einen Stack in einem Zielkonto innerhalb einer Region. Eine Stack-Instance kann auch ohne Stack existieren. Wenn beispielsweise die Stack-Erstellung nicht erfolgreich ist, zeigt die Stack-Instance den Grund für das Fehlschlagen der Stack-Erstellung an. Ein Stack-Instance ist nur einem Stack-Set zugeordnet.

Nach der ersten Erstellung eines Stack-Sets können Sie neue Stack-Instances hinzufügen, indem Sie Folgendes verwendenCloudFormationStackInstances. Die Werte der Vorlagenparameter können auf der Ebene der Stack-Instance bei Vorgängen zum Erstellen oder Aktualisieren einer Stack-Set-Instanz überschrieben werden.

Jedes Stack-Set hat eine Vorlage und einen Satz von Vorlagenparametern. Wenn Sie die Vorlage oder die Vorlagenparameter aktualisieren, aktualisieren Sie sie für den gesamten Satz. Dann werden alle Instanzstatus so lange gesetzt, OUTDATED bis die Änderungen für diese Instanz übernommen werden.

Um Parameterwerte für bestimmte Instanzen zu überschreiben, z. B. wenn die Vorlage einen Parameter für stage mit dem Wert von enthältprod, können Sie den Wert dieses Parameters auf beta oder gamma überschreiben.

Aktionstyp

  • Kategorie: Deploy

  • Eigentümer: AWS

  • Anbieter: CloudFormationStackInstances

  • Version: 1

Konfigurationsparameter

StackSetName

Erforderlich: Ja

Der Name, der dem Stack-Set zugeordnet werden soll. Dieser Name muss in der Region, in der er erstellt wurde, eindeutig sein.

Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und 128 Zeichen oder weniger lang sein.

DeploymentTargets

Erforderlich: Nein

Anmerkung

Für das SERVICE_MANAGED-Berechtigungsmodell können Sie entweder die Stamm-ID der Organisation oder die IDs der Organisationseinheiten für Bereitstellungsziele angeben. Für das SELF_MANAGED-Berechtigungsmodell können Sie nur Konten angeben.

Anmerkung

Wenn dieser Parameter ausgewählt ist, müssen Sie auch Regionen auswählen.

Eine Liste von AWS Konten oder Organisationseinheiten-IDs, in denen sich Stack-Set-Instanzen befinden sollten created/updated.

  • Konten:

    Sie können Konten als Literalliste oder als Dateipfad angeben:

    • Literal: Geben Sie Parameter im Kurzsyntaxformat einaccount_ID,account_ID, wie im folgenden Beispiel gezeigt.

      111111222222,333333444444
    • Dateipfad: Der Speicherort der Datei, die eine Liste von AWS Konten enthält, in denen sich Stack-Set-Instanzen befinden sollen created/updated, eingegeben im Format. InputArtifactName::AccountsFileName Wenn Sie den Dateipfad verwenden, um entweder Konten oder anzugeben OrganizationalUnitIds, muss das Dateiformat im JSON-Format vorliegen, wie im folgenden Beispiel gezeigt.

      SourceArtifact::accounts.txt

      Das folgende Beispiel zeigt den Dateiinhalt füraccounts.txt:

      [ "111111222222" ]

      Das folgende Beispiel zeigt den Dateiinhalt für den accounts.txt Fall, dass mehrere Konten aufgelistet werden:

      [ "111111222222","333333444444" ]
  • OrganizationalUnitIds:

    Anmerkung

    Dieser Parameter ist optional für das Service_MANAGED-Berechtigungsmodell und wird nicht für das SELF_MANAGED-Berechtigungsmodell verwendet. Verwenden Sie diesen Wert nicht, wenn Sie auswählen. OrganizationsAutoDeployment

    Die AWS Organisationseinheiten, in denen die zugehörigen Stack-Instances aktualisiert werden sollen.

    Sie können die IDs der Organisationseinheiten als literale Liste oder als Dateipfad angeben.

    • Literal: Geben Sie eine Reihe von durch Kommas getrennten Zeichenfolgen ein, wie im folgenden Beispiel gezeigt.

      ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    • Dateipfad: Der Speicherort der Datei, die eine Liste enthält, OrganizationalUnitIds in der Stack-Set-Instanzen erstellt oder aktualisiert werden sollen. Wenn Sie den Dateipfad verwenden, um entweder Konten oder anzugeben OrganizationalUnitIds, muss das Dateiformat im JSON-Format vorliegen, wie im folgenden Beispiel gezeigt.

      Geben Sie einen Pfad zur Datei im Format einInputArtifactName::OrganizationalUnitIdsFileName.

      SourceArtifact::OU-IDs.txt

      Das folgende Beispiel zeigt den Dateiinhalt fürOU-IDs.txt:

      [ "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222" ]
Regionen

Erforderlich: Ja

Anmerkung

Wenn dieser Parameter ausgewählt ist, müssen Sie auch auswählen DeploymentTargets.

Eine Liste von AWS Regionen, in denen Stack-Set-Instanzen erstellt oder aktualisiert werden. Regionen werden in der Reihenfolge aktualisiert, in der sie eingegeben wurden.

Geben Sie eine Liste gültiger AWS Regionen im Format: einRegion1,Region2, wie im folgenden Beispiel gezeigt.

us-west-2,us-east-1
ParameterOverrides

Erforderlich: Nein

Eine Liste von Stack-Set-Parametern, die Sie in den ausgewählten Stack-Instances überschreiben möchten. Überschriebene Parameterwerte werden auf alle Stack-Instances in den angegebenen Konten und Regionen angewendet.

Sie können Parameter als Literalliste oder als Dateipfad angeben:

  • Sie können Parameter im folgenden Kurzsyntaxformat eingeben:. ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string Weitere Hinweise zu diesen Datentypen finden Sie unter. Datentypen für Vorlagenparameter

    Das folgende Beispiel zeigt einen Parameter, der BucketName mit dem Wert benannt istamzn-s3-demo-source-bucket.

    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket

    Das folgende Beispiel zeigt einen Eintrag mit mehreren Parametern.

    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket ParameterKey=Asset1,ParameterValue=true ParameterKey=Asset2,ParameterValue=true
  • Sie können den Speicherort der Datei eingeben, die eine Liste von Vorlagenparameterüberschreibungen enthält, die im Format eingegeben wurdenInputArtifactName::ParameterOverridesFileName, wie im folgenden Beispiel gezeigt.

    SourceArtifact::parameter-overrides.txt

    Das folgende Beispiel zeigt den Dateiinhalt fürparameter-overrides.txt.

    [ { "ParameterKey": "KeyName", "ParameterValue": "true" }, { "ParameterKey": "KeyName", "ParameterValue": "true" } ]
FailureTolerancePercentage

Erforderlich: Nein

Der Prozentsatz der Konten pro Region, für die dieser Stack-Vorgang fehlschlagen kann, bevor der Vorgang in dieser Region CloudFormation beendet wird. Wenn der Vorgang in einer Region gestoppt wird, wird der Vorgang in nachfolgenden Regionen CloudFormation nicht versucht. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation abgerundet.

MaxConcurrentPercentage

Erforderlich: Nein

Der maximale Prozentsatz der Konten, auf denen dieser Vorgang gleichzeitig ausgeführt werden soll. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation abgerundet. Wenn das Abrunden zu Null führen würde, wird die Zahl stattdessen auf Eins CloudFormation festgelegt. Sie geben zwar den Höchstwert an, aber bei großen Bereitstellungen kann die tatsächliche Anzahl der Konten, auf die gleichzeitig zugegriffen wird, aufgrund der Dienstdrosselung niedriger sein.

RegionConcurrencyType

Erforderlich: Nein

Sie können angeben, ob das Stack-Set AWS-Regionen sequentiell oder parallel verteilt werden soll, indem Sie den Bereitstellungsparameter Region Concurrency konfigurieren. Wenn die Option „Regionale Parallelität“ so angegeben ist, dass Stapel auf mehreren AWS-Regionen parallel verteilt werden, kann dies insgesamt zu kürzeren Bereitstellungszeiten führen.

  • Parallel: Stack-Set-Bereitstellungen werden gleichzeitig durchgeführt, sofern die Bereitstellungsfehler einer Region eine bestimmte Ausfalltoleranz nicht überschreiten.

  • Sequentiell: Stack-Set-Bereitstellungen werden nacheinander durchgeführt, sofern die Bereitstellungsfehler einer Region eine bestimmte Ausfalltoleranz nicht überschreiten. Die sequenzielle Bereitstellung ist die Standardauswahl.

ConcurrencyMode

Erforderlich: Nein

Im Parallelitätsmodus können Sie wählen, wie sich die Parallelitätsstufe bei Stack-Set-Vorgängen verhält, ob mit strikter oder weicher Ausfalltoleranz. Strikte Fehlertoleranz senkt die Bereitstellungsgeschwindigkeit bei fehlerhaften Stack-Set-Vorgängen, da die Parallelität bei jedem Fehler abnimmt. Bei Soft Failure Tolerance wird der Geschwindigkeit der Bereitstellung Priorität eingeräumt und gleichzeitig die Sicherheitsfunktionen genutzt. CloudFormation

  • STRICT_FAILURE_TOLERANCE: Diese Option senkt dynamisch den Grad der Parallelität, um sicherzustellen, dass die Anzahl der ausgefallenen Konten niemals eine bestimmte Ausfalltoleranz überschreitet. Dies ist das Standardverhalten.

  • SOFT_FAILURE_TOLERANCE: Diese Option entkoppelt die Ausfalltoleranz von der tatsächlichen Parallelität. Dadurch können Stack-Set-Operationen unabhängig von der Anzahl der Fehler auf einer bestimmten Parallelitätsstufe ausgeführt werden.

CallAs

Erforderlich: Nein

Anmerkung

Dieser Parameter ist für das SERVICE_MANAGED Berechtigungsmodell optional und wird nicht für das SELF_MANAGED Berechtigungsmodell verwendet.

Gibt an, ob Sie im Verwaltungskonto der Organisation oder als delegierter Administrator in einem Mitgliedskonto agieren.

Anmerkung

Wenn dieser Parameter auf festgelegt ist, stellen Sie sicherDELEGATED_ADMIN, dass die Pipeline-IAM-Rolle über die entsprechende Berechtigung verfügtorganizations:ListDelegatedAdministrators. Andernfalls schlägt die Aktion bei der Ausführung fehl und es wird ein Fehler ähnlich dem folgenden angezeigt:Account used is not a delegated administrator.

  • SELF: Bei der Stack-Set-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, wenn Sie beim Verwaltungskonto angemeldet sind.

  • DELEGATED_ADMIN: Bei der Stack-Set-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, wenn Sie mit einem delegierten Administratorkonto angemeldet sind.

Input artifacts (Eingabeartefakte)

CloudFormationStackInstanceskann Artefakte enthalten, die Bereitstellungsziele und -parameter auflisten.

  • Anzahl der Artefakte: 0 to 2

  • Beschreibung: Als Eingabe akzeptiert die Stack-Set-Aktion optional Artefakte für die folgenden Zwecke:

    • Um die zu verwendende Parameterdatei bereitzustellen. (Weitere Informationen finden Sie unter dem ParameterOverrides-Parameter.)

    • Um die zu verwendende Zielkontendatei bereitzustellen. (Weitere Informationen finden Sie unter dem DeploymentTargets-Parameter.)

Ausgabeartefakte

  • Anzahl der Artefakte: 0

  • Beschreibung: Ausgabeartefakte gelten nicht für diesen Aktionstyp.

Ausgabevariablen

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

  • StackSetId: Die ID des Stack-Sets.

  • OperationId: Die ID der Stack-Set-Operation.

Weitere Informationen finden Sie unter Variablenreferenz.

Beispielaktionskonfiguration

Die folgenden Beispiele zeigen die Aktionskonfiguration für die CloudFormationStackInstances Aktion.

Beispiel für das selbstverwaltete Berechtigungsmodell

Das folgende Beispiel zeigt eine CloudFormationStackInstances Aktion, bei der das eingegebene Bereitstellungsziel eine AWS-Konto ID 111111222222 ist.

YAML
Name: my-instances ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackInstances Version: '1' RunOrder: 2 Configuration: DeploymentTargets: '111111222222' Regions: 'us-east-1,us-east-2,us-west-1,us-west-2' StackSetName: my-stackset OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2
JSON
{ "Name": "my-instances", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackInstances", "Version": "1" }, "RunOrder": 2, "Configuration": { "DeploymentTargets": "111111222222", "Regions": "us-east-1,us-east-2,us-west-1,us-west-2", "StackSetName": "my-stackset" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2" }

Beispiel für das dienstverwaltete Berechtigungsmodell

Das folgende Beispiel zeigt eine CloudFormationStackInstances Aktion für das dienstverwaltete Berechtigungsmodell, bei dem das Bereitstellungsziel die ID einer AWS Organisationseinheit einer Organisation ist. ou-1111-1example

YAML
Name: Instances ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormationStackInstances Version: '1' RunOrder: 2 Configuration: DeploymentTargets: ou-1111-1example Regions: us-east-1 StackSetName: my-stackset OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: eu-central-1
JSON
{ "Name": "Instances", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormationStackInstances", "Version": "1" }, "RunOrder": 2, "Configuration": { "DeploymentTargets": "ou-1111-1example", "Regions": "us-east-1", "StackSetName": "my-stackset" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "eu-central-1" }

Berechtigungen für Servicerollen: Aktion CloudFormationStackSet

Für CloudFormation StackSets Aktionen sind die folgenden Mindestberechtigungen erforderlich.

Für die CloudFormationStackSet Aktion fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

{ "Effect": "Allow", "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "resource_ARN" },

Berechtigungen für Servicerollen: CloudFormationStackInstances Aktion

Für die CloudFormationStackInstances Aktion fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

{ "Effect": "Allow", "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "resource_ARN" },

Berechtigungsmodelle für Stack-Set-Operationen

Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können. Sie können Berechtigungen über selbstverwaltete oder dienstverwaltete Berechtigungen definieren.

Mit selbstverwalteten Berechtigungen erstellen Sie die beiden IAM-Rollen, die für Folgendes erforderlich sind: eine Administratorrolle wie die AWSCloudFormationStackSetAdministrationRole in dem Konto, in dem Sie das Stack-Set definieren, und eine Ausführungsrolle wie die AWSCloudFormationStackSetExecutionRole in jedem der Konten, für die Sie Stack-Set-Instanzen bereitstellen. StackSets Mithilfe dieses Berechtigungsmodells StackSets können Sie die Bereitstellung für jedes AWS Konto durchführen, für das der Benutzer über die Berechtigungen zum Erstellen einer IAM-Rolle verfügt. Weitere Informationen finden Sie im AWS CloudFormation Benutzerhandbuch unter Gewähren selbstverwalteter Berechtigungen.

Anmerkung

Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können.

Mit vom Dienst verwalteten Berechtigungen können Sie Stack-Instances für Konten bereitstellen, die von AWS Organisationen verwaltet werden. Bei Verwendung dieses Berechtigungsmodells müssen Sie nicht die erforderlichen IAM-Rollen erstellen, da die IAM-Rollen in Ihrem Namen StackSets erstellt werden. Mit diesem Modell können Sie auch automatische Bereitstellungen für Konten aktivieren, die der Organisation in Zukunft hinzugefügt werden. Weitere Informationen finden Sie im AWS CloudFormation Benutzerhandbuch unter „Vertrauenswürdigen Zugriff für AWS Organisationen aktivieren“.

Datentypen für Vorlagenparameter

Zu den Vorlagenparametern, die bei Stack-Set-Operationen verwendet werden, gehören die folgenden Datentypen. Weitere Informationen finden Sie unter DescribeStackSet.

ParameterKey
  • Beschreibung: Der dem Parameter zugeordnete Schlüssel. Wenn Sie keinen Schlüssel und keinen Wert für einen bestimmten Parameter angeben, wird der in der Vorlage angegebene Standardwert AWS CloudFormation verwendet.

  • Beispiel:

    "ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
ParameterValue
  • Beschreibung: Der dem Parameter zugeordnete Eingabewert.

  • Beispiel:

    "ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
UsePreviousValue
  • Verwenden Sie bei einer Stack-Aktualisierung den vorhandenen Parameterwert, den der Stack für einen bestimmten Parameterschlüssel verwendet. Wenn Sie angebentrue, geben Sie keinen Parameterwert an.

  • Beispiel:

    "ParameterKey=Asset1,UsePreviousValue=true"

Jedes Stack-Set hat eine Vorlage und einen Satz von Vorlagenparametern. Wenn Sie die Vorlage oder die Vorlagenparameter aktualisieren, aktualisieren Sie sie für den gesamten Satz. Dann werden alle Instanzstatus auf VERALTET gesetzt, bis die Änderungen für diese Instanz übernommen werden.

Um Parameterwerte für bestimmte Instanzen zu überschreiben, z. B. wenn die Vorlage einen Parameter für stage mit dem Wert von enthältprod, können Sie den Wert dieses Parameters auf beta oder gamma überschreiben.

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.

  • Parametertypen — Dieses Referenzkapitel im AWS CloudFormation Benutzerhandbuch enthält weitere Beschreibungen und Beispiele für CloudFormation Vorlagenparameter.

  • Bewährte Methoden — Weitere Informationen zu Best Practices für die Bereitstellung von Stack-Sets finden Sie https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html im AWS CloudFormation Benutzerhandbuch.

  • AWS CloudFormation API-Referenz — Weitere Informationen zu den Parametern, die bei Stack-Set-Operationen verwendet werden, finden Sie in der AWS CloudFormation API-Referenz unter den folgenden CloudFormation Aktionen:

    • Die CreateStackSet Aktion erstellt ein Stack-Set.

    • Die UpdateStackSet Aktion aktualisiert das Stack-Set und die zugehörigen Stack-Instances in den angegebenen Konten und Regionen. Selbst wenn der durch das Aktualisieren des Stack-Sets erstellte Stack-Set-Vorgang fehlschlägt (ganz oder teilweise, unter oder über einer angegebenen Fehlertoleranz), wird das Stack-Set mit diesen Änderungen aktualisiert. Nachfolgende CreateStackInstances Aufrufe des angegebenen Stack-Sets verwenden das aktualisierte Stack-Set.

    • Die CreateStackInstances Aktion erstellt eine Stack-Instanz für alle angegebenen Regionen innerhalb aller angegebenen Konten in einem selbstverwalteten Berechtigungsmodell oder innerhalb aller angegebenen Bereitstellungsziele in einem dienstverwalteten Berechtigungsmodell. Sie können Parameter für die durch diese Aktion erstellten Instanzen überschreiben. Wenn die Instanzen bereits existieren, CreateStackInstances Aufrufe UpdateStackInstances mit denselben Eingabeparametern. Wenn Sie diese Aktion verwenden, um Instanzen zu erstellen, wird der Status anderer Stack-Instances dadurch nicht geändert.

    • Die UpdateStackInstances Aktion aktualisiert Stack-Instances mit dem Stack-Set für alle angegebenen Regionen innerhalb aller angegebenen Konten in einem selbstverwalteten Berechtigungsmodell oder innerhalb aller angegebenen Bereitstellungsziele in einem dienstverwalteten Berechtigungsmodell. Sie können die Parameter für die durch diese Aktion aktualisierten Instanzen überschreiben. Wenn Sie diese Aktion verwenden, um eine Teilmenge von Instances zu aktualisieren, wird dadurch der Status anderer Stack-Instances nicht geändert.

    • Die DescribeStackSetOperation Aktion gibt die Beschreibung der angegebenen Stack-Set-Operation zurück.

    • Die DescribeStackSet Aktion gibt die Beschreibung des angegebenen Stack-Sets zurück.