クラウド実行環境

AWS CDKとは|1つ変えたときの対象は中央値8個、99%点では228個だった

書いた量と作られる量はどう違うのか1つ変えると何個に及ぶのか差分を見る必要はあるのか

資源240個の構成で、1つを変えたときの対象は中央値8個でした。

ところが99%点では228個、全体の95.0%です。書いた1行からは、この差が見えません。

この記事の要点

  • 20行が240個
  • 波及の中央値8個
  • 99%点は228個
  • 公式も500行超と記載

書いた行数と、作られる資源の数が一致しない

まとまった部品を1つ書くと、その中身が展開されます。書いた量からは数が読めません。

AWS CDKの位置づけは、公式の1文にあります。AWS CDKは、雲の基盤をコードで定め、CloudFormationを通じて用意するための、公開された開発の枠組みであるという記述です。

「コードで定める」ので、まとまりを1つ書けば中身がついてきます。どれだけ増えるかを数えました。

書き方の水準を変える

text
書いた行数 20行。1行が何個の資源になるかで比べる

書き方                    作られる資源  1行あたり  定義の行数(1資源10行として)
生の資源を1つずつ書く                        20個        1.0個                          200行
低い水準の部品を使う                         60個        3.0個                          600行
高い水準の部品を使う                        240個       12.0個                         2400行

高い水準の部品を使うと、20行が240個の資源になります。1行あたり12.0個です。

公式の例もこの規模です。このクラスは500行を超えるCloudFormationのひな型を作り出すと記載されており、50を超える資源ができると続いています。

得ることと失うこと

  1. 書く量が減る。240個を20行で表せる
  2. 既定が付く。安全側の設定が最初から入る
  3. 何ができたか見えない。書いた行に出てこない
  4. 費用が読めない。資源の数だけ請求が立つ

4番目は実務で効きます。20行に見えるものが、240個ぶんの請求になり得ます。

だから確かめる先は書いた行ではありません。展開された結果のほうです。

出典AWS ドキュメント「What is the AWS CDK?」2026-08-18 確認
The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework for defining cloud infrastructure in code and provisioning it through AWS CloudFormation.
原文AWS ドキュメント「What is the AWS CDK?」 この内容の有効期限2027-02-18

1つ変えたときの対象は中央値8個、99%点では228個

ほとんどの変更は小さく収まります。ごく一部だけが、構成のほぼ全体に及びます。

AWS CDKでは、書いた記述が展開されます。公式の例ではこのクラスは500行を超えるCloudFormationのひな型を作り出すと記されています。

展開された資源のあいだには依存があります。1つ変えると、それに依存する側も対象になります。

波及の広さを数える

資源240個の構成を作り、240通りすべてを試しました。

text
作られた資源 240個。1つを変えたとき、作り直しの対象になる資源を数える

やり方              対象の資源  全体に対する割合
中央値                         8個              3.3%
平均                         55個             22.9%
99%点                      228個             95.0%
最大                        240個            100.0%

中央値は8個です。半分の変更は、この規模で収まります。

99%点は228個で、全体の95.0%です。中央値の28倍になります。

どれが大きいか

大きく及ぶのは、多くの資源が土台にしているものです。網の設定や、権限の役がこれにあたります。

書いた行の見た目では区別できません。1行の変更が8個にも228個にもなります

同じ形の分布は、依存をたどる場面で繰り返し出ます。作り直しの範囲を測った例はViteの記事にあり、中央値3個・99%点282個でした。

半分は8個で収まる。残りの一部が全体に及ぶ。

p50 ─ p99(個)作られた資源の総数240/240変更の対象になる資源8/228資源240個それぞれを変えた場合を全通り試した結果。平均は55個で、中央値の7倍にあたる。
図1 ── 1つ変えたときに対象になる資源
出典AWS ドキュメント「What is the AWS CDK?」2026-08-18 確認
This class produces an AWS CloudFormation template of more than 500 lines.
原文AWS ドキュメント「What is the AWS CDK?」 この内容の有効期限2027-02-18

流す前に差分を見て、失敗したら巻き戻す

何個に及ぶかは、流す前に出せます。出さずに流すと、228個のほうを引くことがあります。

AWS CDKが配布を任せている仕組みには、巻き戻しがあります。公式はCloudFormationを使えば、基盤の配布を予測可能かつ繰り返し可能に行え、誤りがあれば巻き戻せると述べています。

巻き戻せることと、何が起きるか分かっていることは別です。前者は仕組みが持ち、後者は差分を見て得ます。

差分で確かめること

  1. 対象になる資源の数。8個か228個か
  2. 作り直しになるもの。置き換えは止まる時間を生む
  3. 消えるもの。巻き戻しても中身は戻らないことがある
  4. 増えるもの。請求が立つ資源が含まれていないか

3番目が要注意です。巻き戻しは資源を戻しますが、中に入っていたものまでは戻しません

だから差分の中に「置き換え」が含まれていたら、そこだけは別に扱うことになります。

小さく流す

前の計測でいえば、228個に及ぶ変更を1回で流さないのが安全です。分けられるなら分けます。

分けて流したときの効き目はArgoCDの記事で数えていて、一斉なら失敗が2880件、1台ずつなら288件でした。

余談 この計測での注意

1行あたり何個の資源になるかは置いた値で、実際には部品によって大きく違います。公式の例では20行前後のクラスが50を超える資源になるとされており、この計測の12.0個はそれより大きい前提です。資源のつながりも式で作ったもので、実際の依存はもっと偏ります。ここで見せているのは、書いた量と作られる量が一致しないこと、変更の波及が中央値と上位で桁違いになることの2つです。どちらも差分を出せば確かめられます。

出典AWS ドキュメント「What is the AWS CDK?」2026-08-18 確認
With AWS CloudFormation, you can perform infrastructure deployments predictably and repeatedly, with rollback on error.
原文AWS ドキュメント「What is the AWS CDK?」 この内容の有効期限2027-02-18

よくある質問

書いた量と作られる量はどう違いますか
公式の例では、1つのクラスが500行を超える定義と50を超える資源になると記載されています。
1つ変えると何個に及びますか
この計測では中央値8個でした。ただし99%点は228個で、全体の95.0%にあたります。
差分を見る必要はありますか
あります。書いた1行からは、その変更が何個の資源に及ぶかが読み取れません。
失敗したら戻せますか
戻せます。公式は、予測可能かつ繰り返し可能に配布でき、誤りがあれば巻き戻せると述べています。

まとめ

  • コードで基盤を書く
  • 1行が複数の資源になる
  • 波及は上位で桁が変わる
  • 差分を見てから流す

今日から始められること

  1. 書いた行数と作られる資源の数を数える
  2. 1つ変えたときの差分を出す
  3. 対象になる資源の数を確かめる
  4. 巻き戻しが効く形になっているか見る

実務で組んだAWS CDKのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る