このページの手順に沿って、コンピューティング インスタンスのネットワーク インターフェース、ネットワーク、サブネット、IP アドレスを表示します。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、サービスと API にアクセスするために ID を確認するプロセスです。 Google Cloud ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
-
必要なロール
インスタンスのネットワーク構成を表示するために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(roles/compute.instanceAdmin.v1
)または Compute ネットワーク管理者(roles/compute.networkAdmin
)の IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
この事前定義ロールには、インスタンスのネットワーク構成を表示するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
インスタンスのネットワーク構成を表示するには、次の権限が必要です。
-
インスタンスのネットワーク構成を表示する: インスタンスの
compute.instances.get
-
インスタンスの IP アドレスを表示する: プロジェクトに対する
compute.instances.list
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
IP アドレスを表示する
インスタンスの内部 IP アドレスと外部 IP アドレスを表示できます。IP アドレスは IPv4 または IPv6 アドレスにできます。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
省略可:
[フィルタ] ボックスを使用して、表示されるインスタンス数を制限します。インスタンスに外部 IP アドレスがある場合は、[外部 IP] 列にアドレスが表示されます。
インスタンスに外部 IP アドレスがない場合は、アドレスを割り振ることができます。
列表示オプションによっては、上の画像に表示されている列よりも多くの列または少ない列が表示される場合があります。
インスタンスの IP アドレスを表示するには、次の 2 つのコマンドを使用できます。
gcloud compute instances list
には、コンピューティング インスタンスで使用されるすべての IP アドレス(静的またはエフェメラル)が表示されます。gcloud compute addresses list
には、コンピューティング インスタンスに割り当てられている予約済み IP アドレスがすべて表示されます。
このタスクでは、gcloud compute instances
コマンドを使用して IP アドレスを表示する方法について説明します。
インスタンスの内部 IP アドレスと外部 IP アドレスを表示するには、
gcloud compute instances list
コマンドを使用します。gcloud compute instances list
--filter
句を追加して、コマンドから返されるインスタンスの数を制限できます(例:--filter='zone:us-central1-c'
)。出力は次のようになります。
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS webapp1 us-central1-c c3-highmem-88 true 192.0.2.11 RUNNING my-instance us-central1-c n4-standard-2 192.0.2.126 203.0.113.6 RUNNING my-dual-stack us-central1-a e2-micro 192.0.2.54 203.0.113.7 RUNNING 2001:db8:2:2:2:2:2:2/96 new-ipv6-only us-central1-a n4-standard-2 2001:db8:1:1:1:1:1:1/96 RUNNING
特定のインスタンスの内部 IP アドレスまたは外部 IP アドレスを表示するには、
--format
フラグを使用してgcloud compute instances describe
コマンドを使用し、出力をフィルタリングします。特定のインスタンスの内部 IP アドレスを表示するには、次のいずれかのコマンドを使用します。
IPv4 アドレス:
gcloud compute instances describe
INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].networkIP)'192.0.2.11
IPv6 アドレス:
gcloud compute instances describe
INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].ipv6Address)'2001:db8:2:2:2:2:2:2
特定のインスタンスの外部 IP アドレスを表示するには、次のいずれかのコマンドを使用します。
IPv4 アドレス:
gcloud compute instances describe
INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].accessConfigs[0].natIP)'203.0.113.6
IPv6 アドレス:
gcloud compute instances describe
INSTANCE_NAME \ --zone=ZONE \ --format='get(networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)'2001:db8:3:3:3:3:3:3
次のように置き換えます。
INSTANCE_NAME
: 内部 IP または外部 IP を表示するインスタンスの名前ZONE
: インスタンスが存在するゾーンの名前。
コマンドが IP アドレスを返さない場合、インスタンスに外部 IP アドレスが構成されていません。
instances.get
メソッドに GET
リクエストを送信します。$fields
クエリ パラメータをリクエストに追加すると、出力を目的のフィールドのみに制限できます。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME /zones/ZONE /instances/INSTANCE_NAME $fields=name,networkInterfaces.networkIP,networkInterfaces.accessConfigs.natIP,networkInterfaces.ipv6AccessConfigs.externalIpv6
次のように置き換えます。
PROJECT_NAME
: インスタンスが含まれているプロジェクトの名前。ZONE
: クエリを実行するインスタンスのゾーン。INSTANCE_NAME
: 返されるインスタンス リソースの名前。
いずれかの IP アドレスが構成されていない場合、そのフィールドは出力に表示されません。外部 IPv6 アドレスを持つデュアルスタック ネットワークを使用するコンピューティング インスタンスの場合、レスポンス本文は次のようになります。
{ "name": "my-dual-stack-vm", "networkInterfaces": [ { "networkIP": "10.0.0.2", "accessConfigs": [ { "natIP": "104.155.21.204" } ], "ipv6AccessConfigs": [ { "externalIpv6": "2600:1900:4010:8b2:0:0:0:0" } ] } ] }
必要な情報は次のフィールドに含まれています。
networkIP
: 割り当てられた内部 IPv4 アドレス。natIP
: 割り当てられた外部 IPv4 アドレス。externalIpv6
: 割り当てられた外部 IPv6 アドレス。
インスタンスのネットワーク インターフェースを表示する
各コンピューティング インスタンスには、少なくとも 1 つのネットワーク インターフェースがあります。インスタンスのネットワーク インターフェースの構成プロパティは、次の方法で表示できます。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
省略可:
[フィルタ] ボックスを使用して、表示されるインスタンス数を制限します。検査するインスタンスの名前をクリックします。
[ネットワーキング] セクションの [ネットワーク インターフェース] で、インスタンス用に作成されたネットワーク インターフェース(NIC)、各 NIC に関連付けられたネットワークとサブネット、割り振られた IP アドレスを確認できます。
NIC の名前をクリックして、[ネットワーク インターフェースの詳細] ページを開きます。このページでは、NIC で使用されているファイアウォールとルートを確認できます。また、NIC の接続テストも実行できます。
コンピューティング インスタンスのネットワーク インターフェース(NIC)を表示するには、gcloud compute instances describe
コマンドを使用します。コマンドに --format
オプションを追加すると、返される情報を特定のフィールドに制限し、表示方法を変更できます。次に例を示します。
gcloud compute instances describeINSTANCE_NAME --zone=ZONE \ --format="flattened(name,networkInterfaces[].name, networkInterfaces[].network.basename(), networkInterfaces[].stackType, networkInterfaces[].nicType)"
このコマンドでは、次のような出力が返されます。
name: my-multinic-vm networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY networkInterfaces[1].name: nic1 networkInterfaces[1].network: appnet-vpc-0 networkInterfaces[1].nicType: GVNIC networkInterfaces[1].stackType: IPV4_IPV6
instances.get
メソッドに対して GET
リクエストを作成します。リクエストに $fields
クエリ パラメータを追加すると、出力を networkInterfaces
プロパティのみに制限できます。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME /zones/ZONE /instances/INSTANCE_NAME ?$fields=networkInterfaces
次のように置き換えます。
PROJECT_NAME
: インスタンスを含むプロジェクトの名前。ZONE
: クエリを実行するインスタンスのゾーン。INSTANCE_NAME
: 返されるインスタンス リソースの名前。
レスポンス本文は次のようになります。
{ "networkInterfaces": [ { "kind": "compute#networkInterface", "network": "https://www.googleapis.com/compute/v1/projects/my-project/global/networks/network-name-1", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-name-1", "networkIP": "10.128.0.15", "name": "nic0", "accessConfigs": [ { "kind": "compute#accessConfig", "type": "ONE_TO_ONE_NAT", "name": "External NAT", "networkTier": "PREMIUM" } ], "fingerprint": "mBy9xvkWA9M=", "stackType": "IPV4_ONLY", "nicType": "GVNIC" }, { "kind": "compute#networkInterface", "network": "https://www.googleapis.com/compute/v1/projects/my-project/global/networks/network-name-2", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-name-2", "networkIP": "10.0.20.2", "name": "nic1", "accessConfigs": [ { "kind": "compute#accessConfig", "type": "ONE_TO_ONE_NAT", "name": "External NAT", "networkTier": "PREMIUM" } ], "ipv6AccessConfigs": [ { "kind": "compute#accessConfig", "type": "DIRECT_IPV6", "name": "external-ipv6", "externalIpv6": "2600:1900:4000:8447:0:0:0:0", "externalIpv6PrefixLength": 96, "publicPtrDomainName": "", "networkTier": "PREMIUM" } ], "fingerprint": "rx6hfNA94f4=", "stackType": "IPV4_IPV6", "ipv6AccessType": "EXTERNAL", "nicType": "GVNIC" } ] }
ネットワーク内のすべてのコンピューティング インスタンスを表示する
特定のネットワーク内のすべてのコンピューティング インスタンスを表示するには、次のいずれかの方法を使用します。
Google Cloud コンソールの [VPC ネットワーク] ページに移動します。
省略可:
[フィルタ] ボックスを使用して、表示されるネットワークの数を制限します。コンピューティング インスタンスを一覧表示するネットワークの名前をクリックします。
[インスタンス] タブを選択して、そのネットワーク内のインスタンスを表示します。
特定のネットワークを使用するコンピューティング インスタンスを表示するには、gcloud compute instances list
コマンドを使用します。
--filter
フラグを使用すると、特定のネットワークを使用するインスタンスのみを一覧表示できます。--format
フラグを使用して、結果を制限してフォーマットすることもできます。次に例を示します。
gcloud compute instances list \ --filter 'networkInterfaces[].network:NETWORK_NAME ' \ --format="table(name:sort=1,machineType.basename(),zone.basename(),networkInterfaces[].subnetwork)"
出力は次のようになります。
NAME: c2-tier1-multinic MACHINE_TYPE: c2-standard-30 ZONE: us-central1-c SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default', 'https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/webapps-external-subnet']
NAME: c3-with-lssd MACHINE_TYPE: c3-standard-4-lssd ZONE: us-central1-a SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default']
NAME: example-instance3 MACHINE_TYPE: n2-custom-2-163840-ext ZONE: us-central1-b SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default']
NAME: n4-test-windows MACHINE_TYPE: n4-standard-2 ZONE: us-central1-c SUBNETWORK: ['https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/default']
Tier_1 ネットワーキングが有効かどうかを判断する
インスタンスで VM ごとの Tier_1 ネットワーキング パフォーマンスが有効になっているかどうかを確認するには、次のいずれかの方法を使用します。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
省略可:
[フィルタ] ボックスを使用して、表示されるインスタンス数を制限します。検査するインスタンスの名前をクリックします。
[ネットワーキング] セクションで、[下り(外向き)帯域幅の合計階層] の値を確認します。
TIER_1
: Tier_1 ネットワーキングが有効になっています。-
: Tier_1 ネットワーキングは有効になっていません。
インスタンスの networkPerformanceConfig
設定を表示するには、gcloud compute instances describe
コマンドを使用します。コマンドに --format
オプションを追加すると、返される情報を特定のフィールドに制限し、表示方法を変更できます。次に例を示します。
gcloud compute instances describeINSTANCE_NAME \ --zone=ZONE \ --format="text(name, networkPerformanceConfig)"
インスタンスに Tier_1 ネットワーキングが構成されていない場合、networkPerformanceConfig
フィールドは出力に含まれません。インスタンスで Tier_1 ネットワーキングが有効になっている場合、出力は次のようになります。
name: c2-tier1-multinic networkPerformanceConfig.totalEgressBandwidthTier: TIER_1
instances.get
メソッドに対して GET
リクエストを作成します。$fields
クエリ パラメータをリクエストに追加すると、出力を name
、networkPerformanceConfig
、nicType
フィールドのみに制限できます。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME /zones/ZONE /instances/INSTANCE_NAME ?$fields=name,networkPerformanceConfig,networkInterfaces.nicType
次のように置き換えます。
PROJECT_NAME
: インスタンスを含むプロジェクトの名前。ZONE
: クエリを実行するインスタンスのゾーン。INSTANCE_NAME
: 返されるインスタンス リソースの名前。
インスタンスに Tier_1 ネットワーキングが構成されていない場合、networkPerformanceConfig
フィールドは出力に含まれません。インスタンスで Tier_1 ネットワーキングが有効になっている場合、出力は次のようになります。
{ "name": "c2-tier1-multinic", "networkInterfaces": [ { "nicType": "GVNIC" }, { "nicType": "GVNIC" } ], "networkPerformanceConfig": { "totalEgressBandwidthTier": "TIER_1" } }