AWS Cloud Development Kit – FAQs

Allgemeines

Das AWS Cloud Development Kit (AWS CDK) ist ein Open-Source-Framework für die Softwareentwicklung. Damit lässt sich Cloud-Infrastruktur als Code mit modernen Programmiersprachen definieren und über AWS CloudFormation bereitstellen.

Sie können die AWS CDK Command Line Interface (CLI) verwenden, um mit Ihren CDK-Anwendungen zu interagieren. Mit der CDK CLI können Sie die in Ihrer CDK-Anwendung definierten Stacks auflisten, die Stacks in CloudFormation-Vorlagen synthetisieren, Unterschiede zwischen dem Ausführen von Stack-Instanzen und der in Ihrem CDK-Code definierten Stacks feststellen und Stacks in beliebigen öffentlichen AWS-Regionen bereitstellen.

Verwenden Sie das AWS-CDK-Framework zum Erstellen von AWS-CDK-Projekten. Diese werden ausgeführt, um CloudFormation-Vorlagen zu erzeugen. AWS-CDK-Projekte können über die AWS-CDK-Befehlszeile oder in einem Continuous-Delivery-System ausgeführt werden.

Wir empfehlen Ihnen, sich den Abschnitt Getting Started im AWS CDK Developer Guide anzusehen, um sich mit AWS CDK vertraut zu machen. Damit können Sie innerhalb von Minuten Ihre erste AWS CDK-Anwendung definieren und bereitstellen. Ein detaillierteres geführtes Tutorial finden Sie unter https://CDKworkshop.com.

Ja, Sie finden zahlreiche AWS CDK-Beispiele in mehreren Programmiersprachen unter https://github.com/aws-samples/aws-cdk-examples. Der AWS Developer Guide unter https://docs.aws.amazon.com/cdk/latest/guide/examples.html enthält ebenfalls Beispiele.

AWS erstellt die Geschäftslogik von AWS Construct Library-Paketen in TypeScript und stellt Zuordnungen für jede der unterstützten Programmiersprachen bereit. Damit gewährleisten wir ein sprachenübergreifend konsistentes Verhalten von AWS-CDK-Konstrukten. Zudem können wir dadurch umfassende Konstruktpakete für alle Sprachen anbieten. Der Code in Ihrem AWS-CDK-Projekt ist im Hinblick auf die von Ihnen bevorzugte Programmiersprache vollständig nativ und die JavaScript-Laufzeit stellt ein Implementierungsdetail für Ihre Programmiererfahrung dar. Sie können das jsii-Projekt unter https://github.com/aws/jsii als Referenz verwenden.

Beim AWS-CDK-Code handelt es sich um einen Open-Source-Code, den Sie auf GitHub unter https://github.com/awslabs/aws-cdk abrufen können.

Um Ihre Anwendung zu AWS CDK v2 zu migrieren, müssen Sie zunächst die Funktions-Flags in cdk.json aktualisieren. Danach aktualisieren Sie die Abhängigkeiten und Importe Ihrer App, abhängig von den Anforderungen ihrer Programmiersprache. Erfahren Sie mehr unter: https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html

Wir entwickeln AWS CDK ganz offen und freuen uns über jeden Einzelnen, der etwas zur Code-Basis beitragen möchte. Weitere Informationen erhalten Sie unter https://github.com/awslabs/aws-cdk/blob/master/CONTRIBUTING.md.

AWS CDK ist allgemein für JavaScript, TypeScript und Python, Java, C# und Go (in der Entwicklervorschau) verfügbar. Künftig möchten wir die AWS CDK-Unterstützung noch auf weitere Sprachen ausweiten. Stimmen Sie daher auf GitHub für Ihren Favoriten ab.

Mit AWS CDK können Sie AWS-Ressourcen in allen öffentlichen Regionen definieren und bereitstellen. Da AWS CDK den CloudFormation-Service nutzt, sehen Sie unter Regionale Produkte und Services nach, um weitere Informationen zur spezifischen Ressourcenverfügbarkeit pro AWS-Region zu erhalten.

Da AWS CDK CloudFormation nutzt, unterliegen AWS CDK-Anwendungen den Einschränkungen des CloudFormation-Services.

AWS Solutions Constructs ist eine Open-Source-Bibliothek-Erweiterung von AWS CDK. AWS Solutions Constructs bietet Ihnen eine Sammlung von überprüften Multi-Service-Architekturmustern die anhand der vom AWS Well-Architected Framework festgelegten bewährten Methoden entwickelt wurden. AWS Solutions Constructs erfordert die Installation des AWS CDK. Eine Erklärung, wie Sie AWS Solutions Constructs in Ihre AWS CDK Umgebung einbetten, finden Sie im Entwicklungsleitfaden.

AWS Construct Library

AWS-CDK-Konstrukte werden in der AWS Construct Library bereitgestellt und stellen Abstrahierungen von Cloud-Infrastrukturlogik dar. Sie werden zur Wiederverwendung paketiert. Konstrukte können lokal definiert oder in Paketmanagern wie npm, Maven, NuGet oder PyPI veröffentlicht und über mehrere Organisationen hinweg verteilt werden.

Zahlreiche gängige AWS-Services und -Funktionen werden von umfassenden, übergeordneten Konstrukten abgedeckt. Darüber hinaus werden untergeordnete CloudFormation-Ressourcen vollständig unterstützt, einschließlich neuer Ressourcen kurz nach der Verfügbarkeit. Wir halten die AWS Construct Library stets auf dem neuesten Stand. Jedes Mal, wenn sich die CloudFormation-Spezifikation ändert, werden automatisch APIs auf Ressourcenebene erzeugt. Zusätzlich zu diesen automatisch erzeugten APIs bieten wir manuell erstellte, übergeordnete Abstrahierungen, die Ihnen die Arbeit mit den einzelnen Services noch weiter erleichtern. Diese übergeordneten, praktischen Abstrahierungen sind noch nicht für jeden AWS-Service verfügbar. Jedoch fügen wir kontinuierlich neue Funktionen hinzu und konzentrieren uns dabei auf in modernen Cloud-Anwendungen häufig verwendete Services. In der AWS-Construct-Library-API-Referenz finden Sie weitere Informationen.

Wir stellen sicher, dass die AWS Construct Library und die CloudFormation-Ressourcenspezifikation stets auf demselben Stand sind. Dabei fügen wir neue CloudFormation-Funktionen kurz nach der Veröffentlichung zu AWS CDK hinzu.

AWS CDK-Konstruktbibliotheken sind wie jede andere Bibliothek. Sie werden über den Paketmanager der von Ihnen verwendeten Programmiersprache genutzt. Die stetige Aktualisierung dieser Bibliotheken ist Teil Ihres normalen Workflows. Alle Pakete unterstützen die semantische Versionierung, wodurch Sie bewusste Entscheidungen dahingehend treffen können, wann Sie auf neue Infrastrukturmodelle umsteigen.

CloudFormation und SAM

Sie können sich AWS CDK als entwicklerorientiertes Toolkit vorstellen, das sich das ganze Potenzial moderner Programmiersprachen zunutze macht, um Ihre AWS-Infrastruktur als Code zu definieren. Beim Ausführen werden AWS CDK-Anwendungen in vollständige JSON-/YAML-Vorlagen von CloudFormation kompiliert, die dann an den CloudFormation-Service zur Bereitstellung weitergeleitet werden. Da AWS CDK CloudFormation nutzt, profitieren Sie von allen CloudFormation-Vorteilen, z. B. sichere Bereitstellungen, automatische Rollbacks und Abweichungserkennung.

Sowohl AWS Serverless Application Model als auch AWS CDK abstrahieren AWS-Infrastruktur als Code, wodurch Sie Ihre Cloud-Infrastruktur einfacher definieren können. AWS SAM eignet insbesondere für Serverless-Anwendungsfälle sowie -Architekturen. Damit können Sie Ihre Infrastruktur in kompakten, deklarativen JSON-/YAML-Vorlagen definieren. AWS CDK bietet umfassende Unterstützung für sämtliche AWS-Services. Darüber hinaus können Sie Ihre Cloud-Infrastruktur in modernen Programmiersprachen wie TypeScript, Python, C# und Java definieren. AWS SAM und AWS CDK nutzen CloudFormation als Bereitstellungs-Engine für Ihre Infrastruktur-Stacks. Wenn Sie Ihre Serverless-Infrastruktur lieber in kompakten, deklarativen Vorlagen definieren möchten, ist SAM die bessere Lösung. Wenn Sie Ihre AWS-Infrastruktur in einer vertrauten Programmiersprache definieren möchten, empfehlen wir Ihnen AWS CDK. Unabhängig davon, für welche Lösung Sie sich entscheiden – Sie profitieren stets von wiederholbaren, sicheren Infrastrukturbereitstellungen über CloudFormation.

Ja, Sie können Ihre AWS CDK-Anwendung lokal in eine CloudFormation-Vorlage synthetisieren und anschließend die erzeugte AWS Lambda-Handler-ID in der SAM-CLI referenzieren. Weitere Informationen finden Sie im Abschnitt SAM CLI des CDK Developer Guide.

Kosten

AWS CDK wird über die Apache-Lizenz, Version 2.0 angeboten. Weitere Informationen dazu finden Sie unter LIZENZ und HINWEIS.

Für AWS CDK fallen keine zusätzlichen Gebühren an. Sie zahlen für im Rahmen von AWS CDK erstellte AWS-Ressourcen (z. B. Amazon-EC2-Instances oder Elastic Load Balancing Load Balancer) auf die gleiche Weise wie für manuell erstellte Ressourcen. Sie zahlen nur für die tatsächliche Nutzung. Es fallen keine Mindestgebühren oder Vorausleistungen an.