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)インスタンスが必要です。最初のインターフェースはプロデューサー サブネットに接続します。もう 1 つのインターフェースは、さまざまなコンシューマー 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 範囲を割り振ると、ネットワーク アタッチメントに関連付けられているサブネットのプライマリ IP アドレス範囲から、Google Cloud によってエイリアス 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 に置き換えます。この 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 ID が4
である動的インターフェースの親は、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 に置き換えます。この 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 ID が4
である動的インターフェースの親は、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~4,094 の範囲の整数)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~4,094 の整数)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 に置き換えます。この 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 イメージが使用されます。MACHINE_TYPE
: インスタンスのマシンタイプ(事前定義またはカスタム)。たとえば、n1-standard-1
です。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 に置き換えます。この 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 インターフェース接続のあるネットワークで宛先の重複を管理する。