Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
このページでは、プライベート IP Cloud Composer 環境について説明します。
プライベート IP 環境の場合、Cloud Composer では、環境内のマネージド Google Kubernetes Engine と Cloud SQL VM にプライベート IP(RFC 1918)アドレスのみが割り当てられるため、公共のインターネット接続からのマネージド VM へのインバウンド アクセスはなくなります。オプションとして、プライベートで使用されるパブリック IP アドレスと IP マスカレード エージェントを使用して、IP アドレス空間を節約し、RFC 1918 以外のアドレスを使用することもできます。
プライベート IP 環境の場合、Cloud Composer ワークフローにはデフォルトでアウトバウンドのインターネット アクセスはありません。Google Cloud APIs やサービスへのアクセスは、Google のプライベート ネットワーク経由のルーティングによる影響を受けません。
VPC ネイティブの GKE クラスタ
環境を作成すると、Google 管理のテナント プロジェクトと顧客プロジェクトの間で、Cloud Composer により、環境のリソースが分配されます。
プライベート IP 環境の場合、Cloud Composer は顧客プロジェクトで環境用に VPC ネイティブの GKE クラスタを作成します。
VPC ネイティブのクラスタでは、VPC ネットワークに組み込まれたエイリアス IP ルーティングを使用して、VPC がポッドのルーティングを管理できるようになります。VPC ネイティブ クラスタを使用する場合、GKE は自動的にセカンダリ範囲を選択します。特定のネットワーキング要件では、環境を作成するときに GKE Pod と GKE サービスのセカンダリ範囲を構成することもできます。
プライベート IP Cloud Composer 環境
環境を作成するときに、プライベート IP 環境を選択できます。プライベート IP を使用する場合は、環境内の GKE と Cloud SQL VM はパブリック IP アドレスを割り当てられず、Google の内部ネットワーク経由でのみ通信します。
プライベート IP 環境を作成すると、環境の GKE クラスタは、限定公開クラスタとして構成されているになり、Cloud SQL インスタンスはプライベート IP 用に構成になります。
Cloud Composer によって、顧客プロジェクトの VPC ネットワークとテナント プロジェクトの VPC ネットワーク間のピアリング接続が作成されます。
環境でプライベート IP が有効になっている場合、環境の GKE クラスタと Cloud SQL データベース間の IP トラフィックは非公開となり、公共のインターネットからワークフローが分離されます。
このセキュリティ強化は、リソースへどのように接続するか、および、環境がどのように外部リソースにアクセスするかに影響を与えます。ただし、プライベート IP の使用は、パブリック IP 経由で Cloud Storage や Airflow ウェブサーバーへどのようにアクセスするかには影響を与えません。
GKE クラスタ
プライベート GKE クラスタを使用することにより、クラスタのコントロール プレーン(クラスタノードがパブリック IP アドレスを持っていない)へのアクセスを制御できるようになります。
プライベート IP Cloud Composer 環境を作成する際に、コントロール プレーンへのアクセスを公開にするかどうかとその IP 範囲を指定します。コントロール プレーンの IP 範囲は、VPC ネットワーク内のどのサブネットワークと重複しないようにしてください。
オプション | 説明 |
---|---|
パブリック エンドポイント アクセスが無効 | クラスタに接続するには、プライベート IP 環境の同じリージョンかつ同じ VPC ネットワークで VM から接続する必要があります。接続元の VM インスタンスには、アクセス スコープを [すべての Cloud API に完全アクセス権を許可] に設定する必要があります。 その VM から、環境のクラスタで kubectl コマンドを実行できます。 |
パブリック エンドポイント アクセスが有効、マスター認証済みネットワークが有効 | この構成では、クラスタノードは Google のプライベート ネットワークを介してコントロール プレーンと通信します。ノードは、環境内と承認済みネットワーク内のリソースにアクセスできます。承認済みネットワークを GKE に追加できます。 承認済みネットワークでは、環境のクラスタで kubectl コマンドを実行できます。 |
Cloud SQL
Cloud SQL インスタンスはパブリック IP アドレスを持っていないため、プライベート IP 環境内の Cloud SQL トラフィックは公共インターネットに公開されません。
Cloud Composer により、プライベート サービス アクセスを介して受信接続を受け入れるように Cloud SQL が構成されます。プライベート IP アドレスを使用すると、VPC ネットワーク上の Cloud SQL インスタンスにアクセスできます。
ワークフローの公共インターネット アクセス
未承認ネットワーク上または公共インターネット上のリソースへのアクセスを必要とする演算子やオペレーションは失敗する可能性があります。たとえば、Dataflow Python のオペレーションでは、Apache Beam を pip からダウンロードするのに公共インターネット接続が必要になります。
外部 IP アドレスと限定公開 GKE クラスタを持たない VM からインターネットへの接続を許可するには、クラウド NAT が必要です。
Cloud NAT を使用するには、プライベート IP Cloud Composer 環境が存在する VPC ネットワークとリージョンに対して Cloud Router を使用して NAT 構成を作成します。