---
title: Renovateを活用した手離れの良いCDKプロジェクトの作り方
tags: 
author: [江口純矢](https://image.docswell.com/user/egusumi1219)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4EZ6DW6GE3.jpg?width=480
description: Renovateを活用した手離れの良いCDKプロジェクトの作り方 by 江口純矢
published: July 09, 25
canonical: https://image.docswell.com/s/egusumi1219/ZJXW7E-2025-07-09-185034
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4EZ6DW6GE3.jpg)

JAWS-UG CDK支部
AWS CDK Conference Japan 2025
Renovateを活用した
手離れの良いCDKプロジェクトの作り方
2025年07月12日
江口 純矢


# Page. 2

![Page Image](https://bcdn.docswell.com/page/Y7621G2QEV.jpg)

自己紹介
江口 純矢 えぐち すみや
X:@egusumi1219
経歴
2021年、コドモンにエンジニアとして新卒で入社
アプリケーションエンジニアを経て、現在はSREとして働いています
最近ハマっていること
豚バラブロックを塩漬け&amp;乾燥して作る自家製パンチェッタ
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/G7524V2274.jpg)

こんなプロダクトを開発しています
すべての先生に 子どもと向き合う
時間と心のゆとりを
メインプロダクトは、こども施設職員の業務を支援するWebアプリケーション。
保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版
アプリケーション、外部サービスと連携するAPIなども開発しています。
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/9J24V3417R.jpg)

4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/DEYM31M4EM.jpg)

「手離れの良い」とは？
放置してもライブラリの更新など
よしなにしてくれる状態
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/VJNWV2W6J8.jpg)

話すこと
●
CDKライブラリのバージョンアップ
●
LambdaのRuntimeのバージョンアップ
※ TypeScriptを例にして説明します
話さないこと
●
Stack、 Construtをどう使い分けるか等のCDKの設計の話
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/YE9X61XR73.jpg)

今日話すこと
1
CDK導入後の課題
2
Renovateの基本情報と導入方法
3
スナップショットテストの併用で安全にライブラリ更新
4
おまけ：Jest→Vitestに移行しテストを高速化
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/GE82Z42GED.jpg)

1
CDK導入後の課題
2
Renovateの基本情報と導入方法
3
スナップショットテストの併用で安全にライブラリ更新
4
おまけ：Jest→Vitestに移行しテストを高速化
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/LEL2D62X7R.jpg)

CDKのメリット
馴染みの言語でリソースが構築できる
表現の幅が広くカスタマイズ性が高い
リソース 構築時 のメリットが大きい
引用：「使い慣れたプログラミング言語でクラウド環境を構築 ! AWS CDK をグラレコで解説 」
https://aws.amazon.com/jp/builders-flash/202309/awsgeek-aws-cdk/
CONFIDENTIAL - © 2022 CoDMON Inc.
9
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4JM8P583JW.jpg)

CDK導入後の課題
● 構築時のメリットが大きい分、運用に関して後回しにされがち
○ ライブラリのバージョンアップはその典型
■ CDKのライブラリの更新は約週1ペース
この更新作業を楽にするのが今日のテーマ
Renovate
CONFIDENTIAL - © 2022 CoDMON Inc.
10
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/PJR5135RE9.jpg)

1
CDK導入後の課題
2
Renovateの基本情報と導入方法
3
スナップショットテストの併用で安全にライブラリ更新
4
おまけ：Jest→Vitestに移行しテストを高速化
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/PEXKY4KYJX.jpg)

Renovateの基本情報と導入方法
Renovateとは？
npm、pip、Docker等の依存関係を検知して
更新PRを自動作成する OSSツール
類似サービス：
●
●
●
自動マージ可能で条件などを細かく設定可能
対応ライブラリ数が多い (Renovate:約90 Dependabot:約20)
ライブラリバージョンアップ PRのグループ化が可能
→Renovateはカスタマイズの幅が広い
引用：「Renovate &gt; Bot comparison」
https://docs.renovatebot.com/bot-comparison/#dependabot-gitlabdependabot
CONFIDENTIAL - © 2022 CoDMON Inc.
12
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/3EK53Z54JD.jpg)

Renovateの基本情報と導入方法
CONFIDENTIAL - © 2022 CoDMON Inc.
13
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/L73KGDKD75.jpg)

Renovateの基本情報と導入方法
導入方法
基本的には Github Appとして使用
CLI , Docker Image , github actionsなどでも可能
Appを使うリポジトリを選択
引用：「Renovate &gt; Running Renovate」
https://docs.renovatebot.com/getting-started/running/
CONFIDENTIAL - © 2022 CoDMON Inc.
14
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/87D31P32JG.jpg)

Renovateの基本情報と導入方法
導入方法
renovate.json が以下設定で新規作成される
Renovate Appインストール後
初期設定 PRが自動作成
CONFIDENTIAL - © 2022 CoDMON Inc.
初期設定 PRをマージ後に
Renovateによって PRが作成され始める
15
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/VJP4QN4L78.jpg)

Renovateの基本情報と導入方法
Renovate.jsonの設定
●
●
セマンティックバージョンごと
パッケージごと
で細かく設定可能
代表的な設定項目
prConcurrentLimit (default:10)
1度にopenできるPRの最大数
prHourlyLimit (default:2)
1時間にRenovate Appが作成する PRの最大数
automerge (default:false)
オートマージするかどうか
複数の設定をまとめたプリセットも利用可能
引用：「Renovate &gt; Configuration Options」
https://docs.renovatebot.com/configuration-options/#configuration-options
CONFIDENTIAL - © 2022 CoDMON Inc.
16
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/2EVX5KX6JQ.jpg)

Renovateの基本情報と導入方法
押さえておきたいプリセット conﬁg:recommended
conﬁg:recommended の中身
内容に応じて PRタイトルにプレフィックスを
自動的に付与
内容に応じて PRタイトルにプレフィックスを
自動的に付与
PRを良い具合にグループ化
※この設定で不十分な時は自前でグループ化
PRマージ状況を確認できる ISSUEの作成
node_modules,
bower_components, vendor, test
のディレクトリを対象から除外
CONFIDENTIAL - © 2022 CoDMON Inc.
17
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/57GV6QV27L.jpg)

Renovateの基本情報と導入方法
押さえておきたいプリセット :automergeMinor
:automergeMinor の中身
package.lock.jsonなどのlock
ファイルを定期的に再作成
（defaultは週1）
PRを良い具合にグループ化
PRを良い具合にグループ化
※この設定で不十分な時は自前でグループ化
※この設定で不十分な時は自前でグループ化
メジャーバージョン以外をオートマージ
CONFIDENTIAL - © 2022 CoDMON Inc.
18
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/4EQ64K69EP.jpg)

今日話すこと
1
CDK導入後の課題
2
Renovateの基本情報と導入方法
3
スナップショットテストの併用で安全にライブラリ更新
4
おまけ：Jest→Vitestに移行しテストを高速化
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/KJ44QPMRJ1.jpg)

スナップショットテストの併用で安全にライブラリ更新
スナップショットテストとは？
引用：「AWS Cloud Development kit (CDK) Advanced #1 「AWS CDKにおける開発とテスト」
https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-CDK-Advanced-1-Testing_1227_v1.pdf
CONFIDENTIAL - © 2022 CoDMON Inc.
20
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/LE14P98VEG.jpg)

スナップショットテストの併用で安全にライブラリ更新
スナップショットテストとは？
引用：「AWS Cloud Development kit (CDK) Advanced #1 「AWS CDKにおける開発とテスト」
https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-CDK-Advanced-1-Testing_1227_v1.pdf
CONFIDENTIAL - © 2022 CoDMON Inc.
21
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/GEWX2QZ372.jpg)

スナップショットテストの併用で安全にライブラリ更新
事前準備1
パッチ、マイナーバージョン
メジャーバージョン
CONFIDENTIAL - © 2022 CoDMON Inc.
22
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/47Z6DW1G73.jpg)

スナップショットテストの併用で安全にライブラリ更新
事前準備2
スナップショットテストを PR単位で実行できるようにする
CONFIDENTIAL - © 2022 CoDMON Inc.
23
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/YJ621GLQ7V.jpg)

スナップショットテストの併用で安全にライブラリ更新
スナップショットテストを併用した安全な更新
スナップショットテストを PR単位で実行できるようにする
ステータスチェックが通らなければ
RenovateはPRをオートマージしない
CONFIDENTIAL - © 2022 CoDMON Inc.
24
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/GJ524V12J4.jpg)

スナップショットテストの併用で安全にライブラリ更新
スナップショットテストを併用した安全な更新
スナップショットテストを PR単位で実行できるようにする
デフォルト設定の
ignoreTests: false
による挙動
ステータスチェックが通らなければ
RenovateはPRをオートマージしない
CONFIDENTIAL - © 2022 CoDMON Inc.
25
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/9E24V311JR.jpg)

スナップショットテストの併用で安全にライブラリ更新
実際の動作を確認
ライブラリ更新によりスナップショットに差分発生
CONFIDENTIAL - © 2022 CoDMON Inc.
26
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/D7YM31Z47M.jpg)

スナップショットテストの併用で安全にライブラリ更新
実際の動作を確認
スナップショットを更新しコミット
PRにRenovate App以外による変
更が含まれている場合
自動マージを実行しない
動作確認した上で
自分のタイミングでマージ
CONFIDENTIAL - © 2022 CoDMON Inc.
27
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/VENWV236E8.jpg)

スナップショットテストの併用で安全にライブラリ更新
応用：NodeLambdaのバージョン更新
事前準備
Node.jsのバージョン指定に
determineLatestNodeRuntime() を使用
→CDKのバージョンリリース時の リージョンの最新のランタイム が選択される
●
v2.146.0: Node.js 20 , v2.204.0:Node.js 22
CONFIDENTIAL - © 2022 CoDMON Inc.
28
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/Y79X619RJ3.jpg)

スナップショットテストの併用で安全にライブラリ更新
応用：NodeLambdaのバージョン更新の流れ
ライブラリバージョンアップと共に
ランタイムもバージョンアップ
CONFIDENTIAL - © 2022 CoDMON Inc.
snapshot更新 &amp;
動作確認完了次第手動でマージ
29
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/G782Z49G7D.jpg)

ちょっと脱線
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/L7L2D6WXJR.jpg)

スナップショットテストの併用で安全にライブラリ更新
応用：NodeLambdaのバージョン更新
事前準備
Node.jsのバージョン指定に
determineLatestNodeRuntime() を使用
NODEJS_LATEST
で良いのでは？？？
→CDKのバージョンリリース時のリージョンの最新のランタイム が選択される
●
v2.146.0: Node.js 20 , v2.204.0:Node.js 22
CONFIDENTIAL - © 2022 CoDMON Inc.
31
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/4EM8P593EW.jpg)

スナップショットテストの併用で安全にライブラリ更新
応用：NODEJS_LATESTの挙動
NODEJS_LATEST 「全リージョンで利用可能なバージョンのうちの最新」
2025年7月現在、東京リージョンでも未だ nodejs18が選択される
引用：「aws-cdk-lib: NODEJS_LATEST still points to nodejs18.x」
https://github.com/aws/aws-cdk/issues/28125
CONFIDENTIAL - © 2022 CoDMON Inc.
32
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/PER513GR79.jpg)

今日話すこと
1
CDK導入後の課題
2
Renovateの基本情報と導入方法
3
スナップショットテストの併用で安全にライブラリ更新
4
おまけ：Jest→Vitestに移行しテストを高速化
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/P7XKY4XYEX.jpg)

おまけ：Jest→Vitestに移行しテストを高速化
信頼性の高いスナップショットの維持が必須
テストが遅いとメンテナンスされなくなりがち
これを回避すべく
Vitestを用いてスナップショットテストを高速化
CONFIDENTIAL - © 2022 CoDMON Inc.
34
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/37K53ZW4ED.jpg)

おまけ：Jest→Vitestに移行しテストを高速化
信頼性の高いスナップショットの維持が必須
テストが遅いとメンテナンスされなくなりがち
割愛
これを回避すべく
Vitestを用いてスナップショットテストを高速化
CONFIDENTIAL - © 2022 CoDMON Inc.
35
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/LJ3KGD1DJ5.jpg)

おまけ：Jest→Vitestに移行しテストを高速化
https://zenn.dev/sheero/articles/077b2b25d20ba4
CONFIDENTIAL - © 2022 CoDMON Inc.
36
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/8JD31PX2EG.jpg)

おまけ：Jest→Vitestに移行しテストを高速化
実行時間を大幅に短縮
CONFIDENTIAL - © 2022 CoDMON Inc.
37
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/VEP4QNPLJ8.jpg)

まとめ
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/27VX5K26EQ.jpg)

まとめ
●
Renovateで依存関係の更新を自動化
●
スナップショットテストとの組み合わせで安全にバージョンアップ
○
determineLatestRuntime()でLambdaランタイムのバージョンアップ
も追従
●
Vitestでのテスト高速化により信頼性の高いスナップショットテストを保つ
CONFIDENTIAL - © 2022 CoDMON Inc.
39
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/5JGV6QR2JL.jpg)

最後に
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/47Q64KV97P.jpg)

コドモンでは一緒に働きたい仲間を募集しています！
コドモン採用ページ
開発ブログ
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/KE44QPWRE1.jpg)

ご清聴ありがとうございました！
42


# Page. 43

![Page Image](https://bcdn.docswell.com/page/L714P9YV7G.jpg)



