aws CDK

● mac へ aws-cdk のインストール

・1. aws cli コマンドのインストールまた更新

https://awscli.amazonaws.com/AWSCLIV2.pkg

・2. aws cli コマンドの確認

バージョン確認
which aws
aws --version

例えば以下のように返ってきます

/usr/local/bin/aws
aws-cli/2.11.21 Python/3.11.3 Darwin/22.3.0 exe/x86_64 prompt/off

・3. aws cdk コマンドのインストール

npm install -g aws-cdk

・4. aws cdk コマンドの確認

バージョン確認
cdk --version

例えば以下のように返ってきます

2.80.0 (build bbdb16a)

● aws-cdk を init する

言語: typescript で initします

mkdir my-first-infra && cd my-first-infra
cdk init --language typescript

● cdk コマンド

・CDK App のリスト表示

cdk ls

● cdk に S3を追加する

・1. S3 の追加

lib/my-first-infra-stack.ts

以下の内容に修正します

import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as s3 from 'aws-cdk-lib/aws-s3';

export class MyFirstInfraStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // S3 を追加する
    const bucket = new s3.Bucket(this, 'CreateBucket', {
      bucketName: "test-bucket-2023-05-24",
      versioned: true
    });
  }
}

・2. シンセサイズ

npm run build
cdk synth

・3. cdk bootstrap の実行

最初に1度必要です

cdk bootstrap aws://<12桁のアカウント番号>/<リージョン名>

✅ Environment aws://<12桁のアカウント番号>/<リージョン名> bootstrapped.
と出ればokです。

・4. デプロイ

npm run build
cdk deploy

・5. 追加されたことを確認する

aws s3 ls

・5. CloudFormation から スタックを 削除

cdk destroy

削除すると CloudFormation から対象のスタックを削除します。 なお、S3 バケットなどは残ります。

AWS CloudFormationスタック強制削除ツール - 365歩のテック

・6. CloudFormation から スタックを 削除時に 空のS3 バケットを削除する設定

lib/my-first-infra-stack.tsremovalPolicy: RemovalPolicy.DESTROY を追加します。

import * as cdk from 'aws-cdk-lib';
import {RemovalPolicy} from 'aws-cdk-lib';
import {Construct} from 'constructs';
import * as s3 from 'aws-cdk-lib/aws-s3';

export class MyFirstInfraStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // S3 を追加する
    new s3.Bucket(this, 'my-second-bucket', {
      versioned: true,
      removalPolicy: RemovalPolicy.DESTROY,
  });
  }
}
No.2352
05/24 14:53

edit