Cloud Runのサービスをデプロイする際、そのセキュリティと公開範囲を決定する設定が「Ingress」です。これは、ご自身のCloud Runサービスが「どこからのトラフィックを受け入れるか」をコントロールする入り口の設定です。

以前は複数の細かいオプションがありましたが、現在のGoogle Cloud ConsoleのUIでは、Ingress設定はシンプルに以下の2つの主要なオプションに集約されています。
- 内部(Internal)
- すべて(All)
これらのオプションが何を意味し、どのようにあなたのCloud Runサービスへのアクセスを制御するのか、見ていきましょう。
Cloud Runにおける「Ingress」とは?
「Ingress」とは、外部からあなたのCloud Runサービスへの受信トラフィック(インバウンドトラフィック)の許可範囲を指します。この設定によって、あなたのサービスがインターネットからアクセスできるのか、あるいは特定のGoogle Cloudの内部ネットワークからのみアクセス可能になるのかが決まります。
1. 「内部(Internal)」
この設定は、最も厳格なオプションであり、Cloud Runサービスへのアクセスを完全にGoogle Cloudの内部ネットワークに限定します。
どのような動作となるか
ユースケースは?
2. 「すべて(All)」
この設定は、Cloud Runサービスがインターネット上からアクセス可能になることを意味します。
どのような動作となるか
ユースケースは?
セキュリティ上の注意点
どちらのIngress設定を選ぶべきか?
Cloud RunサービスのIngress設定は、アプリケーションのセキュリティと利用目的によって選択する必要があります。
基本的には、必要最低限の公開範囲に留めることがいいと思います。
- インターネットからアクセスする必要がない内部サービス: 「内部」 を選択し、VPCコネクタ経由でアクセスをルーティングします。これが最もセキュアです。
- インターネットからアクセスする必要があるサービス: 「すべて」 を選択します。この場合、Cloud Runの認証設定(IAM認証など)や、アプリケーション内部での認証・認可ロジックを適切に設定し、セキュリティを確保することが極めて重要です。
また、Cloud Load Balancingを追加することで、DDoS対策やWAFなどの追加セキュリティレイヤーを設けることも可能です。
まとめ
Cloud RunのIngress設定における「内部」と「すべて」の2つのオプションは、サービスのアクセス経路とセキュリティを決定する根本的な選択です。
- 「内部」: サービスをインターネットから完全に隔離し、GCP内部からのアクセスに限定することで、最高レベルのセキュリティを確保します。
- 「すべて」: サービスをインターネットに公開しますが、その背後にある認証設定やCloud Load Balancingなどのレイヤーでセキュリティを強化する必要があります。


コメント