Google Cloud Community Tech Surge 2026 presented by Jagu'e'r
公募セッション(30分)
配信会場(東京)

Cloud Runのデプロイにおけるインフラとアプリ開発者の境界線

masasuz すずきまさし masasuz

◻︎セッション概要(500文字以内)
Cloud Runは開発者にとって手軽な反面、実運用ではIAM、VPCコネクタ、Ingress設定など、インフラ管理で設定する項目がたくさんあります。ここで頻発するのがこれらはTerraformで管理すべきか、アプリのコードで管理すべきかという論争です。

全てをTerraformで管理すればインフラチームの負荷が増えデプロイ速度は低下し、逆にアプリチームに全権限を渡せばセキュリティをはじめとしたリスクが高まります。

本セッションでは、このトレードオフを解消するために、リソースの変更頻度とリスクに基づいた境界線設計を考察します。Terraformは変わらないベースラインの管理に特化し、Cloud Runの構成はガードレールを設けた上でアプリチームに権限を委譲するアーキテクチャについて、具体的な構成例とCI/CDパイプラインの実装パターンを交えて解説します。

◻︎想定オーディエンス・得られる学び(500文字以内)
【想定オーディエンス】

  • Cloud Runの採用を検討中、または運用における権限設計に悩むSRE、プラットフォームエンジニア
  • インフラ側のTerraform反映待ちを解消し、デプロイ頻度を向上させたいテックリード

【得られる学び】

  • インフラとアプリの適切な責任分界点の定義方法
  • Cloud Runにおけるデプロイパイプラインの設計原則
  • アプリチームに裁量を渡しつつ、誤った設定を防ぐガードレールの技術的実装

◻︎セッション詳細(1000文字程度)
※時間によっては内容が変化します。

  1. Cloud Run運用の管理主体問題

アプリケーションのデプロイは迅速にできることが望ましいですが、それを取り巻くGoogle Cloudのリソース(IAM、Network)は堅牢であるべきです。
Cloud Run Service自体はインフラリソースでもあるため、Terraformで管理することができます。しかし完全にTerraformで管理すると環境変数の追加などもインフラチーム経由で変更を行わなくてはならず、アプリチームのリリース速度を殺してしまうケースが見受けられます。逆にアプリチームがGUIから設定を変更するとIaCとのドリフトが発生するケースが発生します。

  1. インフラプロビジョニングとアプリケーションのデプロイの分離

この問題を解決するには、ツールありきではなくリソースの性質で管理を分けるアプローチが有効です。
インフラリソースとアプリケーションのデプロイの分離について説明します。
CI/CDと合わせてCloud Runのデプロイ方法について分類します。
インフラとアプリの責任分解点について考察して、適切なところを探っていきます。

  1. ガードレールによる安全な委譲

単にアプリチームに権限を渡すだけでは野良運用になります。そこで、インフラチームの役割を作業代行からガードレールの設計へとシフトさせる方法を話します。

  • 事前検証(CIチェック): アプリリポジトリ内のデプロイ設定に対し、危険な設定が含まれていないかをデプロイ前に自動テストする仕組み。
  • 最小権限の原則: デプロイを実行するService Accountには必要最低限の権限のみをTerraformで付与し、ネットワーク設定などの破壊的変更を物理的に防ぐ設計。
  1. まとめ

Terraformですべて管理するという運用から脱却しアプリの自律性を高めることは、結果としてインフラチームの運用負荷を下げることに繋がります。互いに不幸にならないための、現代的なCloud Runデプロイパイプラインの形を考察します。