0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】AWS CDK入門!~作成・デプロイ編~

Posted at

はじめに

本ブログはCDK開発の環境構築までが完了している前提で、実際にCDKコーディングを行い、デプロイするところまでの手順を紹介しております。
開発環境構築がまだの方は、以下のブログを参考に構築を実施していただければと思います。

この記事でわかる・できること

  • CDKアプリケーションの作成の仕方
  • 作成したコードのデプロイの仕方

この記事の対象者

  • CDK開発の環境構築が完了しCDKコーディングを始めたい方
  • CDKのデプロイ方法を知りたい方

動作環境・使用するツールや言語

  • OS:Windows11
  • ツール:VSCode
  • 言語:TypeScript

事前準備

  • AWSアカウントが作成されていること
  • CDK開発環境の構築が完了していること
    (詳しくはこちらをご参照ください。)

手順の流れ

1. 空のCDKアプリケーション作成

まずは空のディレクトリを作成し、そのディレクトリに移動します。

以降はhogeという名前のディレクトリで作業をした例となります。
適宜読み替えていただけますと幸いです。

$ mkdir hoge && cd hoge

次に以下のコマンドを実行します。

$ cdk init --language=typescript

これで空のCDKアプリケーションが作成されます。以下のフォルダ構成が自動生成されることが確認できます。

hoge/
├─ bin/
│ └─ hoge.ts
├─ lib/
│ └─ hoge-stack.ts
├─ node_modules
├─ test/
│ └─ hoge.test.ts
├─ .gitignore
├─ .npmignore
├─ cdk.json
├─ jest.config.js
├─ package-lock.json
├─ package.json
├─ README.md
└─ tsconfig.json

2. CDKコーディング

では実際に作成されたファイルでCDKコーディングを行ってみましょう。
以下のサンプルはS3バケットを一つ作成するコードとなっています。

lib/hoge-stack.ts
import * as cdk from 'aws-cdk-lib/core';
import { Construct } from 'constructs';
import * as s3 from 'aws-cdk-lib/aws-s3'; // ←ここで利用するパッケージをインポート

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

    // ↓以下に作成したいS3バケットを定義
    // Bucket名と削除保護の無効化のみ設定
    const myBucket = new s3.Bucket(this, "MyBucket", {
      bucketName: "qiita-hoge-bucket",
      removalPolicy: cdk.RemovalPolicy.DESTROY,
    });
    
  }
}

3. テンプレートの作成

以下のコマンドを実行し、CDKコードからCloudFormationのテンプレートを生成します。

$ cdk synth

生成されるテンプレートは以下のフォルダに格納されます。

hoge/
├─ cdk.out/
│ ├─ HogeStack.template.json

このように、CloudFormationのテンプレートとして実際にAWS環境にどんなリソースが構築されるかを確認することができます。

4. デプロイ

いよいよデプロイです。以下のコマンドを実行し、CDKをデプロイします。

$ cdk deploy

image.png
30秒ほどでデプロイが完了します。
実際にAWSコンソール画面からも確認してみましょう。
image.png
image.png
意図したリソース(S3バケット)がデプロイされていることが確認できました!

5. 削除(おまけ)

コンソールからStackを削除するだけで簡単に削除できますが、念のためCLIでの削除コマンドを紹介しておきます。

$ cdk destroy

まとめ

いかがだったでしょうか。本ブログを通じてCDKは簡単に作成、デプロイできるという感覚を味わっていただけていると嬉しいです。
今後はCDKコードの中身の紹介なども行う予定ですので、もっとCDKに詳しくなりたい方は引き続き私と一緒に学習を進めていただけますと幸いです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?