プライベート インスタンスの作成

このページでは、プライベート IP アドレスを使用する Cloud Data Fusion インスタンスの作成方法を説明します。プライベート Cloud Data Fusion インスタンスは、VPC ネットワークまたは 共有 VPC ネットワーク内に作成します。

プライベート Cloud Data Fusion IP インスタンスを作成すると、次のような利点があります。

  • Cloud Data Fusion インスタンスへの接続が、Google Cloud プロジェクトのプライベート VPC ネットワークを介して確立されます。このネットワークを介したトラフィックは公共のインターネットを経由しません。

  • Cloud VPN または Cloud Interconnect を使用してオンプレミス ネットワークを Google Cloud のプライベート VPC ネットワークに接続すると、インスタンスがオンプレミスのリソース(リレーショナル データベースなど)に接続できるようになります。外部からの Google Cloud へのアクセス手段を生じさせることなく、データベースなどのオンプレミス リソースにプライベート ネットワーク経由で安全にアクセスできます。

VPC ネットワークを設定する

VPC ネットワークまたは共有 VPC ネットワークをまだ作成していない場合は作成します。

このセクションでは、限定公開の Google アクセスを有効にする方法と、IP 範囲を割り当てる方法を説明します。VPC ネットワークを設定するには、この両方を行う必要があります。

限定公開の Google アクセスを有効にする

プライベート Cloud Data Fusion インスタンスを作成するリージョンには、限定公開の Google アクセスが有効にされたサブネットが必要です。

サブネットに対して限定公開の Google アクセスを有効にするには、次の手順に従います。

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] ページを開く

  2. [リージョン] 列で、プライベート Cloud Data Fusion インスタンスを作成するリージョンを見つけます。そのリージョンのサブネットをクリックします。

  3. [編集] をクリックします。

  4. [限定公開の Google アクセス] で [オン] を選択します。

  5. [保存] をクリックします。

    画像

IP 範囲を割り当てる

次の手順では、Cloud Data Fusion インスタンスに IP 範囲を割り当てる方法を示しています。パイプラインは Dataproc クラスタで実行されます。ここでは、Cloud Data Fusion インスタンスに割り当てられている IP 範囲とは異なる IP 範囲を使用しています。

共有 VPC ネットワークを使用する場合のみ、次の手順に従ってください。 共有 VPC ネットワークを使用していなければ、Cloud Data Fusion はインスタンスの作成時に自動的に IP 範囲を割り当てます。共有 VPC ネットワークを使用していない場合は、このセクションをスキップしてプライベート インスタンスを作成してください。

Cloud Data Fusion インスタンスに IP 範囲を割り当てるには、次の手順に従います。

  1. Cloud Console の [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] ページを開く

  2. [名前] で、プライベート Cloud Data Fusion インスタンスを作成する VPC ネットワークをクリックします。

  3. [VPC ネットワークの詳細] ページで、[プライベート サービス接続] タブをクリックします。プロンプトが表示されたら、[API を有効にする] をクリックして Service Networking API を有効にします。

    画像

  4. [IP 範囲の割り当て] をクリックします。

    1. IP 範囲に名前を付けます。

    2. [IP 範囲] で [自動] を選択します。

    3. 接頭辞の長さを 22 文字に指定します。

    4. [割り当て] をクリックします。

      画像

プライベート インスタンスを作成する

プライベート Cloud Data Fusion インスタンスを作成する場所は、VPC ネットワークまたは共有 VPC ネットワークです。VPC ネットワーク内にインスタンスを作成する場合は、Cloud Console または cURL を使用します。共有 VPC ネットワーク内にインスタンスを作成する場合は、cURL を使用します。

VPC ネットワーク内にプライベート インスタンスを作成する

Cloud Console を使用してプライベート インスタンスを作成すると、Cloud Data Fusion は IP アドレスの範囲として自動的に /22 を割り当てます。IP 範囲を選択して明示的に割り当てるには、代わりに cURL コマンドを使用する必要があります。

Console

API が有効になっている場合、Cloud Console の Cloud Data Fusion セクションに [インスタンス] ページが表示されます。このページで、Cloud Data Fusion インスタンスを管理できます。インスタンスが存在しない場合、ページにはインスタンスを作成するためのリンクに加え、ドキュメントとサンプルへの便利なリンクも表示されます。

  1. Cloud Console で [インスタンスの作成] ページに移動します。

    [インスタンスの作成] ページを開く

  2. [インスタンス名] を入力します。

  3. インスタンスの [説明] を入力します。

  4. インスタンスを作成する [リージョン] として、限定公開の Google アクセスを有効にしたリージョンを選択します。

  5. 使用する Cloud Data Fusion の [バージョン] を指定します。

  6. 使用する Cloud Data Fusion のエディションを選択します。

  7. Cloud Data Fusion バージョン 6.2.3 以降では、Dataproc で Cloud Data Fusion パイプラインの実行に使用する Dataproc サービス アカウントを指定します。UI がデフォルトの Compute Engine アカウントを事前に選択します。バージョンに関係なく、サービス アカウントにニーズに適した Identity and Access Management のロールがあることを確認してください。詳細については、サービス アカウントのユーザー権限の付与をご覧ください。

  8. [詳細オプション] をクリックします。[プライベート IP] で [プライベート IP を有効にする] を選択します。

  9. [関連付けられたネットワーキング] で、プライベート インスタンスを作成するネットワークを選択します。

  10. [作成] をクリックします。インスタンスの作成プロセスが完了するまで 30 分ほどかかります。

cURL

簡単に処理できるように、次の変数をエクスポートすることも、以下のコマンドで直接これらの値に置き換えることもできます。

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

REST API を使用して Cloud Data Fusion インスタンスを作成するには、次の create API リクエストを送信します。

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1beta1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=instance_id -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "network", "ipAllocation": "ip_range"}}'
パラメータ 説明
instance_id インスタンスの ID を指定します。
network プライベート インスタンスを作成する VPC ネットワークの名前。
ip_range 割り当てた IP 範囲(割り当てた IP 範囲を確認するには、Cloud Console で [VPC ネットワークの詳細] ページに移動し、[プライベート サービス接続] タブで [内部 IP 範囲] の値を確認します)。

共有 VPC ネットワーク内にプライベート インスタンスを作成する

簡単に処理できるように、次の変数をエクスポートできます。または、以下のコマンドで直接これらの値に置き換えることもできます。

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

REST API を使用して Cloud Data Fusion インスタンスを作成するには、次の create API リクエストを送信します。

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1beta1/projects/$PROJECT/locations/$LOCATION/instances?instanceId=instance_id -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "projects/shared_vpc_host_project_id/global/networks/network", "ipAllocation": "ip_range"}}'
  

パラメータ 説明
instance_id インスタンスの ID を指定します。
shared_vpc_host_project_id 共有 VPC ネットワークをホストしているプロジェクトの ID。
network プライベート インスタンスを作成する VPC ネットワークの名前。
ip_range 割り当てた IP 範囲(割り当てた IP 範囲を確認するには、Cloud Console で [VPC ネットワークの詳細] ページに移動し、[プライベート サービス接続] タブで [内部 IP 範囲] の値を確認します)。

VPC ネットワーク ピアリングを設定する

Cloud Data Fusion は、VPC ネットワーク ピアリングを使用して VPC ネットワークへのネットワーク接続を確立します。これにより、Cloud Data Fusion はプライベート IP アドレスを使用してネットワーク上のリソースにアクセスできます。

このセクションでは、ネットワークと Cloud Data Fusion のテナント プロジェクト ネットワークの間にピアリングを構成する方法を説明します。

テナント プロジェクト ID を確認する

ピアリング構成を作成するには、テナント プロジェクト ID が必要です。

  1. Cloud Console で Cloud Data Fusion の [インスタンス] ページに移動します。

    [インスタンス] ページを開く

  2. [インスタンス名] で、インスタンスを選択します。

  3. [インスタンスの詳細] ページで、インスタンスの [サービス アカウント] の値をコピーします。テナント プロジェクト ID は、@ 記号と次のピリオド(.)の間の部分です。たとえば、サービス アカウントの値が次のようになっているとします。
    cloud-datafusion-management-sa@r8170c9b5e7699803-tp.iam.gserviceaccount.com
    この場合、テナント プロジェクト ID は r8170c9b5e7699803-tp です。

    画像

ピアリング接続を作成する

  1. Cloud Console で [VPC ネットワーク ピアリング] ページに移動します。

    [VPC ネットワーク ピアリング] ページを開く

  2. [ピアリング接続の作成] をクリックします。

  3. [続行] をクリックします。

  4. ピアリング接続の名前を入力します。

  5. [VPC ネットワーク] で、Cloud Data Fusion インスタンスを作成したネットワークを選択します。

  6. [ピアリングした VPC ネットワーク] で [別のプロジェクト] を選択します。

  7. [プロジェクト ID] に、このチュートリアルで前に確認したテナント プロジェクト ID を入力します。

  8. [VPC ネットワーク名] に「instance_region-instance_id」と入力します。

    • instance_region は、Cloud Data Fusion インスタンスを作成したリージョンです。
    • instance_id は、Cloud Data Fusion インスタンスの ID です。
  9. [カスタムルートの交換] をクリックします。[カスタムルートのエクスポート] を選択します。これにより、VPC ネットワークで定義されたどのようなカスタムルートでもテナント VPC ネットワークと交換できます。

  10. [作成] をクリック

    画像

IAM 権限を設定する

共有 VPC ネットワークを使用する場合のみ、次の手順に従ってください。 共有 VPC ネットワークを使用していない場合は、このセクションをスキップしてファイアウォール ルールを作成するに移動してください。

共有 VPC ネットワーク内に Cloud Data Fusion インスタンスを作成する場合は、共有 VPC ホスト プロジェクトへのアクセスに対する Compute ネットワーク ユーザーの役割を、次のサービス アカウントに付与する必要があります。

  • Cloud Data Fusion サービス アカウント: service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com
  • Dataproc サービス アカウント: service-project-number@dataproc-accounts.iam.gserviceaccount.com

project-number は、Cloud Data Fusion インスタンスが属する Cloud Console プロジェクト番号です。

必要なサービス アカウントにこの手順に従ってアクセス権を付与してください。

ファイアウォール ルールの作成

プライベート Cloud Data Fusion インスタンスの作成時に指定した IP 範囲からの受信 SSH 接続を許可するファイアウォール ルールを VPC ネットワーク上に作成します。

ファイアウォール ルールを作成するには、Cloud Console を使用することも、gcloud を使用することもできます。gcloud を使用する場合は、次のコマンドを実行します。

  gcloud compute firewall-rules create name-allow-ssh --allow=tcp:22 --source-ranges=ip_range --network=network --project=project
  

パラメータ 説明
name 作成するファイアウォール ルールの名前。
ip_range 割り当てた IP 範囲(割り当てた IP 範囲を確認するには、Cloud Console で [VPC ネットワークの詳細] ページに移動し、[プライベート サービス接続] タブで [内部 IP 範囲] の値を確認します)。
network このルールを適用するネットワーク。プライベート インスタンスを作成した VPC ネットワークの名前。
project VPC ネットワークをホストしているプロジェクトの ID。


プライベート Cloud Data Fusion インスタンスを使用できるようになりました。

次のステップ