プライベート IP 環境

Cloud Composer 1 | Cloud Composer 2

このページでは、プライベート IP Cloud Composer 環境について説明します。

プライベート IP 環境の場合、Cloud Composer では、環境内のマネージド Google Kubernetes Engine と Cloud SQL VM にプライベート IP(RFC 1918)アドレスのみが割り当てられるため、公共のインターネット接続からのマネージド VM へのインバウンド アクセスはなくなります。オプションとして、プライベートで使用されるパブリック IP アドレスを使用することもできます。

プライベート IP 環境の場合、Cloud Composer ワークフローにはデフォルトでアウトバウンドのインターネット アクセスはありません。Google Cloud APIs やサービスへのアクセスは、Google のプライベート ネットワーク経由のルーティングによる影響を受けません。

VPC ネイティブの GKE クラスタ

環境を作成すると、Google 管理のテナント プロジェクトと顧客プロジェクトの間で、Cloud Composer により、環境のリソースが分配されます。

プライベート IP 環境の場合、Cloud Composer は顧客プロジェクトで環境用に VPC ネイティブの GKE クラスタを作成します。

VPC ネイティブ クラスタでは、VPC ネットワークに組み込まれたエイリアス IP ルーティングを使用して、VPC が Pod のルーティングを管理できるようになります。VPC ネイティブ クラスタを使用する場合、GKE は自動的にセカンダリ範囲を選択します。特定のネットワーキング要件では、環境の作成時に GKE Pod と GKE Service のセカンダリ範囲を構成することもできます。

プライベート IP Cloud Composer 環境

環境を作成するときに、プライベート IP 環境を選択できます。プライベート IP を有効にすると、環境内の GKE と Cloud SQL VM にパブリック IP アドレスが割り当てられなくなり、Google の内部ネットワーク経由でのみ通信するようになります。

プライベート IP 環境を作成すると、環境の GKE クラスタはプライベート クラスタとして構成され、Cloud SQL インスタンスはプライベート IP 用に構成されます。また、顧客プロジェクトの VPC ネットワークとテナント プロジェクトの VPC ネットワークの間に、Cloud Composer によってピアリング接続が作成されます。

VPC ピアリングとプライベート IP が環境で有効になっている場合、環境の GKE クラスタと VPC ピアリング接続を介した Cloud SQL データベースの間の IP トラフィックは非公開となり、公共のインターネット接続からワークフローが分離されます。

このセキュリティ強化は、リソースへどのように接続するか、および、環境がどのように外部リソースにアクセスするかに影響を与えます。ただし、プライベート IP の使用は、パブリック IP 経由で Cloud Storage や Airflow ウェブサーバーへどのようにアクセスするかには影響を与えません。

GKE クラスタ

プライベート GKE クラスタを使用することにより、クラスタのコントロール プレーン(クラスタノードがパブリック IP アドレスを持っていない)へのアクセスを制御できるようになります。

プライベート IP Cloud Composer 環境を作成する際に、コントロール プレーンへのアクセスを公開にするかどうかとその IP 範囲を指定します。コントロール プレーンの IP 範囲は、VPC ネットワーク内のどのサブネットワークとも重複しないようにしてください。

設定 説明
パブリック エンドポイント アクセスが無効 クラスタに接続するには、プライベート IP 環境の同じリージョンかつ同じ VPC ネットワークで VM から接続する必要があります。接続元の VM インスタンスには、アクセス スコープを [すべての Cloud API に完全アクセス権を許可] に設定する必要があります。
その VM から Airflow コマンドを実行するには、gcloud composer environments run コマンドを実行します。
パブリック エンドポイント アクセスが有効、マスター認証済みネットワークが有効 この構成で、クラスタノードは Google のプライベート ネットワーク経由でコントロール プレーンと通信します。ノードは、環境内と承認済みネットワーク内のリソースにアクセスできます。GKE に承認済みネットワークを追加できます。
承認済みネットワークでは、kubectl コマンドと gcloud composer environments run コマンドを実行できます。

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 が必要です。

クラウド NAT を使用するには、プライベート IP Cloud Composer 環境が存在する VPC ネットワークとリージョンに対して Cloud Router を使用して NAT 構成を作成します。

次のステップ