AWS

AWS CDKでS3バケットを作成し、cdk synthまで実行する手順

AWS CDK(TypeScript)を使って
S3バケットをコードで定義し、cdk synth でCloudFormationテンプレートを確認するまでをまとめます。

※ CDKのインストールや cdk init 済みであることを前提とします。


① S3バケットを追加する

lib/cdk-practice-stack.ts を編集します。

このファイルがリソースを定義するファイルです。

編集前の画面はこんな感じ。

ここに

import * as s3 from 'aws-cdk-lib/aws-s3';

とconstructorの中に以下を追記します。

new s3.Bucket(this, 'MyFirstBucket', {
versioned: true,
removalPolicy: cdk.RemovalPolicy.DESTROY,
autoDeleteObjects: true,
});

なお、上記は練習用の設定で、本番環境では以下のケースが大半です。

誤ってデータが消えるのを防止するためです。

versioned: true
removalPolicy: cdk.RemovalPolicy.RETAIN
autoDeleteObjects: false

編集後のファイルはこんな感じ


② CloudFormationテンプレートを生成する

cdk synth

すると、以下のような出力が表示されます。

ここで確認できることは、

  • S3バケットがCloudFormation形式に変換されている
  • 論理ID(MyFirstBucketB8884501)が自動生成されている
  • まだAWS上には何も作られていない

cdk synth の意味

cdk synth は

CDKコードをCloudFormationテンプレートに変換するコマンド

処理の流れは以下です。

TypeScript

CDK

CloudFormationテンプレート

CDKはインフラを直接作るのではなく、CloudFormationを生成しているツールとなります。

次は実際にS3バケットをデプロイしてみます。

-AWS
-,