IP アドレス

このドキュメントでは、Google Cloud Platform(GCP)リソースで使用できるプライマリ内部 IP アドレスと外部 IP アドレスについて説明し、これらの IP アドレスを使用してリソースと通信する方法について説明します。IP アドレスの作成と管理の方法については、IP アドレスの設定をご覧ください。

このページでは、セカンダリ内部 IP アドレスについては説明しません。セカンダリ内部 IP アドレスについて詳しくは、エイリアス IP 範囲のドキュメントをご覧ください。

GCP では、特定のリソースに IP アドレスを割り当てることができます。たとえば、内部 IP アドレスと外部 IP アドレスを Compute Engine 仮想マシン(VM)インスタンスに割り当てることができます。同様に、内部または外部 IP アドレスを内部または外部の負荷分散のために、それぞれの転送ルールに割り当てることができます。

各 VM インスタンスでは、それぞれ 1 つのプライマリ内部 IP アドレス、1 つまたは複数のセカンダリ IP アドレス、および 1 つの外部 IP アドレスを持つことができます。同じ仮想プライベート クラウド(VPC)ネットワーク上のインスタンス間で通信するには、インスタンスの内部 IP アドレスを使用できます。インターネットと通信するには、なんらかの種類のプロキシを設定していない限り、インスタンスの外部 IP アドレスを使用する必要があります。同様に、ネットワークが VPN などのなんらかの方法で接続されていない限り、同じ VPC ネットワーク外のインスタンスに接続するには、インスタンスの外部 IP アドレスを使用する必要があります。外部プライマリ IP アドレスと内部プライマリ IP アドレスは、エフェメラルにも静的にもすることができます。

ネットワーク、グローバル、内部を問わず、負荷分散には転送ルールが必要です。転送ルールには、使用しているロードバランサに応じて、外部または内部 IP アドレスが必要です。ネットワークおよびグローバル負荷分散の場合、リージョンまたはグローバルの転送ルールを作成し、リージョンまたはグローバルの静的外部 IP アドレスをそれぞれ割り当てることができます。内部負荷分散の場合、内部 IP アドレスを割り当てます。

外部 IP アドレス

インターネット、別のネットワークのリソース、または Compute Engine 以外のリソースと通信する必要がある場合は、インスタンスまたは転送ルールに外部 IP アドレスを割り当てることができます。ファイアウォール ルールで接続が許可されている限り、GCP VPC ネットワークの外部のソースにより、特定のリソースを外部 IP アドレスでアドレス指定することができます。ネットワークの外部との間でトラフィックを直接送受信できるのは、外部 IP アドレスを持つリソースだけです。外部 IP アドレスを使用してリソースと通信すると、送信元が同じ VPC ネットワーク内の場合でも、追加の課金が発生する可能性があります。よくある質問に掲載されている Compute Engine の IP 範囲のリストをご覧ください。

Compute Engine では 2 種類の外部 IP アドレスがサポートされています。

  • 静的外部 IP アドレス

    静的外部 IP アドレスは、明示的に解放されるまでプロジェクトに長期的に割り当てられ、明示的に接続解除されるまでリソースに接続されたままになります。

    VM インスタンスの場合、静的外部 IP アドレスは、削除されるまで停止したインスタンスに接続されたままになります。

  • エフェメラル外部 IP アドレス

    エフェメラル外部 IP アドレスは、VM インスタンスおよび転送ルールで使用できます。エフェメラル外部 IP アドレスは、VM が停止して再起動されるか、インスタンスが終了するまで、VM インスタンスに接続されたままになります。インスタンスが停止すると、インスタンスに割り当てられているエフェメラル外部 IP アドレスは解放されて、一般的な Compute Engine プールに戻り、他のプロジェクトで使用できるようになります。停止したインスタンスが再起動されると、インスタンスに新しいエフェメラル外部 IP アドレスが割り当てられます。

単一のインスタンスに複数の外部 IP アドレスを割り当てるには、プロトコル転送を使用して、単一のターゲット インスタンスを指す複数の転送ルールを設定します。

静的外部 IP アドレス

静的外部 IP アドレスを予約して、明示的に解放するまで無期限でプロジェクトに割り当てることができます。これは、サービスで特定の IP アドレスに依存しており、他のユーザーがそのアドレスを使用できないようにする必要がある場合に便利です。新しい静的外部 IP アドレスを予約することも、既存のエフェメラル外部 IP アドレスを静的外部 IP アドレスに昇格することもできます。

静的外部 IP アドレスは、リージョン リソースまたはグローバル リソースのいずれかになります。リージョン静的 IP アドレスを使用すると、そのリージョンのリソースまたはそのリージョン内のゾーンのリソースで IP アドレスを使用できます。この場合、VM インスタンスとリージョン転送ルールで、リージョン静的 IP アドレスを使用できます。

グローバル静的外部 IP アドレスは、グローバル負荷分散に使用されるグローバル転送ルールでのみ使用できます。グローバル IP アドレスをリージョン IP アドレスまたはゾーンリソースに割り当てることはできません。

エフェメラル外部 IP アドレス

エフェメラル外部 IP アドレスは、リソースの寿命を超えて持続しない IP アドレスです。IP アドレスを指定せずにインスタンスまたは転送ルールを作成すると、リソースにはエフェメラル外部 IP アドレスが自動的に割り当てられます。

エフェメラル外部 IP アドレスは、リソースを削除するとリソースから解放されます。VM インスタンスの場合、インスタンスを停止すると IP アドレスも解放されます。インスタンスを再起動すると、新しいエフェメラル外部 IP アドレスが割り当てられます。外部 IP アドレスを持たない既存の VM がある場合、エフェメラル外部 IP アドレスを割り当てることができます。転送ルールには、外部または内部のいずれかの IP アドレスが常に割り当てられているため、転送ルールの作成後に IP アドレスを割り当てる必要はありません。

プライマリ内部 IP アドレス

VM インスタンスは、VPC ネットワークに固有のプライマリ内部 IP アドレスを 1 つ持つことができます。VM インスタンスの作成時に特定の内部 IP アドレスを割り当てることができます。または、プロジェクトの静的内部 IP アドレスを予約し、そのアドレスをリソースに割り当てることもできます。アドレスを指定しない場合、Compute Engine により自動的に割り当てられます。いずれの場合も、アドレスはサブネットの IP 範囲に属していなければなりません。

インスタンスの内部 IP アドレスを使用して、VM インスタンスにパケットを送信できます。内部 IP アドレスは、同じネットワーク内の他のインスタンスから、または VPN 経由など、リンクされているネットワークからのみアクセスできます。

Compute Engine では 2 種類の内部 IP アドレスがサポートされています。

  • 静的内部 IP アドレス

    静的内部 IP アドレスは、明示的に解放されるまでプロジェクトに長期的に割り当てられ、明示的に接続解除されるまでリソースに接続されたままになります。

    VM インスタンスの場合、静的内部 IP アドレスは、停止したインスタンスでも削除されるまで接続されたままになります。

  • エフェメラル内部 IP アドレス

    エフェメラル内部 IP アドレスは、VM インスタンスおよび転送ルールで使用できます。

    エフェメラル内部 IP アドレスは、VM が停止して再起動されるか、インスタンスが終了するまで、VM インスタンスに接続されたままになります。インスタンスが停止すると、インスタンスに割り当てられているエフェメラル内部 IP アドレスは解放されて、ネットワーク プールに戻ります。停止したインスタンスが再起動されると、インスタンスに新しいエフェメラル内部 IP アドレスが割り当てられます。

    リクエストで IP アドレスの指定を省略し、Compute Engine でランダムにアドレスを割り当てるようにすることにより、リソース作成時にエフェメラル内部 IP アドレスを割り当てることができます。

内部ロードバランサについては、静的内部 IP アドレスを割り当てたり、明示的なエフェメラル内部 IP アドレスを指定したり、GCP によりエフェメラル内部 IP アドレスをランダムに割り当てるようにしたりすることができます。内部ロードバランサの IP アドレスの指定の詳細については、内部負荷分散のドキュメントの負荷分散の IP アドレスを参照してください。

インスタンスには、エイリアス IP アドレスと範囲を指定することもできます。VM で稼働中の複数のサービスがある場合、各サービスを独自の IP アドレスに割り当てることができます。現時点で、エイリアス IP アドレスはベータ版です。

内部 DNS 名

同じ VPC ネットワーク内のインスタンス間で通信する場合は、ターゲット インスタンスの完全修飾 DNS 名(FQDN)を指定してインスタンスにパケットを送信できます。この名前は VPC ネットワークによって自動的にインスタンスの内部 IP アドレスに解決されます。インスタンスの内部完全修飾ドメイン名(FQDN)の形式は次のとおりです。

  • ゾーン DNS に対応しているインスタンス: [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal
  • デフォルトのグローバル DNS を使用するインスタンス: [INSTANCE_NAME].c.[PROJECT_ID].internal

ここで:

  • [INSTANCE_NAME] はインスタンスのホスト名です。通常、この値はインスタンス名と同じです。
  • [ZONE] はインスタンスが配置されているゾーンです。
  • [PROJECT_ID] はインスタンスが属するプロジェクトです。

内部 IP アドレスより FQDN を使用する方が便利です。内部 IP アドレスはインスタンスが削除されて再作成されるたびに変わる可能性があります。それに対して、インスタンス名は通常同じままです。ただし、インスタンス名をアドレス指定に使用できるのは同じ VPC ネットワーク内に限られます。たとえば、Compute Engine 内で実行されている仮想マシンから、pingcurl、またはその他の DNS 名を処理できるプログラムを使用して他のインスタンスをアドレス指定できます。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント