インスタンスの IP アドレスの特定


インスタンスの外部および内部 IP アドレスを特定する方法を説明します。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

このタスクに必要な権限

このタスクを行うには、次の権限が必要です。

  • インスタンスに対する compute.instances.get

IP アドレスの表示

インスタンスの内部 IP アドレスと外部 IP アドレスを確認するには、Google Cloud コンソールGoogle Cloud CLI または REST を使用します。

コンソール

Google Cloud コンソールの [VM インスタンス] ページに移動します。VM インスタンスに外部 IP アドレスがある場合は、[外部 IP] 列にアドレスが表示されます。VM に外部 IP アドレスがない場合は、アドレスを割り振ることができます。

[VM インスタンス] に移動

内部 IP と外部 IP が表示されている VM インスタンスのページ。

gcloud

gcloud compute を使用してインスタンスの内部 IP アドレスと外部 IP アドレスを表示するには、instances list サブコマンドを使用します。

gcloud compute instances list

出力は次のようになります。

NAME              ZONE            MACHINE_TYPE     PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
hulk              us-central1-c   m1-ultramem-160  true         192.0.2.1                   RUNNING
my-instance       us-central1-c   e2-standard-2                 192.51.100.1  203.224.0.113 RUNNING

gcloud compute を使用して特定のインスタンスの内部 IP アドレスまたは外部 IP アドレスを表示するには、instances describe サブコマンドで --format フラグを使用して、出力をフィルタリングします。例:

  • 特定のインスタンスの内部 IP を表示するには、次のコマンドを実行します。

    gcloud compute instances describe instance-name \
      --format='get(networkInterfaces[0].networkIP)'
    
    192.51.100.1
    
  • 特定のインスタンスの外部 IP を表示するには、次のコマンドを実行します。

    gcloud compute instances describe instance-name \
      --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
    
    203.224.0.113
    

instance-name は、内部 IP または外部 IP を表示するインスタンスの名前で置き換えます。

REST

instances.get メソッドに GET リクエストを送信します。

 GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name
 

次のように置き換えます。

  • project-id: このクエリのプロジェクト ID。
  • zone: クエリを実行するインスタンスのゾーン。
  • instance-name: 返されるインスタンス リソースの名前。

レスポンスの本文は、次のスニペットのようになります。

{
  ...
  "networkInterfaces": [
    {
      ...
      "networkIP": "192.51.100.1",
      ...
      "accessConfigs": [
        {
          ...
          "name": "external-nat",
          "natIP": "203.224.0.113",
          ...
        }
      ],
      ...
    }
  ],
  ...
}

必要な情報は次のフィールドに含まれています。

  • networkIP は、割り当てられた内部 IP アドレスです。
  • natIP は、割り当てられた外部 IP アドレスです。