Verwenden Sie Ressourcen aus dem AWS CloudFormation öffentlichen Register - AWS Cloud Development Kit (AWS CDK) v2

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

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 Sie Ressourcen aus dem AWS CloudFormation öffentlichen Register

Mit der AWS CloudFormation öffentlichen Registrierung können Sie sowohl öffentliche als auch private Erweiterungen wie Ressourcen, Module und Hooks verwalten, die für die Verwendung in Ihrem AWS Konto verfügbar sind. Sie können öffentliche Ressourcenerweiterungen in Ihren AWS Cloud Development Kit (AWS CDK) -Anwendungen mit dem CfnResourceKonstrukt verwenden.

Weitere Informationen zur AWS CloudFormation öffentlichen Registrierung finden Sie unter Verwenden der AWS CloudFormation Registrierung im AWS CloudFormation Benutzerhandbuch.

Alle öffentlichen Erweiterungen, die von veröffentlicht wurden, AWS sind für alle Konten in allen Regionen verfügbar, ohne dass Sie etwas unternehmen müssen. Sie müssen jedoch jede Erweiterung eines Drittanbieters, die Sie verwenden möchten, in jedem Konto und jeder Region aktivieren, in der Sie sie verwenden möchten.

Anmerkung

Bei der Nutzung AWS CloudFormation mit Ressourcentypen von Drittanbietern fallen Gebühren an. Die Gebühren richten sich nach der Anzahl der Handler-Operationen, die Sie pro Monat ausführen, und der Dauer der Handler-Operationen. Vollständige Informationen finden Sie unter CloudFormation Preise.

Weitere Informationen zu öffentlichen Erweiterungen finden Sie CloudFormationim AWS CloudFormation Benutzerhandbuch unter Öffentliche Erweiterungen verwenden

Aktiviere eine Drittanbieter-Ressource in deinem Konto und deiner Region

Erweiterungen, die von veröffentlicht wurden, müssen AWS nicht aktiviert werden. Sie sind immer in jedem Konto und in jeder Region verfügbar. Sie können eine Erweiterung eines Drittanbieters über die AWS Management Console, über die AWS Befehlszeilenschnittstelle oder durch die Bereitstellung einer speziellen AWS CloudFormation Ressource aktivieren.

Um eine Erweiterung eines Drittanbieters über die AWS Management Console zu aktivieren oder zu sehen, welche Ressourcen verfügbar sind
aktivieren Sie die CFN-Erweiterung
  1. Melden Sie sich bei dem AWS Konto an, in dem Sie die Erweiterung verwenden möchten, und wechseln Sie dann zu der Region, in der Sie sie verwenden möchten.

  2. Navigieren Sie über das Menü Dienste zur CloudFormation Konsole.

  3. Wählen Sie in der Navigationsleiste Öffentliche Erweiterungen aus und aktivieren Sie dann unter Publisher das Optionsfeld Drittanbieter. Eine Liste der verfügbaren öffentlichen Erweiterungen von Drittanbietern wird angezeigt. (Sie können AWS sich auch eine Liste der öffentlichen Erweiterungen anzeigen lassen, die von veröffentlicht wurden AWS, obwohl Sie sie nicht aktivieren müssen.)

  4. Durchsuchen Sie die Liste und suchen Sie die Erweiterung, die Sie aktivieren möchten. Suchen Sie alternativ danach und aktivieren Sie dann das Optionsfeld in der oberen rechten Ecke der Erweiterungskarte.

  5. Wählen Sie oben in der Liste die Schaltfläche Aktivieren, um die ausgewählte Erweiterung zu aktivieren. Die Aktivierungsseite der Erweiterung wird angezeigt.

  6. Auf der Seite Aktivieren können Sie den Standardnamen der Erweiterung überschreiben und eine Ausführungsrolle und eine Protokollierungskonfiguration angeben. Sie können auch wählen, ob die Erweiterung automatisch aktualisiert werden soll, wenn eine neue Version veröffentlicht wird. Wenn Sie diese Optionen nach Ihren Wünschen eingestellt haben, wählen Sie unten auf der Seite Erweiterung aktivieren aus.

So aktivieren Sie eine Drittanbieter-Erweiterung mit der AWS CLI
  • Verwenden Sie den activate-type-Befehl. Ersetzen Sie den ARN des benutzerdefinierten Typs, den Sie verwenden möchten, sofern angegeben.

    Im Folgenden wird ein Beispiel gezeigt:

    aws cloudformation activate-type --public-type-arn <public_extension_ARN> --auto-update-activated
Um eine Erweiterung eines Drittanbieters über unser CloudFormation CDK zu aktivieren
  1. Stellen Sie eine Ressource des Typs bereit AWS::CloudFormation::TypeActivation und geben Sie die folgenden Eigenschaften an:

    1. TypeName- Der Name des Typs, z. AWSQS::EKS::Cluster B.

    2. MajorVersion- Die Hauptversionsnummer der gewünschten Erweiterung. Lassen Sie diese Option aus, wenn Sie die neueste Version verwenden möchten.

    3. AutoUpdate- Ob diese Erweiterung automatisch aktualisiert werden soll, wenn eine neue Nebenversion vom Herausgeber veröffentlicht wird. (Größere Versionsupdates erfordern eine ausdrückliche Änderung der MajorVersion Eigenschaft.)

    4. ExecutionRoleArn— Der ARN der IAM-Rolle, unter der diese Erweiterung ausgeführt wird.

    5. LoggingConfig- Die Protokollierungskonfiguration für die Erweiterung.

    Die TypeActivation Ressource kann vom CDK mithilfe des CfnResourceKonstrukts bereitgestellt werden. Dies wird für die eigentlichen Erweiterungen im folgenden Abschnitt gezeigt.

Fügen Sie Ihrer CDK-App eine Ressource aus dem AWS CloudFormation öffentlichen Register hinzu

Verwenden Sie das CfnResourceKonstrukt, um eine Ressource aus dem AWS CloudFormation Public Registry in Ihre Anwendung aufzunehmen. Dieses Konstrukt ist im aws-cdk-lib Modul des CDK enthalten.

Nehmen wir zum Beispiel an, dass es eine öffentliche Ressource mit dem Namen gibtMY::S5::UltimateBucket, die Sie in Ihrer AWS CDK-Anwendung verwenden möchten. Diese Ressource benötigt eine Eigenschaft: den Bucket-Namen. Die entsprechende CfnResource Instanziierung sieht so aus.

TypeScript
const ubucket = new CfnResource(this, 'MyUltimateBucket', { type: 'MY::S5::UltimateBucket::MODULE', properties: { BucketName: 'UltimateBucket' } });
JavaScript
const ubucket = new CfnResource(this, 'MyUltimateBucket', { type: 'MY::S5::UltimateBucket::MODULE', properties: { BucketName: 'UltimateBucket' } });
Python
ubucket = CfnResource(self, "MyUltimateBucket", type="MY::S5::UltimateBucket::MODULE", properties=dict( BucketName="UltimateBucket"))
Java
CfnResource.Builder.create(this, "MyUltimateBucket") .type("MY::S5::UltimateBucket::MODULE") .properties(java.util.Map.of( // Map.of requires Java 9+ "BucketName", "UltimateBucket")) .build();
C#
new CfnResource(this, "MyUltimateBucket", new CfnResourceProps { Type = "MY::S5::UltimateBucket::MODULE", Properties = new Dictionary<string, object> { ["BucketName"] = "UltimateBucket" } });