CloudShell 標準搭載の AWS CDK で cdk init / bootstrap / deploy / destroy を一通り体験し、TypeScript で S3 バケットを Infrastructure as Code として構築します。
このラボでは、AWS CDK (Cloud Development Kit) を使って、クラウドリソースを「コード」として定義し、CloudFormation テンプレートに合成(synth)してデプロイする一連の流れを体験します。AWS CloudShell に標準搭載された CDK と Node.js を使うため、ローカル環境の準備は不要です。
TypeScript で cdk init プロジェクトを作成し、Amazon S3 バケット(暗号化・バージョニング・パブリックアクセスブロックを有効化)を 1 つ定義します。そのコードを cdk synth で CloudFormation テンプレート(JSON)に変換して中身を確認し、生成されたテンプレートを AWS CLI の aws cloudformation deploy で東京リージョンへデプロイします。最後にスタックを削除する手順まで一通り学びます。
このラボは、サンドボックス環境で確実に最後まで完遂できるよう、cdk bootstrap を使わない構成にしています。cdk bootstrap は管理者相当の IAM ロールや ECR リポジトリを新規作成するため、権限が制限されたサンドボックスでは失敗しがちです。本ラボでは、CDK が合成したテンプレートをあなた自身の権限でそのままデプロイすることで、IaC の本質(コード → テンプレート → 実リソース)を安全に体験します。
CDK は CloudFormation を直接 YAML/JSON で書くよりも、プログラミング言語の補完・型チェック・再利用性を活かしてインフラを記述できる点が特徴です。Infrastructure as Code (IaC) の入り口として最適なテーマです。
cdk init で TypeScript の CDK プロジェクトを作成できるcdk synth で生成される CloudFormation テンプレートを確認できるaws cloudformation deploy でデプロイし、コンソールで結果を確認できるaws cloudformation delete-stack で削除できる