AWS CDK 入門: TypeScript で S3 スタックをデプロイする

CloudShell 標準搭載の AWS CDK で cdk init / bootstrap / deploy / destroy を一通り体験し、TypeScript で S3 バケットを Infrastructure as Code として構築します。

入門40Azure 実環境

ラボ概要

このラボでは、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) の入り口として最適なテーマです。

学習目標

  • AWS CDK と CloudFormation の関係(CDK がコードを CloudFormation テンプレートに「合成」する仕組み)を理解する
  • cdk init で TypeScript の CDK プロジェクトを作成できる
  • TypeScript のスタック定義に S3 バケット(暗号化・バージョニング・パブリックアクセスブロック)を記述できる
  • cdk synth で生成される CloudFormation テンプレートを確認できる
  • 合成したテンプレートを aws cloudformation deploy でデプロイし、コンソールで結果を確認できる
  • スタックを aws cloudformation delete-stack で削除できる

前提

  • federated console に cloud_user ロールでサインイン済みであること
  • すべての操作を アジアパシフィック (東京) ap-northeast-1 リージョンで行うこと
  • AWS CloudShell を使用します(CDK・Node.js・AWS CLI はプリインストール済みのため、ローカルへのインストールは不要)
  • プログラミングの専門知識は不要です。コマンドとコードはすべてコピー&ペーストで進められます
  • 基本的なターミナル操作(コマンドの実行)に抵抗がないこと
  • 所要時間の目安は約 60〜90 分です

ラボの構成

  1. 1リージョンを東京に設定する
  2. 2CloudShell を起動する
  3. 3作業ディレクトリを作成して CDK プロジェクトを初期化する
  4. 4スタックに S3 バケットを記述する
  5. 5TypeScript をビルドして合成(synth)する
  6. 6テンプレートをデプロイする
  7. 7コンソールで作成結果を確認する
  8. 8動作確認
  9. 9完了チェックリスト
  10. 10後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース

参考リンク

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

DVA-C02AWS Developer – Associate練習テスト 4 回・全 200DOP-C02AWS DevOps Engineer – Professional練習テスト 4 回・全 200SAA-C03AWS Solutions Architect – Associate練習テスト 4 回・全 200