GOOGLE CLOUD 実践 / Cloud Run

Cloud Run の Ingress と IAM — 通信経路に合わせて入口を閉じる

Cloud Run の公開範囲は Ingress、呼び出せる主体は IAM が担う。ブラウザ・ロードバランサ・Cloud Run間で経路を分けると、設定の理由が見える。

TL;DR

  1. ブラウザからの入口は GCLB 経由にし、Cloud Run は内部 + LB を許可する。
  2. サービス間は IAM 認証を使い、必要なら Direct VPC Egress で内部だけに閉じる。
  3. 「Ingress だけ」「IAM だけ」ではなく、経路と主体の二面で設計する。

012つの鍵 — Ingress と IAM

Ingress はどの経路から到達できるか、IAM は誰が起動できるかを決める。両方を使うことで、意図しないネットワーク経路と呼び出し主体を別々に絞れる。

2つの鍵 — Ingress と IAM
Ingress が到達経路を、IAM が呼び出し主体を制御する。

IngressとIAMは別の問いに答える

02梅・竹・松の構成

LB直結は単純、BFFを挟むと内部サービスは IAM で守れる。VPC経由まで行うと、内部サービスの Ingress を内部に絞れるが設定と運用は増える。

梅・竹・松の構成
GCLB直結、BFF + IAM、BFF + VPC + IAMを並べる。

構成は必要な強さで選ぶ

03設計チェックリスト

ブラウザ→LB→BFF、BFF→サービス、サービス→DB を別々に描く。各矢印について、発信者・到達先・経路・認証・失敗時を確認して設定へ落とす。

設計チェックリスト
各矢印ごとに発信者・経路・Ingress・認証を決める。

通信矢印ごとに決める

結論

  1. 外部アクセスは LB に集約し、サービス本体へ直接届く経路を減らす。
  2. Cloud Run間はサービスアカウント + IAM を基本にする。
  3. より強い閉域性が必要になった段階で Direct VPC Egress を追加する。