VPC の裏側
以下の情報は、VPC ネットワーキングにおいて「カーテンの背後」で何が起こっているかについての詳細な概念図を示しています。 ネットワーク分離、アドレス接頭部、クラウド・サービス・エンドポイントの送信元アドレス、データ・パケット・フロー、外部 IP アドレスのライフ・サイクル、クラシック・インフラストラクチャー・アクセスについて理解してください。 ネットワーキングについての基本知識を多少持っている読者を対象にしています。
ネットワーク分離
VPC のネットワーク分離は、次の 3 つのレベルで行われます。
-
ハイパーバイザー - 各仮想サーバー・インスタンスは、ハイパーバイザーによって分離されます。 仮想サーバー・インスタンスは、同じ VPC 内に存在する仮想サーバー・インスタンスを除き、同じハイパーバイザーでホストされている他の VSI に直接アクセスできません。
-
ネットワーク - 仮想ネットワーク ID (VNI) を使用してネットワーク・レベルの分離が行われます。 これらの ID は、各サブネットに割り当てられ、有効範囲が単一のゾーンに設定されます。 VPC のゾーンに入ってくるすべてのデータ・パケット、つまり、仮想サーバー・インスタンスから送信され、ハイパーバイザーから入ってくるデータ・パケットと、暗黙ルーティング機能によって送信され、クラウドからゾーンに入ってくるデータ・パケットには、VNI が追加されます。
ゾーンから出るパケットの VNI は除去されます。 パケットが宛先ゾーンに到達し、暗黙ルーティング機能によってそのゾーンに入るときには、必ず、暗黙ルーターがそのゾーンの適切な VNI を追加します。
-
ルーター - 暗黙ルーター機能 によって、各 VPC 間の分離が行われます。これを行うために、クラウドのバックボーンに仮想ルーティング機能 (VRF) および MPLS (マルチプロトコル・ラベル・スイッチング) 対応 VPN が備わっています。 各 VPC の VRF は固有の ID を持つので、このレベルの分離により各 VPC は、IPv4 アドレス・スペースの独自のコピーにアクセスすることができます。 MPLS VPN により、クラシック・インフラストラクチャー、Direct Link、VPC というすべてのクラウド・エッジを統合できます。
アドレス接頭部
アドレス接頭部とは、宛先仮想サーバー・インスタンスが存在するアベイラビリティー・ゾーンに関係なく、VPC の暗黙ルーティング機能が_宛先仮想サーバー・インスタンス_を見つけるために使用するサマリー情報です。 アドレス接頭部の主要な機能は、異常なルーティングの発生を防止しながら、MPLS VPN によるルーティングを最適化することです。 VPC 内のすべての仮想サーバー・インスタンスが VPC 内の他のすべての仮想サーバー・インスタンスから到達できるように、VPC 内のすべてのサブネットがアドレス接頭部に含まれている必要があります。
クラウド・サービス・エンドポイントのソース・アドレス
クラウド・サービス・エンドポイントの送信元アドレスとは、VPC とゾーンの組み合わせを、その VPC の外部で識別するための IP アドレスです。 例えば、VPC の外部にあるサービスをクラウド・サービス・エンドポイントを介して呼び出すときに、送信元アドレスが使用されます。 仮想サーバー・インスタンスの IP アドレスは、クラウド・サービス・エンドポイントに対して VPC を識別する IPv4 アドレス (ソース・アドレス) に置き換えられます。 詳しくは、以下の図を参照してください。

図のクラウド・サービス・エンドポイントのソース・アドレスには、「VPC アドレス」というラベルが付いています。 このアドレスは、お客様の VPC の範囲外であるため、お客様の VSI アドレスと競合しません。
データ・パケット・フローと暗黙ルーター
VPC には、6 種類の仮想サーバー・インスタンスデータ・パケット・フローがあります。 それらのフローを、複雑さが増す順に以下に示します。
- サブネット内部、ホスト内部 (同じハイパーバイザー)
- サブネット内部、ホスト間
- サブネット間、ゾーン内部
- サブネット間、ゾーン間
- VPC 外部のサービス (IaaS アクセスまたは CSE アクセス用)
- VPC 外部のインターネット (インターネット・アクセス用)
サブネット内部、ホスト内部のデータ・フロー - この種類のデータ・パケットが最も単純です。 同じハイパーバイザー上の仮想サーバー・インスタンス間のパケット・フローであり、パケットはハイパーバイザーを出ていきません。
サブネット内部、ホスト間のデータ・フロー - この種類のフローには、ハイパーバイザーを出ていくパケットが含まれます。 データ分離を維持するために、各パケットに対して適切な VNI (仮想化ネットワーク ID) のタグが付けられます。 その後、宛先仮想サーバー・インスタンスをホストしている宛先ハイパーバイザーにフローが送信されます。 宛先ハイパーバイザーは、その VNI を取り除いてから、データ・パケットを宛先仮想サーバー・インスタンスに転送します。
サブネット間、ゾーン内部のデータ・フロー - この種類のフローには、VPC の暗黙ルーター機能 (VPC 内に作成されたすべてのサブネットを接続する機能) を使用するパケットが必要になります。 この機能により、データ・パケットが正しい宛先ハイパーバイザーにルーティングされます。 宛先ハイパーバイザーとソース・ハイパーバイザーが異なる場合、データ・パケットは適切な VNI のタグを付けられた後に宛先ハイパーバイザーに送信されます。 そこで VNI が取り除かれた後、データ・パケットは宛先仮想サーバー・インスタンスに転送されます (最後の数ステップは、前の種類のデータ・フローと同じです)。
サブネット間、ゾーン間のデータ・フロー - この種類のフローの場合は、暗黙ルーター機能が VNI を除去し、クラウド・バックボーン経由で転送するために VPC の MPLS VPN でパケットを転送します。 宛先ゾーンに到達すると、暗黙ルーター機能がデータ・パケットに適切な VNI のタグを付けます。 その後、パケットは宛先ハイパーバイザーに転送され、そこで VNI が再び取り除かれ、データ・パケットを宛先仮想サーバー・インスタンスに転送できるようになります。
VPC 外部のサービスのデータ・フロー - IaaS サービスまたは IBM Cloud サービス・エンドポイント (CSE) サービス宛てのパケットには、VPC の暗黙ルーター機能が使用されます。 さらに、ネットワーク・アドレス変換 (NAT) 機能も使用されます。 この変換機能によって、仮想サーバー・インスタンスのアドレスが、要求先の IaaS サービスまたは CSE サービスにとって VPC を識別する情報となる IPv4 アドレスに置き換えられます。
VPC 外部のインターネットのデータ・フロー - インターネット宛てのパケットが最も複雑です。 この種類の各フローでは、VPC の暗黙ルーター機能が使用されるほか、暗黙ルーターの 2 つのネットワーク・アドレス変換 (NAT) 機能のうちどちらかも使用されます。
- パブリック・ゲートウェイ機能による明示的な 1 対多の NAT。パブリック・ゲートウェイに接続されているすべてのサブネットに対して機能します。
- 個々の仮想サーバー・インスタンスに割り当てられる 1 対 1 の NAT。
暗黙ルーターは、NAT 変換後に、この種類のインターネット宛てのパケットを、クラウド・バックボーンを使用してインターネットに転送します。
パブリック・ゲートウェイ機能に関連付けられた外部 IP アドレスのライフサイクル
外部 IP アドレスと PGW の両方がアベイラビリティー・ゾーンにバインドされている。 パブリック・ゲートウェイ機能に設定できる外部 IP は 1 つだけです。 この外部 IP のライフサイクルは次のとおりです。
- パブリック・ゲートウェイが作成されると外部 IP が割り振られます。
- パブリック・ゲートウェイが削除されると外部 IP が解放されます。
クラシック・アクセス
VPC のクラシック・アクセス機能は、VPC の VRF ID として IBM Cloud® のクラシック・インフラストラクチャーのアカウントの VRF ID を再利用することで実現されます。 この実装により、VPC の暗黙ルーター機能は、クラシック・インフラストラクチャーのアカウントと同じ MPLS VPN に参加できます。 そのため、クラシック・リソースや既存の Direct-Link 接続を使用して到達できるその他のリソースに VPC からアクセスすることができます。