Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2026-07-28 3-shakeテックランチ Cloud Run のデプロイパラメータを考...
Search
SUZUKI Masashi
July 27, 2026
Technology
25
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2026-07-28 3-shakeテックランチ Cloud Run のデプロイパラメータを考える / Cloud Run Deploy Parameter
https://3-shake.connpass.com/event/399469/
で発表した内容
SUZUKI Masashi
July 27, 2026
More Decks by SUZUKI Masashi
See All by SUZUKI Masashi
2026-07-24 tfpolicyを試してみたのですが、、、、
masasuzu
0
44
2026-06-18 ecspressoのtfstate参照が便利すぎた話
masasuzu
0
120
2026-04-14 Jagu'e'r Cloud Native分科会 Terraform Stateにおけるシークレットの平文保存という課題とその解決
masasuzu
1
62
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
450
2026-03-23 Ops-JAWS Meetup39 Session Managerを使った セキュアなサーバーアクセス
masasuzu
2
170
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
3
490
2026-03-03 Jagu'e'r Tech Writer Meetup #19 登壇のネタ作りについて
masasuzu
0
330
2026-02-24 月末 Tech Lunch Online #10 Cloud Runのデプロイの課題から考えるアプリとインフラの境界線
masasuzu
0
200
2025-11-21 社内エンジニア勉強会 改めて理解するVPC Endpoint
masasuzu
0
480
Other Decks in Technology
See All in Technology
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
290
CloudWatchから始めるAWS監視
butadora
0
170
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
200
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.7k
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
2
620
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
300
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
150
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
160
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
340
AI驚き屋発見器
yama3133
1
300
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
190
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
1
300
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
630
How to Ace a Technical Interview
jacobian
281
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Navigating Weather and Climate Data
rabernat
0
400
We Are The Robots
honzajavorek
0
280
Tell your own story through comics
letsgokoyo
1
1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Abbi's Birthday
coloredviolet
3
8.8k
Scaling GitHub
holman
464
140k
Code Review Best Practice
trishagee
74
20k
Transcript
Cloud Run のデプロイパラメータを考える 2026-07-28 3-shake テックランチ会 #1 すずきまさし Copyright ©
3-shake, Inc. All Rights Reserved.
おまえだれよ • • • すずきまさし/masasuzu/@masasuz 株式会社スリーシェイクSreake事業部シニアアーキテクト クラウドインフラなんでも屋さんをしてます ◦ お客様の外部から ▪
設計、運用、構築等の技術支援を行います。 ◦ お客様の内部から ▪ インフラチームの一員として内製化支援も行います。 • 得意領域 ◦ AWS ▪ AWS Community Builder Cloud Operation Since 2024~2026 ▪ 2026 Japan All AWS Certifications Engineers ◦ Google Cloud ▪ Google Cloud Partner Top Engineer 2026 ◦ Terraform Copyright © 3-shake, Inc. All Rights Reserved. 2
もくじ • • • 今回の課題を考えるうえでの前提構成 Cloud Runのデプロイの課題 どう解決したか Copyright ©
3-shake, Inc. All Rights Reserved. 3
01 今回の課題を考えるうえでの前提構成 Copyright © 3-shake, Inc. All Rights Reserved. 4
前提構成 • • • • レポジトリ: GitHub インフラ管理: Terraform ◦
tfstate管理はGCS アプリケーションデプロイ : gcloud run deploy CI/CD: GitHub Actions Copyright © 3-shake, Inc. All Rights Reserved. 5
アプリとインフラの責任境界 • • アプリケーション管理 ◦ Cloud Run インフラ管理 ◦ ◦
Cloud Run以外のリソース Cloud Runが使用するリソース ▪ Service Account ▪ Secret Manager ▪ Cloud SQL ▪ Cloud Storage ▪ Artifact Registry ▪ etc… Copyright © 3-shake, Inc. All Rights Reserved. 6
Cloud Runはアプリケーション側で管理する TerraformでもCloud Runは管理できる。が、 1. 学習コスト 2. 頻繁な変更 & ドリフト
3. ツール特性の不一致 アプリケーションエンジニアに Terraformを覚えてもらう必要があるた め、運用のハードルが高くなります。 環境変数や CPU、Memoryなど、アプ リ側で自由に変更したい項目が多い。 「デプロイ」という高頻度な行為に対し て、インフラ構築向けの Terraformとい うツールは過大であり、マッチしていな いと考えられます。 ※アプリ側で変更するとTerraformでドリフト (差分)になるため、ignore_changesの設 定が必要です。 であれば、そもそも Cloud Run自体は Terraformで管理せず、アプリ側での管理に任せたほうが良 い。 と自分は考えています。 Copyright © 3-shake, Inc. All Rights Reserved. 7
02 Cloud Runのデプロイの課題 Copyright © 3-shake, Inc. All Rights Reserved.
8
アプリケーションで使いたい値 こういった値をアプリケーション自体で使用したり、環境変数として 埋め込んで使用したい。 • • • • • • •
Service Account Cloud SQLのホスト Cloud Storage バケット名 Secret Manager サブネットワーク ◦ Direct VPC Egressを使う場合 連携するCloud RunのURL コンテナイメージ Copyright © 3-shake, Inc. All Rights Reserved. 9
環境ごとのパラメータを取得する ルールベースで決められるもの (課題が少ない ) リソース名など、命名規則やルールに基づいて一意に決定できるパラメータ。 設定の自動化が容易で、管理上の破綻が起きにくい領域です。 ルールベースで決められないもの (課題の本質 ) 接続先URLや個別識別
IDなど、実環境が作成されてからでないと確定しない パラメータ。これらは実環境から動的に値を取得してくる仕組みが必要になり ます。 Copyright © 3-shake, Inc. All Rights Reserved. 10
なにが課題なのか 環境ごとに異なるリソース名をどう渡すか ① 手動で取得してデプロイ設定に転記 • 単純にめんどくさい • コピペミスの可能性 • 環境が増えるごとに環境ごとのファイルが自動的に増殖する
• インフラ側の変更によってドリフト(乖離)が発生しうる ② デプロイ実行時に gcloudで動的取得 • リソース名がルールベースでないとき設計が破綻する • デプロイとは直接関係のない余分な参照権限を渡すことになる Copyright © 3-shake, Inc. All Rights Reserved. 11
03 どう解決したか Copyright © 3-shake, Inc. All Rights Reserved. 12
tfstateの利用 Source of Truthとしてのtfstateの利用 tfstateからの直接取得による簡潔化 Terraformが管理するインフラ情報はすべて tfstateに記載されています。 手動でのコピペを排除し、ここから直接取得するのが最も安全で簡潔な 方法です。 オブジェクト参照権限のみのシンプル管理
tfstateはCloud Storage Objectとして保存されるため、デプロイ用の Service Accountに対してオブジェクトの参照権限を付与するだけで安 全 にアクセスが完結します。 ツール: tfstate-lookup tfstateを効率的に参照するための外部ツールとして、 fujiwara/tfstate-lookup が利用しやすかったです。 https://github.com/fujiwara/tfstate-lookup Copyright © 3-shake, Inc. All Rights Reserved. 13
tfstate参照をデプロイに組み込む パラメータの集約 デプロイ用の tfstateに必要なパラメータをまとめ、不要な情報を参照させない (remote state参照) 最小権限の付与 デプロイ用の GitHub Actionsには、該当するデプロイ用
tfstateへのアクセス権の み を安全に付与する パラメータを利用したデプロイ デプロイ時に tfstateを直接参照し、環境変数などの必要なパラメータを動的に利用 して展開する 環境ごとの管理 環境ごとに保存先 GCSおよびtfstateファイルが作成されるため、デプロイ対象に 応じて差し替える Copyright © 3-shake, Inc. All Rights Reserved. 14
もう一歩進めたい パラメータ取得の仕組み化 tfstate-lookupを使用して、いい感じにデプロイパラメータを取得する仕組みはで きた。 デプロイ連携の課題 取得したデプロイパラメータを、実際のデプロイ処理へ渡す箇所がまだこなれて いない。 AWS ECSにおける ecspresso
AWSのECS環境では、このあたりをいい感じにハンドリングしてくれる kayac/ecspresso が存在。 https://github.com/kayac/ecspresso 解決へ向けた試行錯誤 (clrnd) Cloud Runでも同様の体験を実現するため、自作ツール masasuzu/clrnd を開 発してます。 https://github.com/masasuzu/clrnd Copyright © 3-shake, Inc. All Rights Reserved. 15
clrnd • tfstateから取得した値をマニュフェストテンプレートに埋めてデプロイする形です https://speakerdeck.com/masasuzu/2026-06-18-ecspressonotfstatecan-zhao-kabian-li-sukitahua?slide=23 Copyright © 3-shake, Inc. All Rights
Reserved. 16
04 まとめ Copyright © 3-shake, Inc. All Rights Reserved. 17
まとめ 1. デプロイパラメータの課題 2. tfstate-lookupの導入 3. clrnd(おまけ) インフラ変更時における情報の不整合(ドリフ ト)や、安全かつ正確なパラメータ取得方法が 大きな運用課題となっていた。
tfstateをSource of Truthとしてパラメータを自 動取得。設定ファイルへの直書きを排除。 AWS ECSで実績のある ecspressoに影響を 受け、Cloud Run向けデプロイツールとして自 作開発を進行中。 主なボトルネック : ・値の取得・自動化は実現 ・実際のデプロイ処理へ安全に値を渡す連携 部分に、依然として課題が残る ・手動管理による設定ミス ・インフラ状態との乖離 Copyright © 3-shake, Inc. All Rights Reserved. 現在のステータス : 今後の展望 : ・本番運用への正式投入 ・想定する要件(マニフェスト埋め込み等)は 既に実装済み