cdkでAWSをビルドしよう
Date2026/08/07 Last Modified2026/09/11
概要
これまでAWSのインスタンスを立てるとなったら全部手動でやっていた。
VPCを立てて、ロードバランサー繋いで、ALBで振り分けて……。
これはこれで勉強になったのだが、「原始的すぎる」という声を受けたのでコマンド一つでビルドできる方法を調べてみた。
AWS CDKとは
原始的な世界が今までだとしたら、この設定の一覧をファイル管理にしたのがCloudFormationである。
CloudFormationでは、YAML形式でテンプレートを書いて渡せば、それだけでプロビジョニングしてくれるというのが素晴らしいところ。
しかし、YAMLを自分で組むのは大変……コードで書けるようにしたい!ということでAWS CDKというサービスが生まれた。
全体像を描くとこんな感じ
アカウント管理
CDKを実行するにあたり、通常の個人アカウントでも良いがリスクを下げるにはCDK専用のIAMロール/ユーザーを作成すると良い。
コマンド一つでデプロイが進んでいくので、リスク管理は大事。
- 操作可能なリソースの制限
- 既存インスタンスへの操作権限を付与しない
気になること
-
実行したら勝手に全部プロビジョニングされてしまうのか?
まずはsynthでCloudFormation設計図(JSON/YAML)に起こすことができるので、段階がある。 -
間違えて立ててしまったら全部手動で消す?
設定次第でコマンドで完全に消すことができる。 -
エラーの場合どういう動きになる?(インスタンス数の上限とか)
失敗時は自動ロールバックされるが、Stack単位であり、全AWSリソースが完全に元に戻るとは限らないらしい。
追記(2026.09.11)
AIの進歩により「こういう構成にしたい」という指示を出したらyamlテンプレートが出力されるようになってきた。(というか以前からそうだったかも)
既存のアーキテクチャがあったら、それをAmazon Qに頼んでyamlに起こしてもらえれば良いし、仮にまっさらな状態でもChatGPTに頼めば出してくれる。
細かい修正も簡単にできるようになっているので、cdkを使う必要性が今のところ、あんまり見えていないかもしれない。
ともかくCloudFormationは非常に有用なので、知ってからは重宝している。