1
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 CDKでAWSリソースを作成してみる。

Last updated at Posted at 2024-03-29

はじめに

naritomoと申します。

本職はインフラエンジニアを行っています。

I2Cでアプリエンジニアが使用されるというAWS CDKについて、最初の一歩としてプロジェクトファイル作成、リソース作成方法についてまとめてみました。

いろいろアドバイスいただけると嬉しいです。

概要

AWS CDKでインフラ構築するためのソース(空プロジェクト)

以下のページを参照し事前に必要な必要条件であるSWを入れてること。

AWS CDK Workshop

ソースデータ

ソース入手

以下のコマンドで入手する。

空のリソース

git clone https://github.com/naritomo08/cdk-workshop.git
cd cdk-workshop
rm -rf .git

Lambda/APIGatewayリソース

本ソースは以下の文句を返すAPIになります。

Hello, CDK! You've hit /

git clone -b hello https://github.com/naritomo08/cdk-workshop.git
cd cdk-workshop
rm -rf .git

Typescript

以下のコマンドで実施可能。

cd Typescript

新規プロジェクト作成(すでに作成している為必要ない。)
cdk init sample-app --language typescript

以下のファイルに各種作成したいソースコードを記載する
lib/typescript-stack.ts

CDK アプリケーションからテンプレートを合成
(AWS CloudFormation テンプレート確認)
cdk synth

環境のブートストラップ(初回構築時)
cdk bootstrap

ソースデプロイ
cdk deploy

ソースデプロイ(ホットスワップ、本番で使用しないこと。)
cdk deploy --hotswap

ソースを監視しながらの自動デプロイ実施
(cdk.jsonのexcludeから"**/*.js"を消すこと。)
cdk watch

現在の環境とのソース差分確認
cdk diff

作成したリソースの削除(別途必要に応じbootstrapしたときのStack,S3を削除すること。)
cdk destroy

動作確認(helloリソースブランチ)

curl 表示URL
"Hello, CDK! You've hit /"が返ってくること。

Python

以下のコマンドで実施可能。

cd python

新規プロジェクト作成(すでに作成している為必要ない。)
cdk init sample-app --language python

以下のファイルに各種作成したいソースコードを記載する
python/python_stack.py

CDK実行Python仮想環境実行
source .venv/bin/activate

必要なPythonモジュール導入(必要に応じ)
pip install -r requirements.txt

CDK アプリケーションからテンプレートを合成
(AWS CloudFormation テンプレート確認,必要に応じ)
cdk synth

環境のブートストラップ(初回構築時)
cdk bootstrap

ソースデプロイ
cdk deploy

ソースデプロイ(ホットスワップ、本番で使用しないこと。)
cdk deploy --hotswap

ソースを監視しながらの自動デプロイ実施
cdk watch

現在の環境とのソース差分確認
cdk diff

作成したリソースの削除(別途必要に応じbootstrapしたときのStack,S3を削除すること。)
cdk destroy

動作確認(helloリソースブランチ)

curl 表示URL
"Hello, CDK! You've hit /"が返ってくること。

.NET

以下のコマンドで実施可能。

cd Net

新規プロジェクト作成(すでに作成している為必要ない。)
cdk init sample-app --language csharp

以下のファイルに各種作成したいソースコードを記載する
src/Net/NetStack.cs

CDK アプリケーションからテンプレートを合成
(AWS CloudFormation テンプレート確認)
cdk synth

環境のブートストラップ(初回構築時)
cdk bootstrap

ソースデプロイ
cdk deploy

現在の環境とのソース差分確認
cdk diff

作成したリソースの削除(別途必要に応じbootstrapしたときのStack,S3を削除すること。)
cdk destroy

動作確認(helloリソースブランチ)

curl 表示URL
"Hello, CDK! You've hit /"が返ってくること。

Java

以下のコマンドで実施可能。

cd Java

新規プロジェクト作成(すでに作成している為必要ない。)
cdk init sample-app --language java

以下のファイルに各種作成したいソースコードを記載する
src/main/java/com/myorg/JavaStack.java

必要に応じ、mvnコマンドを使用するためのSW導入
brew install maven

mvnパッケージ導入(必要に応じ)
mvn package

CDK アプリケーションからテンプレートを合成
(AWS CloudFormation テンプレート確認)
cdk synth

環境のブートストラップ(初回構築時)
cdk bootstrap

ソースデプロイ
cdk deploy

ソースデプロイ(ホットスワップ、本番で使用しないこと。)
cdk deploy --hotswap

ソースを監視しながらの自動デプロイ実施
cdk watch

ソースデプロイ(ホットスワップ、本番で使用しないこと。)
cdk deploy --hotswap

ソースを監視しながらの自動デプロイ実施
cdk watch

現在の環境とのソース差分確認
cdk diff

作成したリソースの削除(別途必要に応じbootstrapしたときのStack,S3を削除すること。)
cdk destroy

動作確認(helloリソースブランチ)

curl 表示URL
"Hello, CDK! You've hit /"が返ってくること。

Go

以下のコマンドで実施可能。

cd gosource

新規プロジェクト作成(すでに作成している為必要ない。)
cdk init sample-app --language go

以下のファイルに各種作成したいソースコードを記載する
gosource.go

モジュール入手
go get gosource

CDK アプリケーションからテンプレートを合成
(AWS CloudFormation テンプレート確認)
cdk synth

環境のブートストラップ(初回構築時)
cdk bootstrap

ソースデプロイ
cdk deploy

ソースデプロイ(ホットスワップ、本番で使用しないこと。)
cdk deploy --hotswap

ソースを監視しながらの自動デプロイ実施
cdk watch

現在の環境とのソース差分確認
cdk diff

作成したリソースの削除(別途必要に応じbootstrapしたときのStack,S3を削除すること。)
cdk destroy

動作確認(helloリソースブランチ)

curl 表示URL
"Hello, CDK! You've hit /"が返ってくること。

おわりに

この記事がAWS CDKを扱う方の助けになればと思います。

1
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
1
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?