AWS CDKとは?CDKの概要や手順などをわかりやすく紹介!


AWS CDKとは?
AWS CDKは、プログラミング言語でクラウドのインフラを定義できるフレームワークです。 クラウドのインフラをテキストで定義できるサービスとしては、AWS CloudFormationがありますが、これと少し似ています。
AWS CloudFormationではJSONやYAMLといったテキストファイルでリソースを定義していましたが、AWS CDKではプログラムコードで同様のことができるものとも言えます。
ということは、使い慣れた開発環境でAWS CloudFormationと似たようにインフラをコードで定義できたり、アプリケーションとインフラをまとめて管理できたりといったメリットがあります。
さらにテキストファイルではなくプログラムコードなので、状況に応じて動的にパラメータを変えてAWSにシステムを立ち上げるといったことも可能です。
AWS CDKの特徴
AWS CDKには、AWS Cloudformationとの連携、多様なプログラミング言語対応、CLI、IDEとの連携といった特徴があります。
AWS CloudFormationとの連携 プログラムコードでAWSリソースを定義し、AWS CloudFormation を通じてサービスを利用できます。同じシステムを簡単に再現できたり、スタックの動作状況のモニタなど、CloudFormationと同様の利点があります。
多様なプログラミング言語対応 AWS CDK は、TypeScript、Python、Java、.NETに対応します。
これらの言語に対応した既存のIDEやテストツールといった開発環境をそのまま利用して開発できます。 CLIとの連携 AWS CDKにはCLI(コマンドラインインタフェース)があります。コマンドラインから、テンプレートの合成や実行中のスタックとの違いの表示など、様々な操作ができます。
IDEとの連携 AWS Toolkit for Visual Studio Codeというツールの機能として、AWS CDK Explorerがあります。これはVisual Studio Codeに統合されたツールで、IDEからAWS CDKの操作、モニタが可能となります。
CDK Workshopとは
CDK Workshopとは、AWS CDKの公式チュートリアルサイトであり、実際に手を動かしてCDKを使ってみるための資料が揃っています。 CDKは、JavaScript, TypeScript, Python, Java, .NETをサポートしています。このCDK Workshopで説明があるのはTypeScriptとPythonです。
環境構築
以下、Workshopの手順にそって、AWS CDKでAWSリソースを起動するための大まかな流れとコード例を示します。言語はここではTypescriptで進めます。まずは、環境構築について触れます。 環境構築 まず環境構築として以下の準備が必要です。すでにインストールされているツールがあれば飛ばして問題ありません。 ・AWSアカウントとユーザー ・AWS CLI ・Node.js ・IDE ・AWS CDK Toolkit ・Python AWS CDK Toolkitのインストールは、以下のコマンドでできます。
npm install -g aws-cdk
Workshop手順
Workshopは以下のセクションで構成されます。 ・New Project ・Hello, CDK! ・Writing constructs ・Using construct libraries ・Clean up New Project(新規プロジェクト作成) lib/cdk-workshop-stack.tsが主要コード部分になります。使うリソースがここに記述されます。 そして、CDK CLIから以下のコマンドを叩くことで、CloudFormationのテンプレートが生成されます。
$cdk synth
CDKのリソース格納用のバケットをS3に作成します。
$cdk bootstrap
リソース作成は、CDKコマンドラインから以下のコマンドでできます。
$cdk deploy
処理が始まり、途中で確認のためのメッセージが出力されます。これにyと回答すると、S3バケットにリソースが作成されます。起動後は、CloudFormationのWebコンソールからもスタックのステータスが確認できます。 ここまでが、いちばん基本的なCDK手順です。 Hello,CDK! ここでは、サンプルリソースの削除を試します。 元々の基本サンプルにはSNSとSQSのリソースを含めた定義が入っていますが、これらのリソースの削除を試します。 ソースファイルから、SNSとSQSリソースのコードを削除します。その上で、以下のコマンドで、ソースコードと、実際に動作しているリソースの違いを事前に確認します。
$cdk diff
先ほどデプロイした時にはSNSとSQSが入っていて、現在のソースコードには存在しないはずなので、SNSとSQSの部分が差分として表示されるはずです。 確認できれば、再度cdk deployを実行すると、SNSとSQSが削除されます。 Writing Constructs これはAWS Lambdaを用いた、簡単なカウンターアプリのサンプルです。 Clean up(リソースの削除) AWS CDKリソースを、以下のコマンドで全て削除できます。 もちろん、AWS CloudFormationコンソールでスタックを削除しても構いません。
$cdk destroy
実行後、AWSのコンソールで、これらのリソースが削除されていることが確認できます。
AWS CDK料金
CloudFormationと同様、AWS CDKについては追加料金は発生しません。ただし、Amazon EC2 インスタンス、データベースなどのAWSリソースをCDKで起動した場合には、手動で作成した場合と同様に料金が発生します。最低料金が発生しない点も同じです。
AWS CDKでインフラ管理してみよう
AWS CDKについてまとめました。
AWS CDKは、プログラミング言語でクラウドのインフラを定義できるフレームワークです。AWS CloudFormationと似ていますが、CloudFormationとは異なり、テキストファイルベースではなくプログラミング言語でAWS CloudFormationのテンプレートを生成するサービスと言えます。 インフラをコードで管理できるので、アプリケーションとインフラをまとめて管理できたり、動的にパラメータを設定してシステムを立ち上げるといった応用が考えられます。
さらに、AWS CDKでは多くのプログラミング言語(TypeScript、Python、Java、.NET )対応、コマンドラインインタフェース、IDEとの連携といった特徴があります。多くの言語に対応しているので、慣れた言語と開発環境を利用して開発できます。
また、AWS CDKそのものの利用については、CloudFormationと同様に費用がかかりません。 本記事では、さらにAWSの公式チュートリアルであるAWS CDK Workshopに沿って概要を説明しました。
さらに、CDKのコマンドラインからサンプルのCloudFormationスタックの作成、実行中スタックとの差分チェック、デプロイとスタックの削除といった一通りの流れについて触れました。 AWS CDKを利用することで、アプリケーションコードと同様にインフラがコードベースで管理できます。
AWSインフラを使い慣れた開発環境で管理できますし、テストシステムやバージョン管理システムでテストやバージョン管理することもできます。様々なメリットがありますのでAWS CDKを活用していくと良いでしょう。]]>
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。