コンテンツに移動
デベロッパー

Google Cloud の IP アドレス指定オプション: ネットワーキングの基本

2022年4月11日
https://storage.googleapis.com/gweb-cloudblog-publish/images/iphero.max-2600x2600.png
Google Cloud Japan Team

※この投稿は米国時間 2022 年 3 月 31 日に、Google Cloud blog に投稿されたものの抄訳です。

このブログでは、Google Cloud 上の IP アドレス指定とサブネット化の話題について取り上げます。IP アドレス指定とサブネット化は複雑だと感じている人は多いかも知れません。しかし、アドレス指定はネットワークの中で非常に重要な要件です。

IP アドレスは、ネットワークとホストの一意の識別子です。IP アドレスをネットワーク セグメントとホスト セグメントに分けるには、サブネット マスクを使用します。これは、道路や建物に番号が割り振られている市街地(街区)に例えることができます。IP アドレスと街区の例えは次のように関連付けることができます。

  • ネットワーク部分 - 番地に相当します。1 本の通り沿いに多くの建物が立ち並んでいます。例えば、192.168.10.20/24 の場合、192.168.10 がネットワークを表し、/24 はサブネット マスクを表します(詳細は次のセクションで説明します)。

  • ホスト部分 - 建物の番号にあたります。建物が通りのどの位置に立っているかを示しています。例えば、192.168.10.20/24 の場合、.20 はネットワーク内のホストを表しています。

IP には、IPv4IPv6 の 2 つのバージョンがあり、それぞれのアドレス形式は異なります。IPV6 のアドレス体系は、IPv4 で使用できるアドレスの量の限界が問題になったため生まれました。IPv4 アドレスの消費量が増加した主な要因の一つは、インターネットの成長でした。

  • IPV4 アドレスは、4 つのオクテットに分割された 32 のバイナリビットで構成されます。これは、192.168.20.1 のようなドット付き 10 進数形式またはバイナリで記述できます。

  • IPV6 アドレスは 128 ビットで構成され、16 ビットの 16 進数フィールドに分割されます。例えば、2001:DB8:7654:3210:FEDC:BA98:764:3203 のようになります。

IP アドレスは、オンプレミスとクラウドの両方に存在します。プライベート、セカンダリ、外部、お客様所有 IP(BYOIP)など、Google Cloud で使用できる IP オプションをいくつか見ていきましょう。

プライベート アドレス(RFC 1918)

プライベート IP アドレスは、ネットワーク内で内部的に使用できるアドレスとして予約済みのブロックから取得されるものです。この範囲は Request For Comments(RFC)標準の RFC1918 として定義されています。これらのプライベート アドレス範囲は、Google Cloud に固有のものではなく、どの企業でも使用できます。プライベート IP アドレスは、インターネット ルーティングができません。つまり、インターネットに直接接続できません。プライベート IP の範囲は次のとおりです。

  • 10.0.0.0 -10.255.255.255 (/8)

  • 172.16.0.0 - 172.31.255.255 (/12)

  • 192.168.0.0 -192.168.255.255 (/16)

デフォルトの予約済み IP アドレス

Google Cloud のプライマリ サブネットでは、4 つの IP アドレスが自動的に予約されます。これらの予約済み IP アドレスは次のとおりです。

  • ネットワーク アドレス

  • デフォルト ゲートウェイ

  • 最後から 2 番目のアドレス

  • ブロードキャスト アドレス

もっと明確にするために、先に登場した /24 サブネットの 192.168.10.20 ネットワークを見てみましょう。

  • /24 は、32 ビットのうち 24 ビットがネットワークで使用されることを意味します。

  • 残りの 8 ビットはホストによって使用されます。アドレスの総数を求めるには、28 = 256 の式を使用します。

  • 標準ネットワークでは、最初のアドレスと最後のアドレスが予約されています。これらは、ネットワーク アドレスとブロードキャスト アドレスと呼ばれます。例えば、192.168.10.0 と 192.168.10.255 です。

  • この予約により、使用可能なホストアドレスの式は、2n - 2 となります。今回の例でいえば 28 - 2 = 254 になります。

一方、Google Cloud では 4 つのアドレスが予約されているため、式は 28 - 4 で、/24 ネットワークではホスト用に 252 個のアドレスが使用できることになります。

アドレス割り当て

エフェメラル IP アドレス は、Google Cloud の VM とサービスに自動的に割り当てられます。これは DHCP を介して行われます。  固定のアドレスが必要な場合は、予約済みの静的内部 IP アドレスを VM に手動で割り当てることもできます。

サブネットの制限

Google Cloud Platform で利用できる最小のサブネットは /29 です。これは、4 つのホスト(23 - 4)を意味します。これは、最小のサブネットがポイントツーポイント リンクの /30 または /31 であるオンプレミスのプライベート アドレスとは異なります。アドレス サブネットを割り当てるときは、このことに注意してください。

プライベートで使用されるパブリック IP(PUPI)アドレス

これらは、通常の状況ではインターネット上でルーティング可能なアドレスです。VPC で使用される場合、それらのアドレスはプライベート アドレスとして扱われ、インターネット ルーティング テーブルにアドバタイズされません。PUPI アドレスは、こののように Google Kubeternes Engine(GKE)で使用できます。

セカンダリ アドレス

セカンダリ IP アドレスは、仮想マシンに割り当てることができる追加のアドレスです。例として、VM で実行されている特定のサービスで使用するためにセカンダリ IP アドレス範囲から エイリアス IP アドレスを割り当てることなどが挙げられます。

外部アドレス

外部 IP アドレスはインターネット ルーティングでき、インターネットへの直接通信を可能にします。プライベート IP アドレスと同様に、エフェメラル外部 IP アドレスを自動的に割り当てることも、静的外部 IP アドレスを予約して、VM やロードバランサ、その他の対応サービスで使用することもできます。

外部 IPv4 アドレスは限られたリソースであるため、注意して使用する必要があります。静的外部 IP アドレス、エフェメラル外部 IP アドレスはいずれも費用が発生します。予約した静的外部 IP アドレスをリソースに割り当てない場合、使用中の静的外部 IP アドレスやエフェメラル外部 IP アドレスよりも課金レートが高くなります。

お客様所有 IP アドレスの使用(BYOIP)

このキャッチーな名前は、お客様が所有しているパブリック IP アドレスを Google Cloud リソースで使用できる仕組みを正確に表しています。ただし、使用するためには少々プロセスが必要です。詳細については BYOIP についての VPC ドキュメントでご確認ください。

割り当てが禁止されたサブネット範囲

Google Cloud リソースへの割り当てが禁止されている範囲がいくつかあります。これらの範囲については、こちらでリストを取得できます。

IPv6 アドレス

IPv6 は特定のリージョンで有効にできます。IPv6 アドレスを有効にするための基本的な手順は次の通りです。

読み込んでいます...

読み込んでいます...

IP アドレス指定を使用する一般的な Google Cloud サービス

IP アドレス指定を使用するサービスがいくつかあります。次に紹介するのは最も一般的なものですが、すべてを列挙しているわけではありません。

  • VM

  • データベース

  • ロードバランサ

  • Google Kubernetes Engine(コンテナ、クラスタ、Pod、Services、Ingress)

ヒント

Google Cloud では IP アドレスに関する多くの標準的な問題が対処されており、お客様がすぐにプロジェクトを作成して構築を開始できるようになっています。一方、企業やプロジェクトが進化するにつれて、オンプレミスの施設、他のプロジェクト、他のクラウドに接続する必要性が高まります。悩みの種を減らすために、IP アドレスの割り当ての計画には時間を割くようにしてください。

これは、特に IP アドレス重複の問題を回避するうえで重要です。計画するときは、時間をかけて次のことを考慮してください。

  • 成長の見込み

  • 今後の拡張

  • その他の環境の既存のサブネット

  • スケーリング要件

  • 企業買収の可能性

Google Cloud での IP アドレス指定の詳細については、次のリンクをご覧ください。

ご質問やご不明な点、ご意見は、TwitterLinkedin 経由で私宛にお送りください。


- Developer Relations エンジニア Ammett Williams
投稿先