IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > AWS CDKとは?CDKの概要や手順などをわかりやすく紹介!

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

IT・技術関連 更新日:2024.09.05
エンジニア採用
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を活用していくと良いでしょう。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア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月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ