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

AIとAWS CDKの親和性 ― AIを活用しIaCを学び、AWSを理解する

Posted at

1. はじめに

クラウドインフラをコードで管理する「IaC(Infrastructure as Code)」は、
今や開発者にとって避けて通れない領域になりました。
その中でも AWS CDK(Cloud Development Kit) は、TypeScriptやPythonなどの一般的な言語でAWSリソースを定義できる強力なツールです。

しかし、CDKを初めて触ると、こう感じる人も多いのではないでしょうか。

「VPCやサブネット、セキュリティグループの構成が複雑すぎる」
「ドキュメントを読んでもどのプロパティを使えばいいかわからない」
「CloudFormationエラーの原因が理解できない」
「そもそもAWSのサービスを深くは理解できてない」

私もまさにこの状態からスタートしました。
ところが、この“理解の壁”を乗り越える大きな助けになったのが、AIとの協働 でした。

Cursor、Claude Code、GitHub CopilotなどのAIを活用することで、
CDKのコード構造を読み解きながら「AWS上で何を構築しようとしているのか」をAIが理解し、
設計の提案、構文修正、リファクタリング支援を行ってくれるのです。

この記事では、私がAIとともにCDKを使ってVPC・EC2・Aurora環境を構築した体験をもとに、
AIとCDKがどれほど親和性の高い組み合わせかを紹介します。


2. AWS CDKの概要と課題

AWS CDKは、AWSのリソースをプログラミング言語で記述し、
最終的にCloudFormationスタックとしてデプロイする仕組みを持っています。

つまり、EC2やVPCを“クリック操作”で構築するのではなく、次のようなTypeScriptコードで定義します。

const vpc = new ec2.Vpc(this, 'MyVpc', { maxAzs: 2 });

この一行が、マネジメントコンソールで数十クリックする操作に相当します。
コード化することで、再現性・変更追跡・チーム共有 が格段に向上します。

しかし初学者にとって、CDKには次のようなハードルがあります。

  • AWSサービス構造(VPC、SG、サブネットなど)の理解が前提
  • 型定義が膨大で、どのプロパティを使えばいいか掴みにくい
  • CloudFormationの制約を理解していないとエラーが難解

つまり、「プログラミング × インフラ設計 × AWS仕様」 の三重理解が求められるのです。


3. AIを活用したCDK開発体験

3.1 AIにCDKプロジェクトを読み込ませる

私はまず、CursorやClaude CodeなどのAIエディタに自分が想定していたAWSの構成とCDKプロジェクトを読み込ませました。
AIは私の考えを元に構成を考え、TypeScriptで記述してくれます。
また、TypeScriptの構造を解析し、どのスタックがどのリソースを定義しているのかを即座に把握してくれます。

するとAIはこう提案してくれました。

「このVPC定義にはNAT Gatewayが1つだけですが、コスト最適化のためにnatGateways: 0 + VPCエンドポイント構成も検討できます。」
「Auroraの削除保護がONのままだと再デプロイ時に失敗します。RemovalPolicyをSNAPSHOTに変更しましょう。」

このように、AIがインフラ設計レベルでレビューを行ってくれるのです。
単なる補完ではなく、「AWSの設計意図を理解して提案してくる」ことに驚きました。


3.2 会話しながら理解を深める

AIとのやりとりの中で、私は次第に「AWS構成の意味」を自然と学んでいきました。

たとえば私が尋ねたのはこんな質問です。

「EC2にElastic IPをつける場合、VPCの設定で注意することは?」
「Auroraの削除保護をONにしたままスタック更新する方法は?」

するとAIはコード例を提示しながら、その背後にあるAWSの仕様やベストプラクティスを解説してくれます。
AIはドキュメント以上に「文脈に沿った説明」を返してくれるため、調べ物の効率が飛躍的に上がりました。

結果として、AIを“質問相手”として使うことで、
AWSの理解とCDKの構文理解を同時に進めることができたのです。


4. AIとの共同開発フロー

AIとCDKを組み合わせた開発は、次のようなサイクルで進めるのが効果的でした。

  1. 目的を明確に伝える
    • 例:「VPC+EC2+Auroraを構築したい。コストは最小限にしたい。」
  2. AIにコードを生成させる/レビューさせる
    • AIがlib/以下のStackコードを提案、構成図もMermaidで可視化
  3. 手元でnpm run buildcdk diffで確認
    • 差分を見ながらAIに質問:「この差分は何を意味してる?」
  4. トラブル発生時はAIと原因究明
    • ROLLBACK_IN_PROGRESSParameterNotFound をAIに解析させる
  5. 成功したら理解を言語化する
    • 「今回VPCのNAT構成がどう作用したか」を自分の言葉でまとめる

このサイクルを回すことで、
「AIが設計・私が理解・AWSが構築」という理想的な分業が実現します。


5. AIとCDKがもたらす新しい学び

AIを活用したCDK構築で最も大きかったのは、理解の深まりです。

AIに質問し、AIがコードで答え、それを実際にデプロイして検証する。
このループを繰り返すことで、ドキュメントを読むよりも遥かに早く「AWSの構造的理解」に到達できました。

特に感じたのは次の3点です。

  1. AIは“答え”より“考え方”を教えてくれる
    → どうしてその設計を選ぶのかを説明してくれる。
  2. エラーを学びに変えられる
    → CloudFormationの失敗理由を分解して説明してくれる。
  3. 学びながら構築できる
    → 理解が進むほど、より高度な構成(ALB・CloudFrontなど)に自然と挑戦できる。

AIは、単なる自動化ツールではなく、
“インフラを共に設計するメンター” として機能するのだと実感しました。


6. まとめ ― AIはCDK学習の最良の相棒

AWS CDKは強力なツールですが、学習コストが高く、最初は難しく感じます。
しかしAIを活用することで、そのハードルを大きく下げることができます。

AIにCDKのソースコードを読ませ、環境構築の意図を理解させることで、
提案・修正・最適化がすぐに行えます。
不明点を壁打ちし続けながら構築を進めるうちに、
いつの間にかAWSの仕組みやIaCの設計思想まで理解できるようになっていました。

AIとCDKの組み合わせは、「構築しながら学ぶ」ための最強の環境です。
これからCDKを始める方には、ぜひAIを相棒にしてほしいと思います。

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