[GCP Cloud Run]VPC Service Controlsを利用してCloud RunをIP制限する
このたびCloud RunでVPC service controlが利用可能になるとのことで、2021年5月26日のGCD21で発表がありました。(2021.05.26時点ではPreview版)試しに社内LANからのみアクセス可能なCloud Run + Cloud SQLアプリケーションをデプロイしてみたところ、社内LANからのみにアクセス制限することができました。
方法について簡単にまとめてみます。
VPC Service Controls(VPCSC)の使用
こちらの公式ドキュメントからできます。
注意点としては、VPCSCをCloud Runで利用するには、組織レベルのサービス境界が必要です。それには、組織閲覧者(roles/resourcemanager.organizationViewer)と Access Context Manager 編集者(roles/accesscontextmanager.policyEditor)のロールが必要です。
ポイント
- Access Context Manager(ACM)で制限したいネットワーク範囲のポリシーをあらかじめ作成しておく
- VPC Service ControlsのアクセスレベルにACMで定義した設定を適用
- 制限つきサービスには Cloud Run API
https://cloud.google.com/run/docs/securing/using-vpc-service-controls?hl=ja
Cloud RunのIngress設定
すでにデプロイしている場合、そのサービスを選択して「サービスの詳細」ページを開き「TRIGGERS」 タブを選択します。すると、下記のようにIngressの項目があるので、内部トラフィックのみを許可します。
これでACMで定義したネットワーク範囲にアクセスを制限したCloud Runアプリケーションを構成できます。
アクセス制限に成功すると、下記のような403ページが表示されるはずです。
ではでは