Private Service Connect インターフェースの作成と管理
このページでは、プロデューサー ネットワーク管理者が Private Service Connect インターフェースを作成して管理する方法について説明します。Private Service Connect インターフェースを使用すると、サービス プロデューサーの Virtual Private Cloud(VPC)ネットワークからコンシューマー VPC ネットワークへの接続を開始できます。
始める前に
- プロジェクトで Compute Engine API を有効にする必要があります。
- 接続するネットワーク アタッチメントの URL を見つけます。
- ネットワーク アタッチメントが接続を手動で受け入れるように構成されている場合は、ネットワーク管理者がプロジェクトをネットワーク アタッチメントの承認リストに追加していることを確認します。
ロール
Private Service Connect インターフェースの作成に必要な権限を取得するには、プロジェクトに対して次の IAM ロールを付与するよう管理者に依頼してください。
- Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) -
Compute ネットワーク管理者(
roles/compute.networkAdmin
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Compute インスタンス管理者(v1)ロールには、Private Service Connect インターフェースを作成するために必要な compute.instances.pscInterfaceCreate
権限が含まれています。
Private Service Connect インターフェースを持つ VM を作成する
Private Service Connect インターフェース接続を作成するには、2 つ以上のネットワーク インターフェースを持つ仮想マシン(VM)インスタンスが必要です。最初のインターフェースはプロデューサー サブネットに接続します。他のインターフェースは、異なるコンシューマー VPC ネットワークのネットワーク アタッチメントへの接続をリクエストする Private Service Connect インターフェースにできます。
接続が受け入れられると、ネットワーク アタッチメントで指定されたサブネットから内部 IP アドレスが Google Cloud によって Private Service Connect インターフェースに割り当てられます。
複数の Private Service Connect インターフェースを持つ VM を作成する場合は、各 Private Service Connect インターフェースを別の VPC ネットワークにある異なるネットワーク アタッチメントに接続する必要があります。
手動で接続を受け入れるネットワーク アタッチメントを参照する Private Service Connect インターフェースを作成した場合、インターフェースのプロジェクトがネットワーク アタッチメントの承認リストに含まれていないと、Private Service Connect インターフェースの VM の作成に失敗します。その場合は、コンシューマー組織と協力してプロジェクトを承認リストに追加してから、Private Service Connect インターフェースを作成します。
Private Service Connect インターフェースを作成するときに、1 つ以上の内部エイリアス IP 範囲を割り当てることができます。エイリアス IP 範囲を割り当てる場合は、コンシューマー組織に連絡して、適切な IP アドレス範囲を決めてください。
エイリアス IP 範囲を割り当てるには、範囲のプレフィックス長を CIDR 表記で指定します。Private Service Connect インターフェースに 1 つ以上のエイリアス IP 範囲を割り当てると、Google Cloud はネットワーク アタッチメントに関連付けられているサブネットのプライマリ IP アドレス範囲からエイリアス IP 範囲を割り振ります。Private Service Connect インターフェースのプライマリ IP アドレスは、エイリアス IP 範囲の外部から割り振られます。ネットワーク アタッチメントのサブネットで、プライマリ IP アドレスとエイリアス IP 範囲の割り振りに十分な IP アドレスがない場合、Private Service Connect インターフェースの VM の作成は失敗します。割り当てられた特定の IP アドレスは、インターフェースの VM の説明を取得することで確認できます。
動的 Private Service Connect インターフェース(プレビュー)を作成するには、gcloud CLI を使用するか、API リクエストを送信します。
コンソール
Google Cloud コンソールで [VM インスタンス] ページに移動します。
[インスタンスを作成] をクリックします。
名前を入力します。
接続するネットワーク アタッチメントのリージョンと一致するリージョンを選択します。
ゾーンを選択します。
[詳細オプション] をクリックします。
[ネットワーキング] をクリックします。
[ネットワーク インターフェース] セクションで、最初のネットワーク インターフェース(プライマリ ネットワーク インターフェース)をクリックして、次の操作を行います。
- プライマリ ネットワーク インターフェースのネットワークを選択します。
- プライマリ ネットワーク インターフェースのサブネットを選択します。このサブネットは、Private Service Connect インターフェースのネットワーク アタッチメントと同じリージョンに存在する必要があります。
[ネットワーク インターフェースを追加] をクリックします。
[インターフェース タイプ] で [Private Service Connect] を選択します。
ネットワーク アタッチメントの URL を入力します。
IP スタックタイプを選択します。デュアルスタック Private Service Connect インターフェースを作成するには、ネットワーク アタッチメントのサブネットがデュアルスタックである必要があります。
省略可: エイリアス IP 範囲を追加するには、[プレフィックス長] ボックスにプレフィックス長を入力します(例:
/30
)。複数のエイリアス IP 範囲を追加するには、[IP の範囲を追加] をクリックして、追加するエイリアス IP 範囲ごとにプレフィックス長を入力します。[完了] をクリックします。
[作成] をクリックします。
gcloud
仮想 Private Service Connect インターフェースを持つ VM を作成するには、
gcloud compute instances create
コマンドを使用します。gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,stack-type=STACK_TYPE
次のように置き換えます。
INSTANCE_NAME
: 新しいインスタンスの名前ZONE
: 新しいインスタンスのゾーンMACHINE_TYPE
: インスタンスのマシンタイプ(事前定義またはカスタム)。例:n1-standard-1
IMAGE_PROJECT
: イメージ ファミリーのプロジェクトたとえば、イメージ ファミリーとして
debian-12
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。使用可能なイメージ、イメージ プロジェクト、イメージ ファミリーのリストを表示するには、gcloud compute images list
コマンドを使用します。IMAGE_FAMILY
: インスタンスのイメージ ファミリーこれにより、イメージ ファミリーの非推奨ではない最新の OS イメージから VM が作成されます。たとえば、
debian-12
を指定すると、Compute Engine は Debian 12 イメージ ファミリーの最新バージョンの OS イメージを使用します。PRODUCER_SUBNET
: VM のプライマリ ネットワーク インターフェースのサブネットこのサブネットは、Private Service Connect インターフェースのネットワーク アタッチメントと同じリージョンに存在する必要があります。
ATTACHMENT_URI
: ネットワーク アタッチメントの URI。例:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
STACK_TYPE
: 動的 Private Service Connect インターフェースのスタックタイプ。IPv4 アドレスのインターフェースを作成するには、
IPV4_ONLY
(デフォルト)を指定します。IPv4 アドレスと IPv6 アドレスの両方を使用するインターフェース(デュアルスタック)を作成するには、IPV4_IPV6
を指定します。デュアルスタック インターフェースを作成できるのは、インターフェースのネットワーク アタッチメントがデュアルスタック サブネットに関連付けられている場合のみです。
動的 Private Service Connect インターフェース(プレビュー)を持つ VM を作成するには、
gcloud beta compute instances create
コマンドを使用します。VLAN ID を含めて、動的 Private Service Connect インターフェースの作成を指定します。gcloud beta compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,vlan=VLAN_ID,stack-type=STACK_TYPE'
VLAN_ID
は、動的 Private Service Connect インターフェースの VLAN ID に置き換えます。これは 2~255 の整数にする必要があります。VLAN ID は、親 vNIC を共有する動的インターフェースで一意である必要があります。異なる vNIC に関連付けられている他の動的インターフェースには同じ ID を再利用できます。
エイリアス IP 範囲を Private Service Connect インターフェースに割り当てるには、次のリクエストを送信します。
gcloud beta compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,vlan=VLAN_ID,stack-type=STACK_TYPE,aliases=ALIAS_IP_RANGES'
ALIAS_IP_RANGES
は、インターフェースに割り当てる 1 つ以上のエイリアス IP 範囲に置き換えます。特定の範囲(192.168.100.0/24
)、特定の IP アドレス(192.168.100.1
)、または CIDR 形式のプレフィックス長(/24
)を入力できます。複数の値を入力する場合は、セミコロンで区切ったリストを使用します。型の異なる複数の値を入力することはできません。たとえば、192.168.100.0/24;/28
はサポートされていません。複数の Private Service Connect インターフェースを持つ VM を作成するには、インターフェースごとに個別の
--network-interface
フラグを指定します。各フラグは異なるネットワーク アタッチメントを参照します。動的 Private Service Connect インターフェースの場合、親 vNIC はコマンドのフラグの順序によって決まります。親 vNIC は、動的インターフェースの前に指定する最初の vNIC です。
同じ VM 上に共存する動的 Private Service Connect インターフェースと仮想 Private Service Connect インターフェースを作成できます。たとえば、次のコマンドは、仮想 Private Service Connect インターフェースと動的 Private Service Connect インターフェースの両方を持つ VM を作成します。
VLAN ID
2
と3
を持つ動的 Private Service Connect インターフェースの親は、producer-subnet
に接続する最初の vNIC です。VLAN ID4
を持つ動的インターフェースの親は、producer-subnet-2
に接続する vNIC です。最後のインターフェースは、仮想 Private Service Connect インターフェースです。gcloud beta compute instances create producer-vm \ --zone=us-west-1a \ --network-interface='subnet=producer-subnet,no-address' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-1-network-attachment,vlan=2' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-2-network-attachment,vlan=3' \ --network-interface='network=producer-vpc-2,subnet=producer-subnet-2' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-3-network-attachment,vlan=4' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-4-network-attachment'
API
仮想 Private Service Connect インターフェースを持つ VM を作成するには、
instances.insert
メソッドにリクエストを送信します。HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
リクエストの本文(JSON):
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "stackType": "STACK_TYPE" } ] }
次のように置き換えます。
PRODUCER_PROJECT_ID
: VM のプロジェクトの IDINSTANCE_ZONE
: 新しいインスタンスのゾーンMACHINE_TYPE_ZONE
: マシンタイプのゾーンMACHINE_TYPE
: インスタンスのマシンタイプ(事前定義またはカスタム)。例:n1-standard-1
VM_NAME
: VM インスタンスの名前IMAGE_PROJECT
: イメージ ファミリーのプロジェクトたとえば、イメージ ファミリーとして
debian-12
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。使用可能なイメージ、イメージ プロジェクト、イメージ ファミリーのリストを表示するには、gcloud compute images list
コマンドを使用します。IMAGE_FAMILY
: インスタンスのイメージ ファミリーこれにより、イメージ ファミリーの非推奨ではない最新の OS イメージから VM が作成されます。たとえば、
debian-12
を指定すると、Compute Engine は Debian 12 イメージ ファミリーの最新バージョンの OS イメージを使用します。PRODUCER_NETWORK
: VM のプライマリ ネットワーク インターフェースのネットワーク。SUBNET_REGION
: VM のプライマリ ネットワーク インターフェースのサブネットのリージョンPRODUCER_SUBNET
: VM のプライマリ ネットワーク インターフェースのサブネットこのサブネットは、Private Service Connect インターフェースのネットワーク アタッチメントと同じリージョンに存在する必要があります。
ATTACHMENT_URI
: ネットワーク アタッチメントの URI。例:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
STACK_TYPE
: 動的 Private Service Connect インターフェースのスタックタイプ。IPv4 アドレスのインターフェースを作成するには、
IPV4_ONLY
(デフォルト)を指定します。IPv4 アドレスと IPv6 アドレスの両方を使用するインターフェース(デュアルスタック)を作成するには、IPV4_IPV6
を指定します。デュアルスタック インターフェースを作成できるのは、インターフェースのネットワーク アタッチメントがデュアルスタック サブネットに関連付けられている場合のみです。
動的 Private Service Connect インターフェース(プレビュー)を持つ VM を作成するには、
instances.insert
メソッドのベータ版にリクエストを送信します。ネットワーク インターフェース オブジェクトに VLAN ID を含めて、動的 Private Service Connect インターフェースの作成を指定します。HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/beta/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
リクエストの本文(JSON):
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/beta/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/beta/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "vlan": VLAN_ID, "stackType": "IPV4_IPV6" } ] }
VLAN_ID
は、動的 Private Service Connect インターフェースの VLAN ID に置き換えます。これは 2~255 の整数にする必要があります。VLAN ID は、親 vNIC を共有する動的インターフェースで一意である必要があります。異なる vNIC に関連付けられている他の動的インターフェースには同じ ID を再利用できます。
エイリアス IP 範囲を Private Service Connect インターフェースに割り当てるには、
aliasesIpRanges
フィールドを含めます。HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
リクエストの本文(JSON):
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "aliasIpRanges": [ { "ipCidrRange": "ALIAS_IP_RANGE" } ], "networkAttachment": "ATTACHMENT_URI" } ] }
ALIAS_IP_RANGE
は、インターフェースに割り当てるエイリアス IP 範囲に置き換えます。特定の範囲(192.168.100.0/24
)、特定の IP アドレス(192.168.100.1
)、CIDR 形式のプレフィックス長(/24
)を入力できます。aliasIpRanges
配列で複数のエイリアス IP 範囲を指定できます。各範囲は同じ形式で指定する必要があります。"aliasIpRanges": [ { "ipCidrRange": "/28" }, { "ipCidrRange": "/30" } ]
複数の Private Service Connect インターフェースを持つ VM を作成するには、インターフェースごとに
networkInterfaces
配列に個別のオブジェクトを含めます。各インターフェース オブジェクトは、異なるネットワーク アタッチメントを参照します。動的 Private Service Connect インターフェースの場合、親 vNIC は配列内のオブジェクトの順序によって決まります。親 vNIC は、動的インターフェースの前に指定する最初の vNIC です。
同じ VM 上に共存する動的 Private Service Connect インターフェースと仮想 Private Service Connect インターフェースを作成できます。たとえば、次のリクエストは、仮想 Private Service Connect インターフェースと動的 Private Service Connect インターフェースの両方を持つ VM を作成します。
VLAN ID
2
と3
を持つ動的 Private Service Connect インターフェースの親は、producer-subnet
に接続する最初の vNIC です。VLAN ID4
を持つ動的インターフェースの親は、producer-subnet-2
に接続する vNIC です。最後のインターフェースは、仮想 Private Service Connect インターフェースです。{ "machineType": "zones/us-west-1a/machineTypes/e2-medium", "name": "producer-vm", "disks": [ { "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11" }, "boot": true } ], "networkInterfaces": [ { "network": "https://www.googleapis.com/compute/beta/projects/producer-project-id/global/networks/producer-vpc-1", "subnetwork": "https://www.googleapis.com/compute/beta/projects/producer-project-id/regions/us-west-1/subnetworks/producer-subnet" }, { "networkAttachment": "projects/consumer-project1/regions/us-west-1/networkAttachments/consumer-1-network-attachment", "vlan": 2 }, { "networkAttachment": "projects/consumer-project2/regions/us-west-1/networkAttachments/consumer-2-network-attachment", "vlan": 3 }, { "network": "https://www.googleapis.com/compute/beta/projects/producer-project-id/global/networks/producer-vpc-2", "subnetwork": "https://www.googleapis.com/compute/beta/projects/producer-project-id/regions/us-west-1/subnetworks/producer-subnet-2" }, { "networkAttachment": "projects/consumer-project3/regions/us-west-1/networkAttachments/consumer-3-network-attachment", "vlan": 4 }, { "networkAttachment": "projects/consumer-project4/regions/us-west-1/networkAttachments/consumer-4-network-attachment" } ] } ```
VM インスタンスの作成の詳細については、VM インスタンスの作成と開始をご覧ください。
既存の VM に動的 Private Service Connect インターフェースを追加する
VM を再起動せずに、既存の VM に動的 Private Service Connect インターフェースを追加できます。
新しい Private Service Connect インターフェースをトラフィックが通過できるようにするには、ルーティングを構成する必要があります。
gcloud
既存の VM に単一の動的 Private Service Connect インターフェースを追加するには、gcloud beta compute instances network-interfaces add
コマンドを使用します。
複数の動的 Private Service Connect インターフェースを追加するには、追加するインターフェースごとにコマンドを繰り返します。
gcloud beta compute instances network-interfaces add INSTANCE_NAME \ --zone=ZONE \ --vlan=VLAN_ID \ --parent-nic-name=PARENT_NIC_NAME \ --network-attachment=ATTACHMENT_URI
次のように置き換えます。
INSTANCE_NAME
: 更新するインスタンスの名前ZONE
: 更新するインスタンスのゾーンVLAN_ID
: 動的 Private Service Connect インターフェースの ID(2~4094 の整数)VLAN ID は、親 vNIC を共有する動的インターフェースで一意である必要があります。異なる vNIC に関連付けられている他の動的インターフェースには同じ ID を再利用できます。
PARENT_NIC_NAME
: 新しい VLAN NIC の親ネットワーク インターフェースの名前(例:nic0
)。ATTACHMENT_URI
: ネットワーク アタッチメントの URI。例:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
API
既存の VM に単一の動的 Private Service Connect インターフェースを追加するには、instances.addNetworkInterface
メソッドのベータ版にリクエストを送信します。
複数の動的 Private Service Connect インターフェースを追加するには、追加するインターフェースごとにリクエストを繰り返します。
HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addNetworkInterface
リクエストの本文(JSON):
{ "networkAttachment": "ATTACHMENT_URI", "parentNicName": "PARENT_NIC_NAME", "vlan": VLAN_ID }
次のように置き換えます。
PROJECT_ID
: VM のプロジェクトの IDZONE
: VM のゾーンINSTANCE_NAME
: 更新する VM の名前ATTACHMENT_URI
: ネットワーク アタッチメントの URI。例:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
PARENT_NIC_NAME
: 新しい VLAN NIC の親ネットワーク インターフェースの名前。例:nic0
VLAN_ID
: VLAN NIC Private Service Connect インターフェースの ID(2~4094 の整数)VLAN NIC インターフェース ID は、親ネットワーク インターフェースの下にある各 VLAN NIC で一意である必要がありますが、異なる親ネットワーク インターフェースに関連付けられている他の VLAN NIC で同じ ID を再利用することは可能です。
仮想 Private Service Connect インターフェースから動的 Private Service Connect インターフェースに移行する
仮想 Private Service Connect インターフェースではなく動的 Private Service Connect インターフェースを使用するようにサービスを構成するには、次の操作を行います。
- 動的 Private Service Connect インターフェースを使用する VM を作成します。
- 新しい VM のルーティングを構成します。
- 新しい VM を使用するようにサービスを更新します。
- 仮想 Private Service Connect インターフェースを使用する VM を削除します。
インスタンス テンプレートを使用して Private Service Connect インターフェースを作成して管理する
インスタンス テンプレートを使用して、Private Service Connect インターフェースを作成して管理できます。
インスタンス テンプレートを作成すると、次のことができます。
- Private Service Connect インターフェースを使用するリージョン マネージド インスタンス グループ(MIG)を作成する
Private Service Connect インターフェースの追加や削除など、既存の MIG に新しい構成を適用する
既存の MIG に新しい構成を適用する場合は、自動更新または選択更新の最小の中断レベルと最大の中断レベルを指定できます。Private Service Connect インターフェースを使用する MIG は、最大中断値
RESTART
とREPLACE
のみをサポートします。最大中断レベルがREFRESH
の MIG を更新するオペレーションは失敗します。
動的 Private Service Connect インターフェース(プレビュー)を使用してインスタンス テンプレートを作成するには、Google Cloud CLI を使用するか、API リクエストを送信します。
エイリアス IP 範囲または複数の Private Service Connect インターフェースを使用するインスタンス テンプレートを作成するには、Private Service Connect インターフェースを使用して VM を作成する場合と同じ構文を使用します。インスタンス テンプレートでは、プレフィックス長によるエイリアス IP 範囲の指定のみがサポートされています。
コンソール
Google Cloud コンソールで、[インスタンス テンプレート] ページに移動します。
[インスタンス テンプレートを作成] をクリックします。
[名前] にインスタンス テンプレートの名前を入力します。
[詳細オプション] をクリックします。
[ネットワーキング] をクリックします。
[ネットワーク インターフェース] セクションで、展開矢印
をクリックします。インスタンス テンプレートのプライマリ ネットワーク インターフェースのネットワークとサブネットワークを選択します。
[完了] をクリックします。
[ネットワーク インターフェースを追加] をクリックします。
[Private Service Connect] をクリックします。
このインターフェースが接続するネットワーク アタッチメントの URL を入力します。
IP スタックタイプを選択します。
[完了] をクリックします。
[作成] をクリックします。
gcloud
仮想 Private Service Connect インターフェースを含むインスタンス テンプレートを作成するには、
gcloud compute instance-templates create
コマンドを使用します。gcloud compute instance-templates create NAME \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --region=REGION \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,stack-type=STACK_TYPE'
次のように置き換えます。
NAME
: 新しいインスタンス テンプレートの名前MACHINE_TYPE
: インスタンスのマシンタイプ(事前定義またはカスタム)。例:n1-standard-1
IMAGE_PROJECT
: イメージ ファミリーのプロジェクトたとえば、イメージ ファミリーとして
debian-12
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。使用可能なイメージ、イメージ プロジェクト、イメージ ファミリーのリストを表示するには、gcloud compute images list
コマンドを使用します。IMAGE_FAMILY
: インスタンスのイメージ ファミリーこれにより、イメージ ファミリーの非推奨ではない最新の OS イメージから VM が作成されます。たとえば、
debian-12
を指定すると、Compute Engine は Debian 12 イメージ ファミリーの最新バージョンの OS イメージを使用します。REGION
: インスタンス テンプレートのプロデューサー サブネットのリージョン。PRODUCER_SUBNET
: インスタンス テンプレートのサブネット。このインスタンス テンプレートを使用して VM を作成すると、VM のプライマリ ネットワーク インターフェースには、このサブネットから内部 IP アドレスが割り当てられます。このサブネットは、Private Service Connect インターフェースのネットワーク アタッチメントと同じリージョンに存在する必要があります。
ATTACHMENT_URI
: ネットワーク アタッチメントの URI。例:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
STACK_TYPE
: インスタンステンプレートの動的 Private Service Connect インターフェースのスタックタイプ。IPv4 アドレスを持つインターフェースを追加するには、
IPV4_ONLY
(デフォルト)を指定します。IPv4 アドレスと IPv6 アドレスの両方を使用するインターフェース(デュアルスタック)を追加するには、IPV4_IPV6
を指定します。デュアルスタック インターフェースを作成できるのは、インターフェースのネットワーク アタッチメントがデュアルスタック サブネットに関連付けられている場合のみです。
動的 Private Service Connect インターフェースを含むインスタンス テンプレートを作成するには、
gcloud beta compute instance-templates create
コマンドを使用します。gcloud beta compute instance-templates create NAME \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --region=REGION \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,vlan=VLAN_ID,stack-type=STACK_TYPE'
VLAN_ID
は、動的 Private Service Connect インターフェースの VLAN ID に置き換えます。これは 2~255 の整数にする必要があります。VLAN ID は、親 vNIC を共有する動的インターフェースで一意である必要があります。異なる vNIC に関連付けられている他の動的インターフェースには同じ ID を再利用できます。
API
仮想 Private Service Connect インターフェースを含むインスタンス テンプレートを作成するには、
instanceTemplates.insert
メソッドにリクエストを送信します。HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
リクエストの本文(JSON):
{ "name": "NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "stackType": "STACK_TYPE" } ] } }
次のように置き換えます。
PROJECT_ID
: インスタンス テンプレートのプロジェクト IDNAME
: 新しいインスタンス テンプレートの名前IMAGE_PROJECT
: イメージ ファミリーのプロジェクトたとえば、イメージ ファミリーとして
debian-12
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。使用可能なイメージ、イメージ プロジェクト、イメージ ファミリーのリストを表示するには、gcloud compute images list
コマンドを使用します。IMAGE_FAMILY
: インスタンスのイメージ ファミリーこれにより、イメージ ファミリーの非推奨ではない最新の OS イメージから VM が作成されます。たとえば、
debian-12
を指定すると、Compute Engine は Debian 12 イメージ ファミリーの最新バージョンの OS イメージを使用します。SUBNET_REGION
: インスタンス テンプレートのプロデューサー サブネットのリージョン。PRODUCER_SUBNET
: インスタンス テンプレートのサブネット。このインスタンス テンプレートを使用して VM を作成すると、VM のプライマリ ネットワーク インターフェースには、このサブネットから内部 IP アドレスが割り当てられます。このサブネットは、Private Service Connect インターフェースのネットワーク アタッチメントと同じリージョンに存在する必要があります。
ATTACHMENT_URI
: ネットワーク アタッチメントの URI。例:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
STACK_TYPE
: インスタンステンプレートの動的 Private Service Connect インターフェースのスタックタイプ。IPv4 アドレスを持つインターフェースを追加するには、
IPV4_ONLY
(デフォルト)を指定します。IPv4 アドレスと IPv6 アドレスの両方を使用するインターフェース(デュアルスタック)を追加するには、IPV4_IPV6
を指定します。デュアルスタック インターフェースを作成できるのは、インターフェースのネットワーク アタッチメントがデュアルスタック サブネットに関連付けられている場合のみです。
動的 Private Service Connect インターフェースを含むインスタンス テンプレートを作成するには、
instanceTemplates.insert
メソッドのベータ版にリクエストを送信します。HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/instanceTemplates
リクエストの本文(JSON):
{ "name": "NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "subnetwork": "https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "vlan": VLAN_ID, "stackType": "STACK_TYPE" } ] } }
VLAN_ID
は、動的 Private Service Connect インターフェースの VLAN ID に置き換えます。これは 2~255 の整数にする必要があります。VLAN ID は、親 vNIC を共有する動的インターフェースで一意である必要があります。異なる vNIC に関連付けられている他の動的インターフェースには同じ ID を再利用できます。
インスタンス テンプレート作成の詳細については、インスタンス テンプレートを作成するをご覧ください。
Private Service Connect インターフェースの説明を取得する
VM の説明を取得して、Private Service Connect インターフェースの詳細を表示できます。各インターフェースの IP アドレス、エイリアス IP 範囲、ネットワーク アタッチメント、コンシューマー サブネットは、VM の説明のネットワーク インターフェース セクションに一覧表示されます。
動的 Private Service Connect インターフェースの説明を取得するには、gcloud CLI を使用するか、API リクエストを送信します。
コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
Private Service Connect インターフェースがある VM をクリックします。
[ネットワーク インターフェース] セクションで、Private Service Connect インターフェースの詳細を表示します。
gcloud
gcloud beta compute instances describe VM_NAME --zone=ZONE
次のように置き換えます。
VM_NAME
: インターフェースの VM の名前。ZONE
: VM のゾーン。
API
GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
次のように置き換えます。
PROJECT_ID
: VM のプロジェクト ID。ZONE
: VM のゾーン。VM_NAME
: VM の名前。
Private Service Connect インターフェース接続を終了する
仮想 Private Service Connect インターフェースとネットワーク アタッチメント間の接続を終了するには、インターフェースの VM を削除します。
動的 Private Service Connect インターフェースとネットワーク アタッチメント間の接続を終了するには、次のいずれかを行います。
- 動的 Private Service Connect インターフェースを削除します。
- 動的 Private Service Connect インターフェースの VM を削除します。
動的 Private Service Connect インターフェースを削除する
関連付けられている VM を再起動せずに、動的 Private Service Connect インターフェースを削除できます。
gcloud
gcloud beta compute instances network-interfaces delete
コマンドを使用します。
gcloud beta compute instances network-interfaces delete INSTANCE_NAME \ --zone=ZONE \ --network-interface=INTERFACE_NAME
次のように置き換えます。
INSTANCE_NAME
: インターフェースの VM インスタンスの名前ZONE
: インターフェースの VM インスタンスのゾーンINTERFACE_NAME
: 削除する動的 Private Service Connect インターフェースの Google Cloud 名たとえば、
nic0.10
は動的 Private Service Connect インターフェースの名前です。ここで、nic0
は親、10
は VLAN ID です。
API
instances.deleteNetworkInterface
メソッドのベータ版にリクエストを送信します。
HTTP メソッドと URL:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/deleteNetworkInterface?networkInterfaceName=INTERFACE_NAME
次のように置き換えます。
PROJECT_ID
: インターフェースの VM のプロジェクト IDZONE
: インターフェースの VM のゾーンINSTANCE_NAME
: インターフェースの VM の名前INTERFACE_NAME
: 削除する動的 Private Service Connect インターフェースの Google Cloud 名たとえば、
nic0.10
は動的 Private Service Connect インターフェースの名前です。ここで、nic0
は親 vNIC 名、10
は VLAN ID です。
Private Service Connect インターフェースを持つ VM を削除する
VM を削除すると、Private Service Connect インターフェースの接続が終了します。
VM の削除については、インスタンスを削除するをご覧ください。
次のステップ
- Private Service Connect インターフェースのルーティングを構成する。
- Private Service Connect インターフェース接続があるネットワークにセキュリティを構成する。
- Private Service Connect インターフェース接続のあるネットワークで宛先の重複を管理する。