AWS Cloud Development Kit(AWS CDK)は、コードのクラウドインフラストラクチャを定義し、AWS CloudFormationを通じて提供するオープンソースソフトウェア開発フレームワークです。
最新のプログラミング言語の力を使用して、AWSリソースを命令するAWSリソースを定義するための高レベルのオブジェクト指向の抽象化を提供します。 CDKのインフラストラクチャコンストラクトのライブラリを使用すると、インフラストラクチャ定義のAWSベストプラクティスを簡単にカプセル化し、ボイラープレートロジックを心配することなく共有できます。
CDKは次の言語で利用できます。
JavaScript、TypeScript(node.js≥14.15.0)
アクティブLTSでバージョンを使用することをお勧めします
Python(Python≥3.8)
Java(Java≥8およびMaven≥3.5.4)
.net(.net≥6.0)
GO(GO≥1.16.4)
サードパーティの言語違反:言語バージョンは、ベンダーまたはコミュニティが共有するEOL(終末期)までのみサポートされ、事前の通知で変更される場合があります。
ジャンプ:開発者ガイド| APIリファレンス|開始|助けを得る|寄稿| RFCS |ロードマップ|より多くのリソース
開発者は、サポートされているプログラミング言語の1つでCDKフレームワークを使用して、「CDKアプリ」を形成するスタックに組み立てられたコンストラクトと呼ばれる再利用可能なクラウドコンポーネントを定義します。
次に、AWS CDK CLIを使用してCDKアプリと対話します。 CLIを使用すると、開発者はAWSクラウドフォーム化テンプレートなどのアーティファクトを合成し、スタックを開発AWSアカウントに展開し、展開されたスタックに対して「DIFF」を展開して、コード変更の影響を理解します。
AWSコンストラクトライブラリには、AWSの使用方法の詳細をカプセル化するリッチAPIを提供するコンストラクトを備えた各AWSサービスのモジュールが含まれています。 AWS Construction Libraryは、AWSで目標を達成するためにさまざまなAWSサービスを統合する際に必要な複雑さを減らすことを目的としています。
AWSコンストラクトライブラリのモジュールは、それらを構築する際に実験的に指定されています。実験モジュールは、あらゆるリリースでAPIの変更を破る可能性があります。 モジュールが安定していると指定された後、セマンティックバージョンに準拠し、主要なリリースのみが壊れた変更を受ける可能性があります。各モジュールの安定性指定は、AWS CDK APIリファレンスの概要ページで入手できます。詳細については、CDK開発者ガイドのバージョン化を参照してください。
詳細なウォークスルーについては、AWS CDK開発者ガイドのチュートリアルを参照してください。
NPMからAWS CDK CLIをインストールまたは更新します(node.js≥14.15.0が必要です)。アクティブLTSでバージョンを使用することをお勧めします
npm i -g aws -cdk
(署名された.zipファイルからCDKをインストールするための手動インストールを参照してください)。
プロジェクトの初期化:
mkdir hello-cdkcd hello-cdk cdk init sample-app - language = typescript
これにより、次のように見えるサンプルプロジェクトが作成されます。
export class hellocdkstackはcdk.stackを拡張します{
コンストラクター(範囲:cdk.app、id:string、props?:cdk.stackprops){super(scope、id、props); const queue = new sqs.queue(this、 'hellocdkqueue'、{visibilitytimeout:cdk.duration。秒(300)}); const topic = new sns.topic(this、 'hellocdktopic'); topic.addsubscription(new subs.sqssubscription(queue));
}}これをアカウントに展開します。
CDKデプロイ
cdkコマンドラインツールキットを使用して、プロジェクトと対話します。
cdk deploy :アプリをAWSアカウントに展開する
cdk synth :アプリのAWS CloudFormationテンプレートを合成します
cdk diff :アプリを展開したスタックと比較します
私たちのチームと対話する最良の方法は、Githubを通してです。問題を開き、バグレポート、機能リクエスト、ドキュメントの問題、またはガイダンスのテンプレートの1つから選択できます。
AWSサポートを備えたサポートプランがある場合は、新しいサポートケースを作成することもできます。
また、これらのコミュニティリソースについてヘルプを見つけることができます。
APIリファレンスまたは開発者ガイドをご覧ください
cdk.devの#aws-cdkスラックチャネル
スタックオーバーフローについて質問し、 aws-cdkでタグを付けてください
AWS CDKロードマップにより、開発者は今後の機能と優先順位を知らせ、CDKを最適に活用し、プロジェクトに貢献する機会を特定する方法を計画するのに役立ちます。詳細とFAQについては、roadmap.mdを参照してください。
コミュニティの貢献とリクエストを歓迎します。開発環境を設定してコードを送信する方法については、converting.mdを参照してください。
このソリューションは、AWSがCDKの品質と機能を改善するのに役立つ匿名の運用指標を収集します。この機能を無効にする方法などの詳細については、開発者ガイドをご覧ください。
CDKワークショップ
ハブを構築する - オープンソースクラウド開発キット(CDK)ライブラリを見つけて使用する
ベストプラクティス
AWS CDKを使用してクラウドアプリケーションを開発するためのベストプラクティス
CDKアスペクトを使用してインフラストラクチャを作成する際にベストプラクティスと一致する
Pythonアプリケーションに推奨AWS CDKプロジェクト構造
コンストラクトハブ上のコンストラクトライブラリの発見可能性のためのベストプラクティス
AWS CDKに関するすべての開発者ブログ投稿
CDK Construction Zone -CDKチームがホストするTwitchライブコーディングシリーズ、シーズン1エピソード:
S1E1:トリガー(パート1);参加者: @netanir、 @eladb、@richardhboyd
S1E2:トリガー(パート2);参加者: @netanir、 @eladb、@iliapolo
S1E3:トリガー(パート3);参加者: @netanir、 @eladb、@iliapolo、@romainmuller
トリガー:展開時間アクションを構成するための構成要素であるトリガーを実装するときに参加してください。エピソード1-3:
S1E4:トークンディープダイブ。参加者: @netanir、 @rix0rrr、@iliapolo、@romainmuller
S1E5:Assets Deep Dive;参加者: @netanir、 @eladb、 @jogold
S1E6:ベストプラクティス。参加者: @skinny85、 @eladb、 @rix0rrr、 @alexpulver
S1E7:CDKチームのヒントとトリック。参加者:すべてのCDKチーム!
例
Changelog
知らせ
ライセンス