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 CDK v1 vs v2 比べてみました 🧱

Last updated at Posted at 2025-04-24

はじめに

本記事は、AWSインフラ構築のマジックツール「CDK(Cloud Development Kit)」の v1v2 の違い についてサクッと知りたい方に読んでもらえればと思います!

目次

  1. CDKってそもそも?
  2. CDK v1とv2の違いを比較
  3. なぜv2が生まれたのか?背景と設計思想
  4. 今から始めるならどっち?
  5. v1からv2への移行ステップ
  6. まとめ
  7. 参考文献

🧐 CDKってそもそも?

CDK(Cloud Development Kit)は、AWSのリソースをプログラミング言語で定義できるツール。
裏側では CloudFormation が動いていますが、開発者目線では AWSのIaCを爆速で組める魔法のフレームワーク です。

🆚 CDK v1とv2の違いを比較

比較ポイント CDK v1 CDK v2
リリース時期 2019年 2021年末
パッケージ構成 リソースごとに分割(例:@aws-cdk/aws-s3) すべて統合(aws-cdk-lib)
初期セットアップの複雑さ 高い(依存管理が面倒) 低い(aws-cdk-lib一発)
バージョニング モジュールごとにズレることがある 一括管理でバージョンが統一される
サポート状況 2023年以降はメンテナンスモード アクティブ開発中
新機能の提供 なし(v1には今後追加されない) 新機能・アップデートはv2中心

📢 v2は「すべてを統合してシンプルに」した設計で、開発者のUXを爆上げしています!

🧬 なぜv2が生まれたのか?背景と設計思想

v1では、例えばS3を使いたいだけでも下記のようなパッケージ地獄が発生していました..

npm install @aws-cdk/core @aws-cdk/aws-s3 @aws-cdk/aws-iam ...この構成、依存関係がバラバラになりやすく、CDKのバージョンが微妙にズレてバグの温床に…。

💡 v2では 「全部まとめて aws-cdk-lib にしようぜ!」 という英断が下され、シンプルかつ安全な開発が可能になったとのこと。

🔍 今から始めるならどっち?

普通に v2 一択です。

✅ v2を選ぶべき理由

  • ドキュメント・サンプルコードがすでに v2 前提
  • 最新サービスや機能は v2 にしか追加されない
  • npm/yarn の依存地獄からの解放
  • 長期的な保守を考えると圧倒的に安心

🏷️ v1 はもう積極的には使わないほうがよい(新規プロジェクトでの利用は非推奨)

🔁 v1からv2への移行ステップ

Step 1:依存を整理

npm uninstall @aws-cdk/core @aws-cdk/aws-s3 ...
npm install aws-cdk-lib constructs

Step 2:インポート文を修正

v1
import * as s3 from '@aws-cdk/aws-s3';
v2
import * as s3 from 'aws-cdk-lib/aws-s3';

Step 3:cdk.json の context を見直す(v1特有の設定があれば削除)

Step 4:cdk synth & cdk deploy で動作確認!

🎉 まとめ

CDKを使うなら今後はv2一択:v2未来のCDK
v1 ⇨ v2移行も手軽にできる。

💫 参考文献

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?