たのしい工学

プログラミングを学んで、モノをつくりたいひと、効率的に仕事をしたい人のための硬派なブログになりました

[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の項目があるので、内部トラフィックのみを許可します。

cloud run settings

これでACMで定義したネットワーク範囲にアクセスを制限したCloud Runアプリケーションを構成できます。
アクセス制限に成功すると、下記のような403ページが表示されるはずです。

cloud run on vpcsc 403

ではでは

 - GCP , , ,