Verwenden von öffentlichen Erweiterungen in CloudFormation - 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.

Verwenden von öffentlichen Erweiterungen in CloudFormation

Öffentliche Erweiterungen sind CloudFormation Erweiterungen wie Ressourcentypen oder Module, die öffentlich in der Registrierung veröffentlicht werden und von allen CloudFormation Benutzern verwendet werden können. Dies schließt alle Erweiterungen ein, die von veröffentlicht wurden AWS. Dritte können auch öffentliche Erweiterungen veröffentlichen.

Es gibt zwei Arten von öffentlichen Erweiterungen:

  • AWS Öffentliche Erweiterungen — Erweiterungen, die von veröffentlicht wurden, AWS sind immer öffentlich und standardmäßig aktiviert, sodass Sie keine Maßnahmen ergreifen müssen, bevor Sie sie in Ihrem Konto verwenden. Darüber hinaus gilt: AWS steuert die Versionsverwaltung der Erweiterung, sodass Sie immer die neueste verfügbare Version verwenden.

  • Öffentliche Erweiterungen von Drittanbietern — Dabei handelt es sich um Erweiterungen, die von anderen Herausgebern als zur allgemeinen Nutzung zur Verfügung gestellt AWS werden. Um eine öffentliche Erweiterung verwenden zu können, müssen Sie sie zuerst in Ihrem Konto und Ihrer Region aktivieren.

    Sie können Ihre eigenen Erweiterungen von Drittanbietern veröffentlichen, um sie allgemeinen CloudFormation Benutzern zur Verfügung zu stellen. Weitere Informationen finden Sie unter Erweiterungen veröffentlichen im Benutzerhandbuch für die CloudFormation Befehlszeilenschnittstelle.

Anmerkung

Wie bei privaten Erweiterungen können öffentliche Erweiterungen von Drittanbietern Ereignis-Handler implementieren, die während des Erstellungs-, Lese-, Aktualisierungs-, Listen- und Lösch-Vorgängen ausgeführt werden. Aus diesem Grund können Gebühren für Ihr Konto anfallen, wenn Sie diese Erweiterungen in Ihren CloudFormation Stacks verwenden. Dies wird zusätzlich zu den für die erstellten Ressourcen anfallenden Gebühren berechnet. Weitere Informationen finden Sie unter AWS CloudFormation Preise.

Aktivierung öffentlicher Erweiterungen zur Verwendung in Ihrem AWS-Konto

Um eine öffentliche Erweiterung eines Drittanbieters in Ihrer Vorlage zu verwenden, müssen Sie die Erweiterung zunächst für das Konto und die Region aktivieren, in der Sie sie verwenden möchten. Das Aktivieren einer Erweiterung macht sie für Stack-Vorgänge in dem Konto und der Region nutzbar, in der sie aktiviert ist. Wenn Sie eine öffentliche Erweiterung eines Drittanbieters aktivieren, CloudFormation wird in der Erweiterungsregistrierung Ihres Kontos ein Eintrag für die aktivierte Erweiterung als private Erweiterung erstellt. Auf diese Weise können Sie die Erweiterung wie folgt anpassen, wenn sie in Ihrem Konto aktiviert wird:

  • Geben Sie einen Alias an, der anstelle des öffentlichen Erweiterungsnamens eines Drittanbieters verwendet wird. Dadurch können Namenskollisionen zwischen Erweiterungen von Drittanbietern vermieden werden.

  • Geben Sie an, ob die Erweiterung automatisch aktualisiert wird, wenn eine neue Nebenversion oder Patch-Version verfügbar wird.

  • Geben Sie die Ausführungsrolle an, die zur Aktivierung der Erweiterung CloudFormation verwendet wird, und konfigurieren Sie zusätzlich die Protokollierung für die Erweiterung.

Wenn Sie eine öffentliche Drittanbieter-Erweiterung aktivieren, können Sie auch alle Konfigurations-Eigenschaften festlegen, die die Erweiterung enthält. Konfigurations-Eigenschaften definieren, wie die Erweiterung für ein bestimmtes Konto und eine Region konfiguriert wird. Weitere Informationen zur Konfiguration finden Sie im Folgenden:

Einstellung CloudFormation für die automatische Verwendung neuer Versionen von Erweiterungen

Wenn Sie eine Erweiterung aktivieren, können Sie auch den Erweiterungstyp angeben, um die neueste Nebenversion zu verwenden. Ihr Erweiterungstyp aktualisiert die Nebenversion, wenn der Publisher eine neue Version für Ihre aktivierte Erweiterung veröffentlicht.

Wenn Sie beispielsweise das nächste Mal einen Stack-Vorgang ausführen, z. B. einen Stack erstellen oder aktualisieren, und dabei eine Vorlage verwenden, die diese Erweiterung enthält, CloudFormation wird die neue Nebenversion verwendet.

Die Aktualisierung auf eine neue Erweiterungs-Version, entweder automatisch oder manuell, wirkt sich nicht auf Erweiterungs-Instances aus, die bereits in Stacks bereitgestellt wurden.

CloudFormation behandelt Hauptversionsupdates von Erweiterungen so, dass sie potenziell wichtige Änderungen enthalten, und erfordert daher, dass Sie manuell auf eine neue Hauptversion einer Erweiterung aktualisieren.

Erweiterungen, AWS die von veröffentlicht wurden, sind standardmäßig für alle Konten und Regionen aktiviert, in denen sie verfügbar sind, und verwenden immer die jeweils neueste Version AWS-Region.

Wichtig

Da Sie steuern, ob und wann Erweiterungen in Ihrem Konto auf die neueste Version aktualisiert werden, können verschiedene Versionen derselben Erweiterung in verschiedenen Konten und Regionen bereitgestellt werden.

Dies kann potenziell zu unerwarteten Ergebnissen führen, wenn dieselbe Vorlage, die diese Erweiterung enthält, für alle Konten und Regionen verwendet wird.

Angeben von Aliasen, um auf Erweiterungen zu verweisen

Sie können nicht mehr als eine Erweiterung mit einem bestimmten Namen in einem bestimmten Konto und einer bestimmten Region aktivieren. Da verschiedene Herausgeber öffentliche Erweiterungen mit demselben Erweiterungsnamen anbieten können, CloudFormation können Sie einen Alias für jede öffentliche Erweiterung eines Drittanbieters angeben, die Sie aktivieren.

Wenn Sie einen Alias für die Erweiterung angeben, wird der Alias als Name des Erweiterungstyps innerhalb des Kontos und der Region CloudFormation behandelt. Sie müssen den Alias verwenden, um in Ihren Vorlagen, API Aufrufen und in der CloudFormation Konsole auf die Erweiterung zu verweisen.

Ein Erweiterungs-Alias muss innerhalb eines bestimmten Kontos und einer bestimmten Region eindeutig sein. Sie können dieselbe öffentliche Ressource mehrmals in demselben Konto und derselben Region aktivieren, indem Sie Aliase für unterschiedliche Typnamen verwenden.

Wichtig

Obwohl Erweiterungs-Aliase nur in einem bestimmten Konto und einer bestimmten Region eindeutig sein müssen, empfehlen wir dringend, dass Benutzer nicht denselben Alias ​​verschiedenen öffentlichen Erweiterungen von Drittanbietern über Konten und Regionen hinweg zuweisen. Dies könnte zu unerwarteten Ergebnissen führen, wenn eine Vorlage verwendet wird, die den Erweiterungs-Alias für mehrere Konten oder Regionen enthält.

Angeben einer Ausführungsrolle bei der Aktivierung von Erweiterungen

Bei der Aktivierung einer Ressource können Sie die IAM Ausführungsrolle angeben, die beim Aufrufen dieser Erweiterung in Ihrem Konto und Ihrer Region übernommen werden CloudFormation soll.

Um die Ausführungsrolle übernehmen CloudFormation zu können, muss für die Rolle eine Vertrauensrichtlinie definiert sein. CloudFormation Darüber hinaus wird die Berechtigung zur Ausführung eines Vorgangs erteilt, indem eine IAM Richtlinie erstellt und der Ausführungsrolle zugewiesen wird. Die erforderlichen Berechtigungen werden im Handler-Abschnitt des Erweiterungsschemas definiert.

Im Folgenden finden Sie ein Beispiel für eine IAM Rollenvertrauensrichtlinie für die Ressourcentyperweiterung:

{ "Version": "2012-10-17", "Statement":[ { "Effect": "Allow", "Principal":{ "Service": "resources.cloudformation.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "StringLike":{ "aws:SourceArn":"arn:aws:cloudformation:us-east-1:123456789012:type/resource/Organization-Service-Resource/*" } } } ] }

Im Folgenden finden Sie ein Beispiel für eine IAM Rollenvertrauensrichtlinie für die Hook-Erweiterung:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "Service": [ "resources.cloudformation.amazonaws.com", "hooks.cloudformation.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "StringLike":{ "aws:SourceArn":"arn:aws:cloudformation:us-east-1:123456789012:type/hook/Organization-Service-Hook/*" } } } ] }

Weitere Informationen finden Sie unter Ändern einer Vertrauensrichtlinie für Rollen im Benutzerhandbuch für AWS Identity and Access Management .

So aktivieren Sie eine öffentliche Erweiterung in der Registry

Aktivieren Sie Ihre Erweiterung in der AWS CloudFormation Registrierung, damit sie verwendet werden kann.

Um eine öffentliche Erweiterung zur Verwendung in Ihrem Konto mithilfe der CloudFormation Konsole zu aktivieren

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie im CloudFormationNavigationsbereich unter CloudFormation Registrierung die Option Öffentliche Erweiterungen aus.

  3. Verwenden Sie den Filter, um den Erweiterungstyp auszuwählen, und wählen Sie Third party (Drittanbieter). (Erweiterungen, die von veröffentlicht wurden, AWS sind standardmäßig aktiviert.)

  4. Wählen Sie die Erweiterung und dann Activate (Aktivieren).

    Anmerkung

    Wenn mehrere Versionen einer Erweiterung verfügbar sind, können Sie das Versions-Menü verwenden, um die Version der Erweiterung auszuwählen, die Sie aktivieren möchten. Die Standardversion ist die neueste Version.

  5. Verwenden Sie die Optionen auf der Seite Activate extension (Erweiterung aktivieren), um anzupassen, wie die Erweiterung in diesem Konto aktiviert wird.

    • So aktivieren Sie die Erweiterung mit einem Erweiterungstyp-Alias:

      1. Wählen Sie Standard überschreiben

      2. Geben Sie den Erweiterungstyp-Alias ein, den Sie mit dieser Erweiterung verwenden möchten. Der Alias muss dem für den Erweiterungstyp empfohlenen Format entsprechen.

      Weitere Informationen finden Sie unter Aliase angeben, um auf Erweiterungen zu verweisen.

    • Wenn Sie eine private Ressource aktivieren, können Sie angeben, welche IAM Rolle beim Aufrufen der Erweiterung übernommen werden CloudFormation soll. Weitere Informationen finden Sie unter Festlegen einer Ausführungsrolle beim Aktivieren von Erweiterungen.

    • Geben Sie bei Bedarf unter Protokollierungskonfiguration Informationen zur Protokollierungskonfigurations für eine Erweiterung an. Beispiel:

      { "logRoleArn": "arn:aws:iam::account:role/rolename", "logGroupName": "log-group-name" }

      Die Protokollierung der Konfigurationsinformationen ist nicht erforderlich, wird aber für Debugging-Zwecke empfohlen. Um die Protokollierungskonfiguration mit Hooks zu verwenden, fügen Sie dieselbe Vertrauensrichtlinie wie die angegebene Ausführungsrolle hinzu, damit die Protokollrolle Protokolle in Ihre Protokollgruppe schreiben kann.

      logRoleArnund bei logGroupNameSchlüsselnamen wird zwischen Groß- und Kleinschreibung unterschieden.

    • Unter Versionsverwaltung geben Sie an, wie Sie Updates erhalten.

      • Ein – Wird automatisch auf die neueste Nebenversion aktualisiert. Hauptversionen werden manuell aktualisiert.

      • Aus – Wird niemals automatisch auf die neueste Version aktualisiert. Alle Versionen werden manuell aktualisiert.

      Weitere Informationen finden Sie unter Einstellung CloudFormation zur automatischen Verwendung neuer Versionen von Erweiterungen.

  6. Geben Sie die Konfigurationsdaten an.

    Anmerkung

    Dieser Schritt ist für Hooks erforderlich. Sie müssen ALL für die TargetStack-Eigenschaft angeben. Dieser Vorgang aktiviert die Hook-Eigenschaften, die im Abschnitt zu den Schema-Eigenschaften des Hooks definiert sind.

    Wenn für die Erweiterung eine zusätzliche Konfiguration auf Konto- und Regionsebene erforderlich ist, CloudFormation enthält dies den Abschnitt Konfiguration auf der Seite Erweiterung aktivieren. Sie haben die Möglichkeit, die Konfigurationsdaten jetzt anzugeben oder nachdem die Erweiterung aktiviert wurde. Wenn die Erweiterung keine Konfiguration erfordert, wird der Abschnitt Configuration (Konfiguration) nicht angezeigt.

    • So geben Sie die Konfigurationsdaten an, während Sie die Erweiterung aktivieren:

      1. Wählen Sie Configure now (Jetzt konfigurieren) und dann Activate extension (Erweiterung aktivieren).

        CloudFormation zeigt die Seite Erweiterung konfigurieren an. Um das aktuelle Konfigurationsschema für die Erweiterung anzuzeigen, stellen Sie sicher, dass View configuration schema (Konfigurationsschema anzeigen) aktiviert ist.

      2. Geben Sie im JSON Textfeld Konfiguration eine JSON Zeichenfolge ein, die das Konfigurationsschema darstellt, das Sie für diese Erweiterung angeben möchten.

      3. Wählen Sie Configure extension (Erweiterung konfigurieren) aus.

    • So geben Sie die Konfigurationsdaten später an:

      • Wählen Sie Configure later (Später konfigurieren) und dann Activate extension (Erweiterung aktivieren).

      Um Konfigurationsdaten für eine Erweiterung anzugeben, die bereits aktiviert ist, besuchen Sie die Detailseite der aktivierten Erweiterung.

    Sobald die Erweiterung erfolgreich aktiviert wurde, CloudFormation wird die Detailseite für diese Erweiterung angezeigt.

Um eine aktivierte öffentliche Erweiterung in Ihrem Konto mithilfe der CloudFormation Konsole zu aktualisieren

Aktualisieren Sie Ihre Erweiterung in der AWS CloudFormation Registrierung, damit sie verwendet werden kann.

Nachdem Sie eine Erweiterung in Ihrem Konto und Ihrer Region aktiviert haben, können Sie die folgenden Eigenschaften dieser Erweiterung bei der Aktivierung aktualisieren, darunter:

  • Das Konfigurationsschema.

  • Gibt an, ob automatische Versions-Updates aktiviert werden sollen.

  • Für private registrierte Erweiterungen die zu verwendende Ausführungsrolle.

  • Die Informationen zur Protokollierungskonfiguration.

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie im CloudFormationNavigationsbereich unter CloudFormation Registrierung die Option Öffentliche Erweiterungen aus.

  3. Wählen Sie im Menü Actions (Aktionen) Edit (Bearbeiten) und dann die entsprechende Bearbeitungs-Option aus:

    • Informationen zum Aktualisieren des Konfigurationsschemas finden Sie unter So geben Sie Konfigurationseigenschaften für eine Erweiterung in der CloudFormation Konsole an

    • So aktivieren oder deaktivieren Sie automatische Updates:

      1. Wählen Sie Edit automatic updates (Automatische Updates bearbeiten).

      2. Wählen Sie On (Ein) oder Off (Aus) und dann Save (Speichern).

    • So aktualisieren Sie die Ausführungsrolle:

      1. Wählen Sie Edit execution role (Ausführungsrolle bearbeiten).

      2. Geben Sie die IAM Rolle ARN an, die Sie beim Aufrufen dieser Erweiterung verwenden möchten CloudFormation , und wählen Sie dann Speichern aus.

    • So aktualisieren Sie die Protokollierungskonfiguration:

      1. Wählen Sie Edit logging config (Protokollierungs-Konfiguration bearbeiten).

      2. Bearbeiten Sie die Protokollierungskonfiguration JSON und wählen Sie dann Speichern aus.

Um eine öffentliche Erweiterung zur Verwendung in Ihrem Konto zu aktivieren, verwenden Sie AWS CLI

Aktivieren Sie Ihre Erweiterung in der AWS CloudFormation Registrierung über die AWS CLI.

So aktivieren Sie Hooks

Nachdem Sie Ihren Hook entwickelt und registriert haben, können Sie Ihren Hook in Ihrem aktivieren, AWS-Konto indem Sie ihn in der Registry veröffentlichen.

  • Um einen Hook in Ihrem Konto zu aktivieren, verwenden Sie den Vorgang SetTypeConfiguration. Dieser Vorgang aktiviert die Hook-Eigenschaften, die im properties-Abschnitt des Hooks definiert sind.

    Anmerkung

    Indem Sie Hooks in Ihrem Konto aktivieren, autorisieren Sie einen Hook, die von Ihnen AWS-Konto definierten Berechtigungen zu verwenden. CloudFormation entfernt nicht benötigte Berechtigungen, bevor Ihre Berechtigungen an den Hook weitergegeben werden. CloudFormation empfiehlt Kunden oder Hook-Benutzern, die Hook-Berechtigungen zu überprüfen und sich darüber im Klaren zu sein, welche Berechtigungen die Hooks haben dürfen, bevor Sie Hooks in Ihrem Konto aktivieren.

    Geben Sie die Konfigurationsdaten für Ihre registrierte Hook-Erweiterung im selben Konto und der selben AWS-Region an.

    aws cloudformation --region us-west-2 set-type-configuration \ --configuration "{"CloudFormationConfiguration":{"HookConfiguration":{"TargetStacks": "ALL", "FailureMode": "FAIL", "Properties":{}}}}" \ --type-arn $HOOK_TYPE_ARN
    Wichtig

    Damit Ihr Hook die Konfiguration Ihres Stacks proaktiv überprüfen kann, müssen Sie im HookConfiguration-Abschnitt TargetStacks auf ALL setzen.

So aktivieren Sie Ressourcentypen und Module
Um eine öffentliche Erweiterung für die Verwendung in Ihrem Konto zu aktivieren, verwenden Sie die AWS CLI.
  • Verwenden Sie activate-type, um die Erweiterung zu aktivieren, und geben Sie an, ob die Erweiterung automatisch aktualisiert werden soll, wenn eine neue Nebenversion der Erweiterung veröffentlicht wird.

    Das folgende Beispiel gibt den öffentlichen Amazon-Ressourcennamen (ARN) einer öffentlichen Erweiterung an, die für dieses Konto aktiviert werden soll. Darüber hinaus wird angegeben, dass die Erweiterung jedes Mal CloudFormation aktualisiert wird, wenn eine neue Nebenversion veröffentlicht wird.

    aws cloudformation activate-type \ --public-type-arn public_extension_ARN \ --auto-update true

    Dieser Befehl gibt eine ARN der aktivierten Erweiterungen zurück, die für dieses Konto und diese Region spezifisch sind.

    { "Arn": "624af370-311a-11e8-b6b7-500cexample" }
Um die Version einer öffentlichen Erweiterung mit dem zu aktualisieren AWS CLI

Verwenden Sie activate-type, um die Erweiterung erneut zu aktivieren.

Verwenden Sie den --version-bump-Parameter, um anzugeben, ob die Erweiterung auf die neueste MAJOR-Version oder neueste MINOR-Version aktualisiert werden soll.

aws cloudformation activate-type \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::1234567890abcdef0 \ --type-name-alias Example::Test::Alias \ --version-bump MAJOR

So deaktivieren Sie öffentliche Erweiterungen in Ihrem Konto

In den folgenden Abschnitten sehen Sie, wie Sie öffentliche Erweiterungen in Ihrem Konto deaktivieren.

Um eine öffentliche Erweiterung in Ihrem Konto mithilfe der CloudFormation Konsole zu deaktivieren

  1. Verwenden Sie die CloudFormation Registrierung, um die Erweiterung zu finden.

  2. Wählen Sie im Menü Actions (Aktionen) die Option Deactivate (Deaktivieren).

  3. Wählen Sie Deactivate (Deaktivieren).

Um eine öffentliche Erweiterung in Ihrem Konto zu deaktivieren, verwenden Sie AWS CLI

Um eine öffentliche Erweiterung in Ihrem Konto zu deaktivieren, geben Sie den deactivate-type an. Es folgt ein Beispiel für einen AWS CLI -Deaktivierungs-Befehl.

aws cloudformation deactivate-type \ --region us-west-2 \ --type MODULE \ --type-name Example::Test::Type::MODULE

Um einen Hook in Ihrem Konto zu deaktivieren, verwenden Sie den AWS CLI

Das Deaktivieren eines Hooks verhindert, dass der Hook Ihr AWS-Konto ausführt.

Wenn TargetStacks auf NONE gesetzt wird, wird der Hook in Ihrem Konto deaktiviert, sodass dies nicht für Stack-Vorgänge gilt.

Verwenden Sie den set-type-configuration-Vorgang und geben Sie TargetStacks als NONE an, um einen Hook zu deaktivieren.

Das folgende Beispiel spezifiziert den AWS-Region und den Amazon-Ressourcennamen (ARN) des Hooks, der deaktiviert wird.

aws cloudformation set-type-configuration \ --region us-west-2 \ --configuration "{"CloudFormationConfiguration":{"HookConfiguration":{"TargetStacks": "NONE", "FailureMode": "FAIL", "Properties":{}}}}" \ --type-arn HOOK_TYPE_ARN