(57)【要約】【課題】プロバイダネットワークの分離仮想ネットワークの中からサービスに向けられるトラフィックのルーティングターゲットとしてプライベートエイリアスエンドポイントの指定に従って、トンネリング手段は計算インスタンスで生成されるベースラインパケットを受信する。ベースラインパケットは宛先としてサービスのパブリックＩＰ（インターネットプロトコル）アドレスを、ソースとして計算インスタンスのプライベートＩＰアドレスを示す。【解決手段】トンネリングプロトコルに従って、トンネリング手段は、ベースラインパケットの少なくとも一部分、及び分離仮想ネットワークを示すヘッダを含むカプセル化パケットを生成する。カプセル化パケットはサービスのノードに送信される。【選択図】図１
2019088031.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
１つまたは複数のプロセッサと、
命令を記憶するメモリと、を含み、前記命令は、前記１つまたは複数のプロセッサで実行されたときに、前記１つまたは複数のプロセッサに、
クライアントから、アプリケーションプログラミングインタフェース（ＡＰＩ）に従って、プロバイダネットワークで確立された分離仮想ネットワーク（ＩＶＮ）から生じるトラフィックのルーティングターゲットとして第１のプライベートエイリアスエンドポイント（ＰＡＥ）を作成する要求を受信することであって、前記トラフィックは、前記プロバイダネットワークに実装された公にアクセス可能なサービスに向けられる、前記受信することと、
前記要求に応答して、トンネリング手段を、
前記ＩＶＮから前記公にアクセス可能なサービスのパブリックアドレスに向けられるパケットが、前記ＰＡＥに向けられることを示すルートテーブルを生成し、
前記ルートテーブルに従って、ベースラインパケットを備えるカプセル化パケットを生成し、前記ベースラインパケットは前記ＩＶＮから前記公にアクセス可能なサービスのパブリックアドレスに向けられる、
ように構成することと、
を実行させる、システム。
【請求項２】
前記命令は、前記１つまたは複数のプロセッサに、
前記クライアントから、前記公にアクセス可能なサービスを前記ＰＡＥに割り当てる要求を受信することと、
前記ＰＡＥに対する構成メタデータを更新することと、
前記クライアントに、前記公にアクセス可能なサービスは前記ＰＡＥに割り当てられたことを示す肯定応答を送信することと、
を更に実行させる、請求項１に記載のシステム。
【請求項３】
更に、第２のトンネリング手段が、
前記カプセル化パケットを受信し、
トンネリングプロトコルに従って、少なくとも前記カプセル化パケットに基づいて第２のカプセル化パケットを生成し、前記第２のカプセル化パケットはソースＩＶＮとして前記ＩＶＮを示し、
前記公にアクセス可能なサービスのノードに前記第２のカプセル化パケットを送信する、
ように構成される、請求項１または２に記載のシステム。
【請求項４】
前記ベースラインパケットはＩＰｖ４（インターネットプロトコルバージョン４）に従ってフォーマットされ、前記第２のカプセル化パケットはＩＰｖ６（インターネットプロトコルバージョン６）に従ってフォーマットされる、請求項３に記載のシステム。
【請求項５】
前記ＩＶＮは、プライベートＩＰアドレスを有する第１の計算インスタンスを備え、前記命令は、更に、前記１つまたは複数のプロセッサに、
前記クライアントの代わりに第２のＩＶＮを確立することであって、前記第２のＩＶＮは第２の計算インスタンスを含む、前記確立することと、
前記クライアントの要求に応答して、前記第１の計算インスタンスの前記プライベートＩＰアドレスを、前記第２の計算インスタンスに割り当てることと、
第２のＰＡＥを確立することであって、前記第２のＰＡＥは、前記第２のＩＶＮで生じ、前記公にアクセス可能なサービスに向けられるトラフィックをルーティングするために使用される、前記確立することと、
を実行させる、請求項１から４のいずれか１項に記載のシステム。
【請求項６】
前記命令は、更に、前記１つまたは複数のプロセッサに、
前記ＰＡＥを作成する前記要求を受け取るユーザインターフェースを生成することと、
パブリックネットワーク経由で前記クライアントに前記ユーザインターフェースを送信することと、
を実行させる、請求項１から５のいずれか１項に記載のシステム。
【請求項７】
前記カプセル化パケットが、前記プロバイダネットワークで実装された特許トンネリングプロトコルに従ってフォーマットされる、請求項１から６のいずれか１項に記載のシステム。
【請求項８】
方法であって、
アプリケーションプログラミングインタフェース（ＡＰＩ）に従って、プロバイダネットワークで確立された分離仮想ネットワーク（ＩＶＮ）から生じるトラフィックのルーティングターゲットとしてプライベートエイリアスエンドポイント（ＰＡＥ）を作成する要求を受信するステップであって、前記トラフィックは、前記プロバイダネットワークに実装された公にアクセス可能なサービスに送達される、前記受信するステップと、
前記要求に応答して、トンネリング手段を、
前記ＩＶＮから前記公にアクセス可能なサービスのパブリックアドレスに向けられたパケットが前記ＰＡＥへ向けられることを示すルートテーブルを生成するステップと、
前記ルートテーブルに従って、ベースラインパケットを備えるカプセル化パケットを生成するステップであって、前記ベースラインパケットは、前記ＩＶＮから前記公にアクセス可能なサービスの前記パブリックアドレスに向けられる、前記生成するステップと、
を実行するように構成するステップと、
を備える方法。
【請求項９】
前記クライアントから、前記公にアクセス可能なサービスを前記ＰＡＥに割り当てる要求を受信するステップと、
前記ＰＡＥの構成メタデータを更新するステップと、
前記クライアントに、前記公にアクセス可能なサービスが前記ＰＡＥに割り当てられたことを示す肯定応答を送るステップを、
を更に含む、請求項８に記載の方法。
【請求項１０】
前記ＰＡＥを作成する前記要求を受け取るユーザインターフェースを生成するステップと、
パブリックネットワーク経由で前記クライアントに前記ユーザインターフェースを送信するステップ、
を更に含む請求項８または９に記載の方法。
【請求項１１】
前記カプセル化パケットを生成するステップは、
前記ベースラインパケットに示された前記パブリックアドレスの少なくとも一部に基づいて前記ルートテーブルから前記ＰＡＥの表示を回復することを更に含む、請求項８から１０のいずれか１項に記載の方法。
【請求項１２】
更に、
プログラムインタフェースを介して、他のＰＡＥを使用するアクセスのための異なるサービスを登録する要求を受信するステップと、
特定のＰＡＥとの関連付けのために、サービスの集合に前記異なるサービスを追加するステップであって、前記クライアントは、前記サービスの集合から特定のサービスを選択できる、前記追加するステップと、
を含む、請求項８から１１のいずれか１項に記載の方法。
【請求項１３】
前記ルートテーブルを生成するステップは、
前記公にアクセス可能なサービスのためのエイリアスを割り当てるステップと、
前記ルーティングターゲットとして前記ＰＡＥのためのプライベートアドレスを表示するステップと、
を更に含む、請求項８から１２のいずれか１項に記載の方法。
【請求項１４】
前記カプセル化パケットは、前記プロバイダネットワークで実装された特許トンネリングプロトコルに従ってフォーマットされる、請求項８から１３のいずれか１項に記載の方法。
【請求項１５】
命令を記憶する非一過性のコンピュータアクセス可能記憶媒体であって、前記命令は、１つまたは複数のプロセッサで実行された時に、前記１つまたは複数のプロセッサに、
クライアントから、アプリケーションプログラミングインタフェース（ＡＰＩ）に従って、プロバイダネットワークで確立された分離仮想ネットワーク（ＩＶＮ）から生じるトラフィックのルーティングターゲットとしてのプライベートエイリアスエンドポイント（ＰＡＥ）を作成する要求を受信することであって、前記トラフィックは、前記プロバイダネットワークに実装された公にアクセス可能なサービスに送達される、前記受信することと、
前記要求に応答して、トンネリング手段を、
前記ＩＶＮから前記公にアクセス可能なサービスのパブリックアドレスに向けられたパケットが前記ＰＡＥへ向けられることを示すルートテーブルを生成すること、
前記ルートテーブルに従って、ベースラインパケットを備えるカプセル化パケットを生成することであって、前記ベースラインパケットは前記ＩＶＮから前記公にアクセス可能なサービスの前記パブリックアドレスに向けられる、前記生成することと、
を行うように構成することと、
を実行させる、非一過性のコンピュータアクセス可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
多くの企業及び他の組織は、多数のコンピューティングシステムをその動作をサポート
するために相互接続するコンピュータネットワークを操作し、例えばコンピューティング
システムは（例えばローカルネットワークの一部として）同一場所に配置されているか、
または代わりに（例えば、１つまたは複数のプライベート中間ネットワークもしくはパブ
リック中間ネットワークを介して接続される）複数の異なる地理的な位置に位置している
。例えば、単一の組織によって及び単一の組織に代わって運営されるプライベートデータ
センタ、及びカスタマにコンピューティングリソースを提供するための事業としてエンテ
ィティによって運営されるパブリックデータセンタ等、かなりの数の相互接続されたコン
ピューティングシステムを収容するデータセンタが一般的になっている。
【０００２】
いくつかのプロバイダは、プロバイダのカスタマが係るデータセンタに位置するリソー
スを使用し、論理的に分離されたネットワークを作成することを許している。例えば、カ
スタマはプロバイダによって管理されるホストで実装される仮想化されたサーバ及び／ま
たは他のリソースのいくつかのセットを割り当てられてよく、カスタマはリソースのネッ
トワーキング構成に関して相当な柔軟性を与えられてよい。カスタマは、例えばサーバに
対するＩＰ（インターネットプロトコル）アドレスを選択するか、好みのサブネットを定
義する等を行ってよい。プロバイダのリソースを使用し、実装される係るカスタマ構成可
能なネットワークは、「分離仮想ネットワーク」または「仮想プライベートクラウド」を
含むさまざまな名前で呼ばれることがある。いくつかの状況では、カスタマは、例えば分
離仮想ネットワークの外のリソースに関してアドレスの一意性について懸念する必要なく
、分離仮想ネットワークの中のいくつかのリソースにプライベートＩＰアドレス（つまり
、分離仮想ネットワークの外で可視ではないまたは宣伝されないアドレス）を割り当てて
よい。プロバイダは係る環境での高レベルのセキュリティ、ネットワーク分離、及び可用
性をサポートし、カスタマが分離仮想ネットワークでビジネスに不可欠なアプリケーショ
ンを実行し、カスタマによって所有される構内で達成可能なサービスの質に類似する（ま
たはさらに高い）サービスの質を経験できるようにする。
【０００３】
分離仮想ネットワークをサポートする少なくともいくつかのプロバイダは、ストレージ
サービス、データベースサービス等のさまざまな他のサービスを実装してもよい。これら
の他のサービスのいくつかは、公衆インターネットからアクセス可能となるように設計さ
れてよい‐例えば、公に宣伝されたＩＰアドレスまたは対応するＵＲＩ（ユニフォームリ
ソースアイデンティファイア）のセットが、クライアントが係るサービスのリソースにア
クセスするためにセットアップされてよい。少なくともいくつかの環境では、潜在的にセ
キュリティを弱めずに、または相当なコストを生じさせずにどちらかでこのようにするこ
とは、きわめて安全な分離仮想ネットワークの中から係る公に宣伝されたサービスにアク
セスすることを希望するカスタマにとって容易ではないことがある。
【０００４】
実施形態はいくつかの実施形態及び例示的な図面について例として本明細書に説明され
ているが、当業者は、実施形態が説明される実施形態または図面に制限されないことを認
識する。図面及び図面に対する発明を実施するための形態が開示される特定な形式に実施
形態を制限することを目的するのではなく、逆に、意図は添付される特許請求の範囲によ
り定められる精神及び範囲に入るすべての変更形態、同等物、及び代替策をカバーするこ
とであることが理解されるべきである。本明細書で使用される見出しは構成上の目的のた
めだけであり、本明細書または特許請求の範囲の範囲を制限するために使用されることを
意図されていない。本願を通して使用されるように、単語「ｍａｙ（〜してよい）」は、
強制的な意味（つまり、しなければならないを意味する）よりもむしろ、許可の意味（つ
まり、する可能性を有することを意味する）で使用される。同様に、単語「ｉｎｃｌｕｄ
ｅ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含んだ）」、及び「ｉｎｃｌｕｄｅｓ（含む）」
は、を含むがこれに限定されるものではないことを意味する。
【図面の簡単な説明】
【０００５】
【図１】少なくともいくつかの実施形態に従って、プライベートエイリアスエンドポイント（ＰＡＥ）が、プロバイダネットワークの分離仮想ネットワーク（ＩＶＮ）と１つまたは複数の公にアクセス可能なサービスとの間のネットワークトラフィックのルーティングを、ＩＶＮでパブリックＩＰアドレスを割り当てることなく、及びカスタマネットワークを横断することなく可能にするために確立されてよい、実施例のシステム環境を示す図である。
【図２】少なくともいくつかの実施形態に従って、分離仮想ネットワークの計算インスタンスで生じるパケットを、公にアクセス可能なサービスの宛先に向けることに関与する実施例の構成要素を示す図である。
【図３ａ】少なくともいくつかの実施形態に従って、分離仮想ネットワークの計算インスタンスで生じるパケットを処理してよい代替のサービス側構成要素のそれぞれの実施例を示す図である。
【図３ｂ】少なくともいくつかの実施形態に従って、分離仮想ネットワークの計算インスタンスで生じるパケットを処理してよい代替のサービス側構成要素のそれぞれの実施例を示す図である。
【図４】少なくともいくつかの実施形態に従って、計算インスタンスで生じるベースラインパケットのためのカプセル化フォーマットの実施例を示す図である。
【図５】少なくともいくつかの実施形態に従って、ＰＡＥ構成要求及びＰＡＥ構成応答の実施例を示す図である。
【図６】少なくともいくつかの実施形態に従って、ＰＡＥ構成データベースコンテンツの実施例を示す図である。
【図７】少なくともいくつかの実施形態に従って、同じプライベートＩＰアドレスを有する計算インスタンスからサービスで受信される要求を区別するためのＩＶＮ識別子及びＰＡＥ識別子の使用の実施例を示す図である。
【図８】少なくともいくつかの実施形態に従って、ＰＡＥを構成するために実行されてよい操作の態様を示す流れ図である。
【図９】少なくともいくつかの実施形態に従って、計算インスタンスから公にアクセス可能なサービスにパケットを送信するためのトンネリングプロトコルの使用を示す流れ図である。
【図１０】少なくともいくつかの実施形態で使用されてよい実施例のコンピューティング装置を示すブロック図である。
【発明を実施するための形態】
【０００６】
プロバイダネットワークでプライベートエイリアスエンドポイント（ＰＡＥ）をサポー
トするための方法及び装置の多様な実施形態が説明される。インターネット及び／または
他のネットワークを介してクライアントの分散されたセットにアクセス可能な（多様なタ
イプのマルチテナント及び／またはシングルテナントのクラウドベースのコンピューティ
ングサービスもしくはストレージサービス等の）１つまたは複数のサービスを提供するた
めに企業または公共部門の組織等のエンティティによってセットアップされるネットワー
クは、本明細書ではプロバイダネットワークと称されることがある。また、少なくともい
くつかのプロバイダネットワークは「パブリッククラウド」環境と呼ばれることもある。
所与のプロバイダネットワークは、プロバイダによって提供されるインフラ及びサービス
を実装する、構成する、及び分散するために必要とされる、物理コンピュータサーバ及び
／または仮想化されたコンピュータサーバ、ストレージデバイス、ネットワーキング装置
等の集合体等の多様なリソースプールをホストする多数のデータセンタを含んでよい。少
なくともいくつかの実施形態では、プロバイダネットワークで実装される仮想コンピュー
ティングサービスは、クライアントがクライアントのアプリケーションのために（本明細
書では「コンピュータインスタンス」または単に「インスタンス」と呼ばれることがある
）１台または複数のゲスト仮想機械を活用できるようにしてよく、１つまたは複数の計算
インスタンスは大きな一群のインスタンスホストの内のインスタンスホストで実行されて
いる。大きいプロバイダネットワークの中で、いくつかのデータセンタは他とは異なる都
市、州、または国に位置してよく、いくつかの実施形態では、所与のアプリケーションに
配分されるリソースは、所望されるレベルの可用性、障害耐性、及び性能を達成するため
にいくつかの係る場所の間で分散されてよい。
【０００７】
少なくともいくつかの実施形態では、プロバイダネットワークは、カスタマがプロバイ
ダのデータセンタでの「分離仮想ネットワーク」（ＩＶＮ）の確立を要求できるようにし
てよい。（いくつかの環境では「仮想プライベートクラウド」つまりＶＰＣと呼ばれるこ
ともある）ＩＶＮは、カスタマがネットワーキング構成に関して相当な制御を与えられる
、プロバイダネットワークの論理的に分離された部分でコンピューティングリソース及び
／または他のリソースの集合体を含んでよい。いくつかの実施形態では、例えば、カスタ
マは、多様な計算インスタンス等のＩＶＮリソースのために使用されるＩＰ（インターネ
ットプロトコル）アドレスの範囲を選択し、ＩＶＮの中でのサブネットの作成、及びＩＶ
Ｎのためのルートテーブル等の構成を管理してよい。いくつかの実施形態でのＩＶＮの中
のデバイスの少なくともいくつかの場合、ＩＰアドレスは少なくともデフォルトによって
ＩＶＮの外では可視ではないことがある。ＢＧＢ（ボーダゲートウェイプロトコル）また
は他の類似したプロトコルを介して公衆インターネット上で直接的にまたは間接的に宣伝
された結果として公衆インターネットからアクセス可能である「パブリック」ＩＰアドレ
スとは対照的に、係るＩＰアドレスは本明細書では「プライベート」ＩＰアドレスと呼ば
れることがある。プライベートアドレスの使用は、クライアントが例えばインターネット
から発する潜在的な攻撃からクライアントのアプリケーションを保護できるようにしてよ
い。ＩＶＮサポートは、いくつかの実施形態ではプロバイダネットワークのより一般的な
仮想コンピューティングサービス（ＶＣＳ）の特徴の１つであってよい。例えば、ＶＣＳ
は、ＩＶＮの一部ではなく、（インスタンスが配分されるクライアントよりもむしろ）Ｖ
ＣＳが、必要とされるネットワーキング構成の多くまたはすべてを実行するコンピュータ
インスタンスの予約または配分をサポートしてもよい。
【０００８】
１つまたは複数のストレージサービスまたはデータベースサービス等のプロバイダネッ
トワークで実装されるサービスの少なくともいくつかは公にアクセス可能であってよい。
すなわち、サービスにアクセスするために使用できるＩＰアドレス（または対応するホス
ト名／ＵＲＩ）のなんらかのセットは公に宣伝されることがあり、したがってクライアン
トは、インターネットに対する接続性を有するデバイスから係るサービスに対するサービ
ス要求を提出できてよい。例えば、「ＳｖｃＸ」と名付けられるストレージサービスは、
［https://SvcX.<providername>.com］等の公に宣伝されたＵＲＩを介してクライアント
によってアクセス可能であってよく、係るサーバのＩＰアドレスは１つまたは複数のドメ
インネームサービス（ＤＮＳ）サーバから入手されてよい。
【０００９】
クライアントの代わりにＩＶＮの中で実行されるいくつかのアプリケーションは、係る
公にアクセス可能なサービスへのアクセスを必要とすることがある。例えば、ＩＶＮ内の
クライアントの計算インスタンスで実行中のｅ−コマースアプリケーションは、データを
読み取るまたはプロバイダネットワークの公にアクセス可能なストレージサービスに書き
込む必要がある場合がある。公にアクセス可能なサービスに対する接続性を確立するある
方法は、ＩＶＮの中のリソースに１つまたは複数のパブリックＩＰアドレスを割り当てる
こと（及び／またはＩＶＮにインターネットでアクセス可能なゲートウェイをセットアッ
プすること）を伴ってよく、このことはＩＶＮクライアントの分離要件及びセキュリティ
要件にいくぶん反する慣行である場合がある。ＩＶＮで実行中の計算インスタンスと公に
アクセス可能なサービスのリソースとの間で接続性を確立する別の方法は、ＩＶＮとカス
タマネットワークとの間でＶＰＮ（仮想プライベートネットワーク）を最初に確立し、次
にカスタマネットワークを介してＩＶＮから公にアクセス可能なサービスに間接的にトラ
フィックを送信することであってよい。ただし、少なくともいくつかの環境では、係るＶ
ＰＮをベースにした接続性はきわめて高価であり、トラフィックに使用される間接的な経
路は必ずしも（エンドツーエンド待ち時間に関して）クライアントアプリケーションの要
件を満たすほど十分早くない可能性がある。
【００１０】
したがって、ＩＶＮリソースと少なくともいくつかの公にアクセス可能なサービスとの
間での効率的な接続性を容易にするために、いくつかの実施形態では、プロバイダネット
ワーク事業者はＩＶＮのためのプライベートエイリアスエンドポイントの確立をサポート
してよい。名前が暗示するように、ＰＡＥは公にアクセス可能なサービスを表す「仮想」
エンドポイントとしての機能を果たしてよく、ＰＡＥは、その使用がＩＶＮの中の任意の
エンティティへのパブリックネットワークアドレスの割当てを必要としない「個人用」で
あってよい。また、ＰＡＥは、いくつかの環境では「仮想プライベートエンドポイント」
と呼ばれることもある。少なくともいくつかの実施形態では、ＰＡＥは、クライアントの
代わりにセットアップされたＩＶＮの中で実行中のアプリケーションが、例えば、公衆イ
ンターネットにＩＶＮをさらす必要なく、及びプロバイダネットワークの外のネットワー
クリンクを横断することなくプロバイダネットワークの中の他の場所に実装される公にア
クセス可能なサービスにサービス要求を送信（及び公にアクセス可能なサービスから応答
を受信）できるようにしてよい。トンネリングプロトコルは、公にアクセス可能なサービ
スが実装されるプロバイダネットワークの部分への伝送のためのＩＶＮで生じるトラフィ
ックのパケットをカプセル化するために、以下に説明されるように使用されてよい。ＩＶ
Ｎで実行中のクライアントアプリケーションも、クライアントサービス要求を実装する公
にアクセス可能なサービスのリソースも、多様な実施形態で必ずしもトンネリングプロト
コルの使用を認識させられる必要はない。すなわち、係る実施形態では、クライアントア
プリケーションに対する、またはサービスリソースでクライアント要求にサービスを提供
することに関与する論理に対する変更は必要とされないことがある。
【００１１】
少なくとも１つの実施形態では、ＰＡＥの確立は、クライアントによって実行されるＩ
ＶＮネットワーキング構成の他の態様に通常必要とされるステップの種類に使用しやすさ
において非常に類似するＩＶＮ構成のいくつかの追加のステップをクライアントが実行す
ることを伴ってよい。クライアントは、例えば、プログラム管理／処理インタフェース（
例えば、コンソールまたはアプリケーションプログラミングインタフェース（ＡＰＩ））
を介してＩＶＮのためのＰＡＥの作成を要求し、次いでユーザフレンドリなサービス名に
よって識別される選択されたサービスにＰＡＥを関連付けてよい。クライアントは、次い
で、宛先がいくつかの実施形態では公にアクセス可能なサービスの任意のノードまたはリ
ソースであるトラフィックのターゲットとして、例えばＩＶＮの１つまたは複数のサブネ
ットのためにセットアップされたルートテーブルでＰＡＥを指定してよい。いくつかの実
施態様では、（サービス名「Ｓｖｃ１」のような）一般的なエイリアスはルートテーブル
の宛先としてサービスを示すために使用されてよく、ＰＡＥに割り当てられた識別子はタ
ーゲットとして示されてよい。係る実施態様では、クライアントは、宛先を指定するとき
にサービスのいずれのＩＰアドレスを特定する必要はないことがある。少なくともいくつ
かの実施形態では、クライアントは、例えばＩＶＮの外で実装されるいくつかの異なるサ
ービスへのアクセスを可能にするために、所与のＩＶＮでいくつかの異なるＰＡＥをセッ
トアップしてよい。
【００１２】
ＰＡＥが特定のＩＶＮからのサービス向けのトラフィックのターゲットとして構成され
、示された後、ＩＶＮの計算インスタンス（計算インスタンスがプライベートＩＰアドレ
スを割り当てられ、パブリックＩＰアドレスは割り当てられない）で実行中のクライアン
トアプリケーションはサービスに要求を、係る要求がインターネットで接続されるデバイ
スから発行されるのと同様に発行してよい。経てば、ＤＮＳ要求はサービスのパブリック
ＩＰアドレスを入手するために計算インスタンスから（例えばプロバイダネットワークの
ＤＮＳサーバに）発行されてよい。アプリケーションは、サービスのパブリックＩＰアド
レスを宛先として、インスタンスのプライベートＩＰアドレスをソースとする１つまたは
複数のベースラインパケットに、オペレーティングシステムまたは計算インスタンスの他
の構成要素によって変換されてよいウェブサービスＡＰＩ（またはサービスによってサポ
ートされる任意の類似するプログラムインタフェース）を使用し、サービス要求を提出し
てよい。
【００１３】
上述されたように、計算インスタンスはインスタンスホストで実行中のゲスト仮想機械
として実装されてよい。少なくともいくつかの実施形態では、インスタンスホストは、ハ
イパーバイザ及び／または（多くの場合「ｄｏｍ−０」つまりドメインゼロインスタンス
と称される）特権をもつオペレーティングシステムインスタンス等、仮想化管理ソフトウ
ェアスタックの多様な構成要素を含んでよい。（本明細書ではＶＭＣと呼ばれることがあ
る）係る仮想化管理構成要素は、ゲスト仮想機械で発行されるリソース要求を、ハードウ
ェアリソースで実行される物理的な操作に変換することを担ってよい。一実施形態では、
インスタンスホストで実行中のＶＭＣは計算インスタンスから発行されるベースラインパ
ケットを妨害してよく、ＶＭＣは、ベースラインパケットが、インスタンス化されたホス
トがアタッチされる物理ネットワーク上での伝送のためにどのようにして変換される必要
があるのか（または変換されるかどうか）を判断することを担ってよい。いくつかの実施
態様では、ＶＭＣは、サービスに向けられたトラフィックのためのターゲットとしてのＰ
ＡＥの選択を示すＩＶＮメタデータレコードにアクセスできてよく、サービスのパブリッ
クＩＰアドレスのリストにアクセスできてもよい。したがって、ＶＭＣは、妨害されたベ
ースラインパケットがＰＡＥと関連付けられたサービスに送信されると判断できてよい。
【００１４】
少なくともいくつかの実施形態では、（ＩＶＮが構成される仮想コンピューティングサ
ービス、及びＰＡＥに割り当てられた宛先サービスを含んだ）多様なサービスは、プロバ
イダネットワークのそれぞれの論理的に別個の部分に割り当てられてよい。所与のサービ
スの対の間のトラフィックは、ソースサービスから宛先サービスに到達するために（ボー
ダネットワークと呼ばれることもある）ブリッジネットワークを横断する必要がある場合
がある。また、係るブリッジネットワークは、まさにソースサービスネットワーク及び宛
先サービスネットワークがプロバイダネットワークのサブネットと見なされてよいのと同
様に、プロバイダネットワークの特殊目的サブネットと見なされてもよい。名前が暗示す
るように、ブリッジネットワークは、プロバイダネットワークの多様な論理的に別個の部
分の間の中間ネットワーク（及び、いくつかの場合には、プロバイダネットワークと外部
ネットワークとの間の手段）として機能してよい。ＶＭＣは、宛先サービスに達するため
に横断されなければならないブリッジネットワークへ直接アクセスできないことがあり、
したがって係るブリッジネットワークへパケットを送ることができる手段の使用を必要と
することがある。その結果、少なくともいくつかの実施形態では、ＶＭＣは、例えば、パ
ケットの第１のカプセル化されたバージョンでトンネリング手段にベースラインパケット
のコンテンツを送達してよい。この第１のカプセル化パケットは、次いでトンネリング手
段によって選択されたトンネリングプロトコルに従って変換されてよく、パケットの第２
のカプセル化バージョンはブリッジネットワーク経路またはトンネルを介して宛先サービ
スのノードに送信されてよい。さまざまな異なるカプセル化手法のいずれかが、多様な実
施形態でのカプセル化のどちらの段階にも使用されてよい。カプセル化技法のいくつかの
特定の例は以下にさらに詳細に説明される。
【００１５】
一実施形態では、トンネリング手段によって追加される１つまたは複数のヘッダはソー
スＩＶＮの符号化もしくは表示及び／または宛先サービスと関連付けられたＰＡＥを含ん
でよい。一実施態様では、例えば、トンネリングプロトコルは、ＩＰｖ６アドレスビット
のいくつかがＩＶＮ識別子及び／またはＰＡＥ識別子を符号化するために使用されるＩＰ
ｖ６互換パケットフォーマットの中でのＩＰｖ４ベースラインパケットのカプセル化を伴
ってよい。宛先サービスでは、（例えば、サービス要求、及びソース計算インスタンスの
プライベートＩＰアドレスを含んだ）ベースラインパケットのコンテンツが、ＩＶＮ及び
／またはＰＡＥの識別子とともにカプセル化されたバージョンから抽出されてよい。いく
つかの実施形態では、ＩＶＮ識別子またはＰＡＥの識別子は、以下にさらに詳細に説明さ
れるように、同じプライベートＩＰアドレスが割り当てられた可能性のある（異なるＩＶ
Ｎでの）ソース計算インスタンスを区別する際に役立つことがある。ベースラインパケッ
ト本体に示される要求された操作が実行されてよく、応答は、例えば逆方向での類似した
タイプのトンネリング技法及びカプセル化技法を使用し、ソースインスタンスでの要求側
アプリケーションに返されてよい。
【００１６】
クライアントは、例えば上述された管理プログラムインタフェースの種類を使用し、少
なくともいくつかの実施形態でＰＡＥにアクセス制御方針を適用できてよい。アクセス制
御方針は、例えば、許可される（または禁止される）操作またはサービス要求のタイプ、
操作が許可される／禁止されるオブジェクト（例えば、ストレージ関連サービスでのファ
イルまたはディレクトリ）、方針が適用する期間（例えば、作業日の特定の時間）、方針
が適用する本人（例えば、特定のユーザーまたはグループ）等を示してよい。係る方針が
ＰＡＥに割り当てられるいくつかの実施形態では、サービスでのカプセル化パケットから
抽出される要求は、要求が適用可能な方針に違反していないことを確実にするために確認
されてよい。他の実施形態では、潜在的な方針違反は、宛先サービスで確認される代わり
に、または宛先サービスで確認されることに加えてＩＶＮ側で確認されてよい‐例えば、
ＶＭＣは、要求が使用されるＰＡＥと関連付けられた方針に違反すると判断される場合、
要求の送信をアボートしてよい。
【００１７】
一実施形態では、ＰＡＥは、ＩＶＮと、プロバイダネットワークによって実装されるサ
ービスとの間で単にパケットを送るためだけではなく、ＩＶＮと、プロバイダネットワー
クの他の場所で実装されるサードパーティサービスとの間でパケットを送るためにも使用
されてよい。係る実施形態では、サードパーティ（例えば、プロバイダネットワークの仮
想コンピューティングサービスの別のカスタマ）は、プロバイダネットワークリソースの
なんらかのセットを使用し、サービスをセットアップし、サービスにアクセスできるパブ
リックＩＰアドレスを宣伝してよい。サードパーティプロバイダは、例えばプロバイダネ
ットワークの構成マネージャに要求を提出することによってＰＡＥアクセスのためにサー
ドパーティプロバイダのサービスを登録してよい。構成マネージャは、候補サードパーテ
ィサービスが、ＰＡＥがターゲットとして示されるルートを介するアクセスをサポートで
きることを検証してよい。例えば、構成マネージャは、いくつかの実施形態では、サード
パーティサービスに（インテリジェントロードバランサ等の）トンネリングプロトコルを
実装できるフロントエンドノードの割当てを開始してよい。他の実施形態では、サードパ
ーティサービス事業者がトンネリングプロトコルを実装することを目的とするノードをす
でにセットアップしている場合、係るノードの能力が検証されてよい。サードパーティサ
ービスが登録され、トンネリングプロトコルに従ってパケットを抽出し（カプセル開放を
行い）、カプセル化できるフロントエンドノードがセットアップされた後に、クライアン
トはサードパーティサービスにアクセスするようにクライアントのＩＶＮのＰＡＥを構成
してよい。例えば、サードパーティサービスでの名前またはエイリアス（例えば、「Ｔｈ
ｉｒｄＰａｒｔｙＳｖｃ１」）は、プログラムインタフェースを使用してクライアントに
よってＰＡＥと関連付けることができるサービス宛先オプションのリスト（例えば、ＰＡ
Ｅサポートのためにすでに構成されている公にアクセス可能なサービスを表す「Ｓｔｏｒ
ａｇｅＳｖｃ１」、「ＤＢＳｖｃ１」等）に追加されてよい。
【００１８】
例のシステム環境
図１は、少なくともいくつかの実施形態に従って、プライベートエイリアスエンドポイ
ント（ＰＡＥ）がプロバイダネットワークの分離仮想ネットワーク（ＩＶＮ）と１つまた
は複数の公にアクセス可能なサービスとの間のネットワークトラフィックのルーティング
を、ＩＶＮでのパブリックＩＰアドレスを割り当てることなく、及びカスタマネットワー
クを横断することなく可能にするために確立されてよい、実施例のシステム環境を示す。
示されるように、システム１００は、仮想コンピューティングサービス（ＶＣＳ）及び公
にアクセス可能なサービスＳｖｃ１（つまり、そのクライアントが公に宣伝されたＩＰア
ドレスまたはＵＲＩを介して要求を提出できるようにするサービス）を含んだ複数のサー
ビスが実装されるプロバイダネットワーク１０２を含む。公にアクセス可能なサービスＳ
ｖｃ１は、例えば任意の大きさに作られたストレージオブジェクトへウェブサービスベー
スのアクセスを提供するストレージサービス、非リレーショナルデータベースサービス、
リレーショナルデータベースサービス、通知サービス、メッセージ待ち行列サービス、ま
たはさまざまな他のタイプのサービスのいずれかを含んでよい。これらのサービスのそれ
ぞれは、例えば独自の管理層または制御プレーンと、プロバイダネットワークの論理的に
別々の部分を集合的に形成する、複数のホスト、ストレージデバイス、及び他のコンピュ
ーティング設備を含んでよい。例えば図１では、ＶＣＳのリソースはＶＣＳネットワーク
１０４の中に位置する。一方、Ｓｖｃ１のリソースはＳｖｃ１ネットワーク１７０の中に
位置する。
【００１９】
ＶＣＳネットワーク１０４の中で、ＩＶＮ１１０Ａ及びＩＶＮ１１０Ｂ等のいくつかの
異なる分離仮想ネットワーク（ＩＶＮ）１１０が多様なクライアントの代わりに確立され
てよい。その代わりに所与のＩＶＮ１１０が確立されるクライアントは、ＩＶＮのネット
ワーキング構成に関して相当な柔軟性を与えられてよい‐例えば、クライアントは、ＩＰ
アドレスがＩＶＮの外での使用で他と重複しないことを確実にする必要なく多様な計算イ
ンスタンス１１２に所望されるＩＰアドレスを割り当て、サブネットをセットアップし、
ルートテーブルをポピュレートする等してよい。示されるように、各ＩＶＮは、ＩＶＮ１
１０ＡのＩＨ  １３０Ａ及び１３０Ｂ、並びにＩＶＭ１１０ＢのＩＨ  １３０Ｍ及び１３
０Ｎ等の複数のインスタンスホスト（ＩＨ）１３０を含んでよい。１つまたは複数の計算
インスタンス（ＣＩ）１１２は、ＩＨ  １３０ＡでのＣＨ  １１２Ａ、ＩＨ  １３０Ｂで
のＣＩ  １１２Ｂ、ＩＨ  １３０ＭでのＣＩ  １１２Ｋ、及びＩＨ  １３０ＮでのＣＩ  
１１２Ｌ等の各ＩＨ  １３０でインスタンス化されてよい。計算インスタンスのそれぞれ
は１つまたは複数のクライアントアプリケーションまたはアプリケーションサブコンポー
ネントに使用されてよい。
【００２０】
図１に示される実施形態では、サービスＳｖｃ１は少なくとも２つの層のリソース、つ
まり入信サービス要求を受信し、アウトバウンドサービス応答を送信するように構成され
る（ロードバランサ及び／または要求ルータ等の）フロントエンド（ＦＥ）ノード１７１
、並びにサービス要求を遂行するためのサービスの論理が実装されるバックエンド（ＢＥ
）ノード１７３を含む。ＦＥノード１７１Ａ、１７１Ｂ、及び１７１Ｃ等のＦＥノードの
少なくともいくつかはそれらに割り当てられたパブリックＩＰアドレスを有し、このよう
にして例えば公衆インターネット１３９のデバイスに、及びネットワーク１８５等のカス
タマ所有のネットワークでインターネットに接続されたデバイスにＳｖｃ１を公にアクセ
ス可能にしてよい。
【００２１】
示される実施形態では、例えばＳｖｃ１関係のパケットが（公衆インターネットから直
接的にアクセスできないプライベートＩＰアドレスを有する）ＣＩ１１０Ａと、Ｓｖｃ１
ネットワーク１７０との間で、ＣＩ１１０Ａがそれに割り当てられるパブリックＩＰアド
レスを有する必要なく、及びトラフィックがカスタマ所有ネットワーク１８５または公衆
インターネット１３９のリンクを通過することを必要とせずに流れることができるように
するために、プライベートエイリアスエンドポイント（ＰＡＥ）１５０がＩＶＮ１１０Ａ
で確立されている。以下にさらに詳細に説明されるように、ＩＶＮ１１０Ａのためのルー
トテーブルエントリは、（ＣＩ１１０Ａが構成されるサブネットを含んだ）ＩＶＮ１１０
Ａの１つまたは複数のサブネットで生じ、Ｓｖｃ１に向かうことになっているトラフィッ
クがＰＡＥ１５０をターゲットとする必要があることを示すためにいくつかの実施形態で
セットアップされてよい。Ｓｖｃ１のパブリックＩＰアドレスのリスト等の他のメタデー
タだけではなくこのルートテーブルエントリも、少なくともいくつかの実施形態でＩＶＮ
１１０Ａのインスタンスホスト１３０のそれぞれで実行中の仮想化管理構成要素（ＶＭＣ
）（例えば、ハイパーバイザ構成要素）が利用できてよい。ＩＶＮ構成マネージャ１０６
は、クライアントがＰＡＥの作成、ＰＡＥとの特定のサービスの関連付け、ＩＶＮのため
のルートテーブルエントリの作成または修正等を要求できるようにする（アプリケーショ
ンプログラミングインタフェース（ＡＰＩ）、ウェブベースコンソール、コマンドライン
ツール、またはグラフィックユーザーインタフェース等の）１つまたは複数のプログラム
インタフェースを実装してよい。
【００２２】
インスタンスホスト１３０ＡでのＶＭＣは、ＣＩ１１２Ａで生成され、Ｓｖｃ１に向け
られたサービス要求を含むアウトバウンドベースラインネットワークパケットを妨害して
よい。（いくつかのサービス要求及びその関連付けられた要求パラメータが複数のパケッ
トを必要とする可能性があることに留意されたい。提示を簡略にするために、サービス要
求は以下の説明ではベースラインパケットに収まると仮定される。係るサービス要求の本
明細書に説明されるトンネリング技法は、多様な実施形態でパケット境界を渡るサービス
要求に使用されてもよい。サービス要求は、ＨＴＴＰ（ハイパーテキスト転送プロトコル
）、ＨＴＴＰｓ（セキュアＨＴＴＰ）、ＸＭＬ（拡張マークアップ言語）等のＳｖｃ１に
よってサポートされている任意の適切なインタフェースに従ってフォーマットされてよい
。ベースラインパケットはソースとしてＣＩのプライベートＩＰアドレスを、宛先として
Ｓｖｃ１のパブリックＩＰアドレスを示してよい。ＶＭＣは、示される実施形態では第１
のカプセル化プロトコルに従ってベースラインパケットから第１のカプセル化パケットを
生成してよい。第１のカプセル化パケットの中で、いくつかの実施態様では、ベースライ
ンパケットは本体に含まれてよい。一方、第１のカプセル化プロトコルの１つまたは複数
の追加のヘッダは、パケットがＰＡＥトラフィックを含む旨の表示を（他の情報の中で）
含んでよい。第１のカプセル化パケットは、ＰＡＥトラフィック１６２のための破線矢印
によって示されるように、インスタンスホスト１１２Ａから、示されている実施形態では
一群のトンネリング手段１４０の内のＴＩ  １４２Ａ等のトンネリング手段（ＴＩ）に送
信されてよい。（ＴＩ１４２Ａ、１４２Ｂ等のＴＩとしてセットアップされる複数のコン
ピューティング装置を含んでよいＴＩ群１４０は、ＶＣＳネットワーク１０４と、Ｓｖｃ
１のネットワーク１７０を含んだ、プロバイダネットワークのさまざまな他の論理的に分
けられたネットワークとの間でトラフィックが流れることができるように確立された可能
性がある。トンネリング手段は、いくつかの実施形態ではネットワーク関係の処理のため
に最適化された特殊目的コンピューティング装置を含んでよい。他の実施形態では、トン
ネリング手段は汎用コンピューティング装置での実行のプロセスまたはスレッドを含んで
よい。
【００２３】
少なくともいくつかの実施形態では、第１のカプセル化パケットを受信すると、ＴＩ１
４２ＡはＶＭＣによって追加されたヘッダだけではなくベースラインパケットのコンテン
ツも抽出してよい。一実施形態では、ＴＩ１４２Ａはそれぞれベースラインパケットの送
信元アドレス及び宛先アドレスとは異なる送信元アドレス及び宛先アドレスを生成するた
めに特定のトンネリングプロトコルと関連付けられたマッピングデータベースを活用して
よい。例えば、一実施態様では、ベースラインパケットの送信元ＩＰアドレス及び宛先Ｉ
Ｐアドレスは、ＩＰｖ４（インターネットプロトコルのバージョン４）に従ってフォーマ
ットされてよく、ＴＩ１４２Ａはそれらを、内部ブリッジネットワーク１６０を介してＳ
ｖｃ１ネットワーク１７０に送信される第２のカプセル化パケットのためのより長いＩＰ
ｖ６（インターネットプロトコルバージョン６）アドレスで置き換えてよい。内部ブリッ
ジネットワーク１６０は、例えば仮想コンピューティングサービスから公にアクセス可能
なサービスに向けられるトラフィック用等、プロバイダネットワークでの相互サービスト
ラフィック用の経路として使用されてよい。いくつかの実施形態では、内部ブリッジネッ
トワーク１６０はボーダネットワークと呼ばれてよく、公衆インターネットと仮想コンピ
ューティングサービスとの間を流れるトラフィックに使用されてもよい。
【００２４】
一実施態様では、ＴＩ１４２Ａで、ベースラインパケットの送信元ＩＰアドレスは、ア
ウトバウンド第２カプセル化パケットで使用される対応する送信元アドレスを探すために
マッピングデータベースでキーとして使用されてよい。同様に、ベースラインパケットの
宛先ＩＰアドレスは、係る実施態様でアウトバウンド第２カプセル化パケットで使用され
る対応する宛先アドレスを探すためにマッピングデータベースでキーとして使用されてよ
い。少なくともいくつかの実施形態では、第２のカプセル化パケットの送信元アドレス及
び宛先アドレスにより多くの数のビットを使用することによって、ＴＩ１４２Ａはソース
ＩＶＮ（例えば、ＣＩ１１２Ａで生じるパケットの場合ＩＶＮ１１０Ａ）の識別子、及び
第２のカプセル化パケットでのＰＡＥ（例えばＰＡＥ１５０）の識別子の符号化を含むこ
とができてよい。いくつかの実施形態では、ＰＡＥ及び／またはＩＶＮの識別子は第１の
カプセル化パケットでＶＭＣによって追加されたヘッダに含まれてよく、ＴＩ１４２は係
るヘッダから識別子を入手してよい。他の実施形態では、マッピングデータベースから、
への、入手される送信元アドレス及び宛先アドレスはＩＶＮ及び／またはＰＡＥの符号化
された識別子を含んでよい。
【００２５】
ＴＩ１４２Ａで生成された第２のカプセル化パケットは、ブリッジネットワーク１６０
を介して宛先サービスＳｖｃ１のフロントエンドノード１７１（例えば１７１Ａ）に送信
されてよい。フロントエンドノード１７１は、ルーティングのために使用されるソースＩ
ＶＮ（例えばＩＶＮ  １１０Ａ）の識別子及び／またはＰＡＥ（例えばＰＡＥ１５０）の
識別子だけではなく、（ソースＣＩプライベートＩＰアドレスを含んだ）ベースラインパ
ケットのコンテンツも抽出するためにトンネリングプロトコルに従って脱カプセル化を実
行できてよい。少なくともいくつかの実施形態では、ＰＡＥ及び／またはソースＩＶＮの
識別によって、Ｓｖｃ１ノードは、以下にさらに詳細に説明されるように、異なる計算イ
ンスタンスからのサービス要求と同じソースプライベートＩＰアドレスを区別できるよう
になる。ベースラインパケットに示されるサービス要求は、処理のためにバックエンドノ
ード１７３（例えば１７３Ａ）に渡されてよい。要求が処理された後、ベースライン応答
パケットがバックエンドノードで生成され、トンネリングプロトコルに従ってカプセル化
され、要求のソース（ＣＩ１１２Ａ）に向かって逆方向で送信して戻されてよい。ＴＩ１
４２Ａ（例えばＴＩ１４２Ａまたは異なるＴＩのどちらか）は、内部ブリッジネットワー
ク１６０を介してカプセル化された応答を受信し、第１のカプセル化プロトコルを使用し
、修正されたカプセル化バージョンを生成し、ＩＨ１３０ＡのＶＭＣに修正されたカプセ
ル化バージョンを送信してよい。ＶＭＣはベースライン応答パケットを抽出し、ソースＣ
Ｉ１１２Ａにベースライン応答パケットを提供してよい。
【００２６】
２つの異なるカプセル化プロトコルが上述されているが、いくつかの実施形態では、単
一のカプセル化プロトコルだけが、計算インスタンスと公にアクセス可能なサービスとの
間のトラフィックを容易にするために必要とされることがあるか、または使用されること
があることに留意されたい。例えば、１つの係る実施形態では、ＶＭＣは内部ブリッジネ
ットワーク上でトラフィックに使用されるトンネリングプロトコルを実装できてよく、し
たがってＶＭＣ自体がトンネリング手段の機能を果たしてよい。係る実施形態では、ＶＭ
Ｃは、宛先としてＰＡＥ１５０と関連付けられた公にアクセス可能なサービスでパケット
を妨害し、ソースＩＶＮ及び／またはＰＡＥの符号化を含むカプセル化されたパケットを
生成し、ブリッジネットワークデバイスにカプセル化されたパケットを送信してよい。
【００２７】
Ｓｖｃ１に向けられるトラフィックのためのルートテーブルエントリでのターゲットと
してＰＡＥを使用することによって、クライアントはＩＶＮとＳｖｃ１との間のルーティ
ングトラフィックに向かう、ともに図１に示される他の２つの接近を回避できてよい。１
つの接近では、その代わりにＩＶＮ１１０Ｂがセットアップされるクライアントは、その
ＩＶＮのためにインターネットゲートウェイ１８２を確立する、及び／またはＣＩ１１２
Ｋ等のそのインスタンスの１つに（公衆インターネットからアクセスできる）パブリック
ＩＰアドレスを割り当てることを決定してよい。係る状況では、ＣＩ１１２Ｋで生成され
たＳｖｃ１要求を含んだベースラインパケットは、例えばインターネットゲートウェイ（
ＩＧＷ）トラフィックのために示される経路１６３に類似する経路を介して、上述された
トンネリングプロトコルの種類を使用することなくＳｖｃ１ノード（例えばＦＥノード１
７１Ｂ）に送信されてよい。いくつかの場合、パブリックＩＰアドレスで生じるトラフィ
ックに使用される経路は公衆インターネットのリンク１３９を含んでよい。インターネッ
トゲートウェイ手法を使用することに優るＰＡＥ手法を使用することの１つの潜在的な優
位点は、ＩＶＮ１１０Ｂが（パブリックＩＰアドレスが割り当てられる必要がない）ＩＶ
Ｎ１１０Ａよりも公衆インターネットからの攻撃に（パブリックＩＰアドレスを露呈する
ことのおかげで）より脆弱性がある場合がある点である。
【００２８】
ＰＡＥの使用に対する第２の代替策で、クライアントは、ＩＶＮ１１０Ｂとカスタマ所
有ネットワーク１８５との間に安全な接続性を提供するためにＶＰＮ（仮想プライベート
ネットワーク）ゲートウェイ１８３を確立してよい。ＣＩ１１２Ｌ等のインスタンスから
Ｓｖｃ１に向けられるパケットは、最初にカスタマ所有ネットワーク１８５に送信され、
次いで（例えば公衆インターネットリンク１３９を介して）（ＦＥノード１７１Ｃ等の）
Ｓｖｃ１ノードに送信されてよい。確立されたＶＰＮゲートウェイ１８５を有する１１０
Ｂ等のＩＶＮがパブリックＩＰアドレスを活用する必要がなく、セットアップされたイン
ターネットゲートウェイ１８２を有する必要がなく、ＶＰＮゲートウェイだけを使用する
クライアントはそれによって上述されたセキュリティの脆弱性を回避し得ることに留意さ
れたい。しかしながら、多くの場合、プロバイダネットワークの中で（例えば、ＩＶＮの
中のインスタンスで）生じ、プロバイダネットワークの中の宛先（例えばＳｖｃ１ノード
）をターゲットとするトラフィックのための外部ネットワークに対してＶＰＮ接続を使用
することはいくつかの点で非効率的であることがある。例えば、少なくともいくつかの実
施形態では、ＰＡＥ方式と比較して、より高い待ち時間に遭遇することがあり、より低い
スループットが持続可能であることがあり、及び／またはＶＰＮ手法が使用される場合、
より高いコストが生じることがある。それぞれ上述された３つの代替ルーティング手法（
つまりＰＡＥを使用するルーティング、パブリックＩＰアドレスを送信元ＩＰアドレスと
して使用するルーティング、及びＶＰＮを使用するルーティング）に対応する３つの別々
のＦＥノード１７１Ａ、１７１Ｂ、及び１７１Ｃが図１に示されるが、少なくともいくつ
かの実施形態では、任意の所与のＦＥノードは代替策のいずれかを使用し送信されるトラ
フィックを処理できてよい。したがって、３つのＦＥノードの図は、ＦＥノードのそれぞ
れのセットが異なる接続性代替策に必要とされることを暗示することを意図していない。
【００２９】
一実施形態では、仮想コンピューティングサービスは、ＩＶＮの計算インスタンスで実
行中のアプリケーションからＰＡＥを使用し、公にアクセス可能なサービスにアクセスす
るために呼び出すことができるＡＰＩのセットを露呈するサービス接続性ライブラリ（Ｓ
ＣＬ）を提供してよい。係る状況では、アプリケーションはターゲットサービスＳｖｃ１
を示すＡＰＩ呼出しを発行してよく、サービス要求のコンテンツはＡＰＩ呼出しのパラメ
ータによって示される。ＳＣＬは、アプリケーションがＳｖｃ１にサービス要求を提供す
る意図があると判断してよく、Ｓｖｃ１にサービス要求を送信するために必要な適切なカ
プセル化の実装を開始してよい。したがって、アプリケーションがベースラインパケット
の生成を開始する従来の手法を使用する代わりに、サービス要求からパケットを作成する
作業はＳＣＬによって扱われてよい。いくつかの係る実施形態では、アプリケーションは
、ターゲットサービスの特定のパブリックＰアドレスを入手する必要さえない。例えば、
サービス要求の宛先は、特定のネットワークアドレス別よりむしろサービス名別で示され
てよい。一実施形態では、アプリケーションがＡＰＩ呼出しのサービスの特定のターゲッ
トパブリックアドレスを示すとしても、ＳＣＬは（ＳＣＬによって選択される実際の宛先
がサービス要求に適切に応答できる限り）ターゲットサービスの異なるパブリックＩＰア
ドレスまたはプライベートＩＰアドレスにサービス要求のカプセル化バージョンを送信し
てよい。
【００３０】
パケットの流れの実施例
図２は、少なくともいくつかの実施形態に従って、分離仮想ネットワークの計算インス
タンスで生じるパケットを、公にアクセス可能なサービスの宛先に向けることに関与する
実施例の構成要素を示す。示されるように、ＩＶＮ２１０のインスタンスホスト２３０は
、インスタンス１１２Ａ及び１１２Ｂ等の複数の計算インスタンス１１２を含んでよい。
各インスタンス１１２は、ゲスト仮想機械で実行中のそれぞれのオペレーティングシステ
ムインスタンスを含んでよい。クライアントアプリケーションの１つまたは複数の構成要
素は、計算インスタンス１１２Ａでのアプリケーションプロセス２２０Ａ及び計算インス
タンス１１２Ｂでのアプリケーションプロセス２２０Ｂ等の各計算インスタンスで実行さ
れてよい。計算インスタンスと（ネットワークトラフィックに使用されるネットワークイ
ンタフェースカード、つまりＮＩＣ等の）インスタンスホストのハードウェア構成要素と
の間の対話は、ＶＭＣ２４０等の１つまたは複数の仮想化管理構成要素（ＶＭＣ）によっ
て管理されてよい。ＶＭＣは、例えば、ハイパーバイザ及び／または（ドメインゼロつま
りｄｏｍ０オペレーティングシステムインスタンスと呼ばれることもある）特権オペレー
ティングシステムインスタンスを含んでよい。
【００３１】
アプリケーションの少なくともいくつかは、示される実施形態ではＩＶＮの外で実装さ
れる１つまたは複数のサービスへのアクセスを必要とすることがある（例えば、ＩＶＮの
外で実装される１つまたは複数のサービスにサービス要求を提出してよく、ＩＶＮの外で
実装される１つまたは複数のサービスからサービス応答を受信してよい）。例えば、アプ
リケーションプロセス２２０Ｂは公にアクセス可能なサービスＳｖｃ１へのアクセスを必
要とすることがある。したがって、図２で「１」と名前を付けられた矢印によって示され
るように、ＤＮＳクエリー２０４は計算インスタンスから、Ｓｖｃ１のＩＰアドレスを要
求するＤＮＳサーバ２５２（例えば、ＩＶＮ２１０が実装される仮想コンピューティング
サービスネットワークの中からアクセス可能なＤＮＳサーバ）に提出されてよい。ＤＮＳ
サーバ２５２は、「２」と名前が付けられた矢印によって示されるように、Ｓｖｃ１によ
って露呈されるか、または宣伝されるパブリックＩＰアドレス２０５を提供してよい。少
なくともいくつかの実施形態では、アプリケーションがしばらくＳｖｃ１と対話していな
い場合、ＤＮＳルックアップを実行しさえすればよい。すなわち、Ｓｖｃ１のアドレスが
いったん入手されると、アドレスは、ＤＮＳサーバ２５２との追加の対話なしに、インス
タンス１１２Ｂによって長期間（例えば、アドレスが有効である限り）使用されてよい。
【００３２】
Ｓｖｃ１に向けられるサービス要求は、示される実施形態ではインスタンス１１２Ｂで
生成されるベースラインパケット２５０の本体に含まれ、Ｓｖｃ１に向かう伝搬のために
計算インスタンスのネットワーキングスタックに送信されてよい。ベースラインパケット
２５０は、その送信元アドレスとしてインスタンス１１２ＢのプライベートＩＰアドレス
を、宛先としてＳｖｃ１のパブリックＩＰアドレスを示してよい。他のネットワークパケ
ットと同様に、ベースラインパケットは、「３」と名前を付けられた矢印によって示され
るように、（物理ネットワーク伝送を担ってよい）ＶＭＣ２４０によって妨害されてよい
。
【００３３】
ＶＭＣ２４０は、ルートテーブル２３５及びＳｖｃ１パブリックＩＰアドレスのリスト
２３６等、示される実施形態ではＰＡＥ関係のメタデータ及び他のＩＶＮメタデータにア
クセスできてよい。ルートテーブル２３５は、多様な宛先向けであるパケットを送るため
に使用される必要のあるターゲットを示すエントリを含んでよい‐例えば、Ｎ１．Ｎ２．
Ｎ３．＊．の範囲の宛先アドレスの付いたパケットの場合、ターゲットＫ．Ｌ．Ｍ．Ｎが
使用される必要がある。Ｓｖｃ１の任意のノード向けのパケットのルートテーブルは図２
に示される実施例で作成され、プライベートエイリアスエンドポイントＰＡＥ−１はター
ゲットとして示される。ベースラインパケット２５０に示される宛先及びそれが利用でき
るＰＡＥ関係メタデータの分析に基づいて、ＶＭＣ２４０は示される実施形態では第１の
カプセル化パケット２５１を生成してよい。パケット２５１の本体は（そのソース及び宛
先の情報を含んだ）ベースラインパケット２５０のコンテンツを組み込んでよい。一方、
追加のヘッダ２６０は、ＶＭＣとトンネリング手段２４２との間の通信に使用される第１
のカプセル化プロトコルＰに従ってＶＭＣ２４０によって生成されてよい。カプセル化パ
ケット２５１は、「４」と名前が付けられた矢印によって示されるように、ＶＭＣ２４０
から特定のトンネリング手段２４２に送信されてよい。少なくともいくつかの実施形態で
は、ＰＩヘッダ２６０は、ベースラインパケットがＰＡＥ１と関連付けられる、及び／ま
たはＩＶＮ２１０で生じる旨の表示を含んでよい。ＶＭＣ２４０とトンネリング手段２４
２の間の経路はそれ自体いくつかのホップを含んでよく、例えば多様なホップのためのタ
ーゲットは図２に示されないルートテーブルエントリに基づいて選択されていることに留
意されたい。
【００３４】
トンネリング手段２４２は、カプセル化パケット２５１に含まれるベースラインパケッ
ト２５０のＰＩヘッダ２６０及び／またはソースヘッダ／宛先ヘッダを調べてよい。第２
のカプセル化プロトコルＰ２（本明細書ではトンネリングプロトコルとも呼ばれる）のマ
ッピングデータベース２６２を使用し、トンネリング手段２４２は、１つまたは複数のＰ
２ヘッダ２６１及びベースラインパケット２５０を含んだ第２のカプセル化パケット２５
５を生成してよい。ベースラインパケットの送信元アドレス及び宛先アドレスは、パケッ
ト２５５に使用される新しいソースヘッダ及びパケットヘッダを識別するために、いくつ
かの実施形態ではマッピングデータベース２６２へのインデックスとして使用されてよい
。いくつかの実施態様では、プロトコルＰ２に従って、ＩＰｖ４ベースラインパケット２
５０は、例えばＳＩＩＴ（ステートレスＩＰ／ＩＣＭＰ（インターネットプロトコル／イ
ンターネットコントロールメッセージプロトコル）変換）または類似するＩＰｖ４−ＩＰ
ｖ６ヘッダ変換機構を使用し、ＩＰｖ６互換パケット２５５の中でカプセル化されてよい
。他の実施形態では、プロバイダネットワークの特許カプセル化プロトコルがカプセル化
パケット２５５を生成するために使用されてよい。いくつかの実施形態では、ＩＰｖ６を
使用する代わりに、ＴＣＰオプションヘッダ等の追加のＩＰｖ４ヘッダがトンネリング手
段によって使用されてよいか、またはＵＤＰ（ユーザーデータグラムプロトコル）カプセ
ル化が（例えば、ＵＤＰメッセージの中にベースラインパケットコンテンツを取り込むこ
とによって）使用されてよい。いくつかの実施形態でＰ１ヘッダ２６０及びＰ２ヘッダ２
６１の中に含まれてよい情報の種類の実施例は図４に示され、以下に説明される。カプセ
ル化パケット２５５は、トンネリング手段２４２から、Ｓｖｃ２ノードに達するために横
断される適切なブリッジネットワーク１６０のデバイスに送信されてよい。
【００３５】
図３ａ及び図３ｂは、少なくともいくつかの実施形態に従って、分離仮想ネットワーク
の計算インスタンスで生じるパケットを処理してよいサービス側構成要素のそれぞれの実
施例を示す図である。上述されたように、いくつかの実施形態では、少なくとも２つのタ
イプのサービスが、ＰＡＥが構成されているＩＶＮからのクライアントアクセスをサポー
トしてよい。第１のタイプのサービスはプロバイダネットワーク事業者によって実装され
てよい。一方、第２のタイプはプロバイダネットワークのカスタマ等のサードパーティに
よって実装されるサービスを含んでよい。図３ａに示されるプロバイダネットワーク実装
サービス３７６等の第１のタイプのサービスの場合、フロントエンドノード３７４はトン
ネリング手段２４２によって使用されるカプセル化プロトコルＰ２に精通して（つまり、
実装できて）よい。すなわち、プロトコルＰ２に従ってフォーマットされるパケット２５
５を受信すると、サービス３７６のフロントエンドノード３７４はベースラインパケット
コンテンツを抽出し、処理のためにバックエンドノード３７４に送信できる対応する内部
要求３５０を生成できてよい。いくつかの場合、プロバイダネットワークによって実装さ
れるサービスは、例えばＨＴＴＰ（ハイパーテキスト転送プロトコル）に従ってフォーマ
ットされたサービス要求をサポートしてよく、フロントエンドノードは、ベースラインパ
ケットが生成されたソースＩＶＮの識別子、及び／またはベースラインパケットを送るた
めに使用されるＰＡＥを示すベースライン要求に１つまたは複数のＸ−Ｆｏｒｗａｒｄｅ
ｄ−Ｆｏｒヘッダを追加してよい。要求された操作がバックエンドノードで実行された後
、例えば応答経路で類似したカプセル化技法を使用し、要求側計算インスタンスに応答が
送り返されてよい。例えば、サービス３７６のＰ２精通フロントエンドノード３７４は、
ベースライン応答の少なくとも一部分を含んだＰ２準拠のカプセル化パケットを生成し、
ブリッジネットワーク１６０を介してパケットを、同様にＰ１準拠カプセル化パケットを
生成し、適切なＶＭＣ２４０にパケットを送信してよいトンネリング手段２４２に送信し
てよい。ＶＭＣ２４０は、Ｐ１準拠パケットからベースライン応答を抽出し、１１２Ｂ等
のソース計算インスタンスに応答を提供してよい。
【００３６】
プロバイダネットワーク事業者によって実装されるサービスのノードとは対照的に、（
図３ｂに示されるサードパーティサービス３７８等の）少なくともいくつかのサードパー
ティサービスは、プロトコルＰ２に従って生成されるカプセル化パケット２５５からベー
スラインパケットを抽出できるノードを含まないことがある。いくつかの場合、例えば、
Ｐ２の詳細はサードパーティサービス事業者が利用できないことがあるか、または係る事
業者はＰ２準拠のサービスノードを構築するためのリソースまたは専門知識を有さないこ
とがある。したがって、少なくともいくつかの実装態様では、ＰＡＥベースのルーティン
グのために係るサードパーティサービスを登録する要求に応えて、または登録後要求に応
えて、プロバイダネットワークの構成または制御プレーンは１つまたは複数のサービス側
Ｐ２精通手段３７０を確立してよい。係るサービス側手段３７０はカプセル化パケット２
５５からベースラインパケット２５０を抽出し、サードパーティサービス３７８のフロン
トエンドノード３７５にベースラインパケットを送信してよい。フロントエンドノード３
７５は次いでベースラインパケット２５０を、特許サードパーティフォーマット、ＨＴＴ
Ｐで、またはサービス３７８のバックエンドノード３８０によって予想される他のインタ
フェースに従って生成されてよい内部要求３５２に変換してよい。内部要求３５２に対応
する操作は、次いでバックエンドノードで遂行されてよく、応答は、手段３７０でのカプ
セル化の後に、要求が生じた計算インスタンスに逆方向で送信されてよい。
【００３７】
カプセル化フォーマット
図４は、少なくともいくつかの実施形態に従って、計算インスタンスで生じるベースラ
インパケットのためのカプセル化フォーマットの実施例を示す。示されるように、ベース
ラインパケット４０２は、示される実施形態で送信元ＩＰバージョン４アドレス及び宛先
ＩＰバージョン４アドレスを示してよい。例えば、分離仮想ネットワークの中で、（ＩＶ
Ｎの外で宣伝されていない）プライベートＩＰアドレス「１０．０．１．２」がクライア
ントによって計算インスタンス１１２に割り当てられてよく、このプライベートＩＰアド
レスはベースラインパケット４０２で送信元アドレスとして示されてよい。パブリックＩ
Ｐバージョン４アドレス「１７６．３２．１０１．２５」は、計算インスタンスからアク
セスされる特定の公にアクセス可能なサービスＳｖｃ１のアドレスに対するＤＮＳクエリ
ーに応えてＤＮＳサーバによって提供された可能性がある。サービスのこのパブリックア
ドレスはベースラインパケット４０２の宛先として示されてよい。例えば、計算インスタ
ンスでのソースポートとしてポート４３２１、及び宛先サービスポートとしてポート８０
等、ＴＣＰポート番号もベースラインパケットに示されてよい。ベースラインパケット４
０２のペイロードまたは本体部分は、サービス要求のパラメータだけではなくストレージ
サービスに向けられた読取り要求または書込み要求等、送信中のサービス要求のタイプも
示してよい。
【００３８】
ベースラインパケット４０２は、示される実施形態でトンネリング手段との通信のため
に使用される第１のカプセル化プロトコルＰ１に従ってインスタンスのホストで仮想化管
理構成要素（例えば、ＶＭＣ−ｘ）によってカプセル化されてよい。Ｐ１互換パケット４
０４で、ベースラインパケットは本体に含まれてよく、１つまたは複数のＰ１ヘッダが追
加されてよい。ＶＭＣの識別子はソースとして示されてよく、トンネル中間群はいくつか
の実装態様で宛先として示されてよい。例えばベースラインパケットが生成されたソース
ＩＶＮを識別する、及び／または宛先としてＳｖｃ１を指定するルートテーブルエントリ
に示されたＰＡＥを示す他のＰ１特有のヘッダは、パケット４０４でいくつかの実施形態
に含まれてよい。Ｐ１互換フォーマットは少なくともいくつかの実施形態での多様なヘッ
ダフィールドにＩＰバージョン４フォーマットを使用してよい。
【００３９】
トンネリング手段で、Ｐ１互換パケット４０４は示される実施形態でそのＰ１ヘッダを
取り去られてよく、ヘッダの異なるセットは宛先サービスへのブリッジネットワークを横
切る通信のために使用されるトンネリングプロトコルＰ２に従って追加されてよい。示さ
れる実施形態では、トンネリング手段によって生成されるＰ２互換パケット４０６は、Ｉ
Ｐｖ６ソースフィールド及び宛先フィールドを含んでよい。ＩＰｖ６で送信元アドレスに
使用可能な１２８ビットの内の３２ビットのサブセットは、いくつかの実施形態でソース
計算インスタンスのプライベートＩＰｖ４アドレスを示すために使用されてよい。同様に
、ＩＰｖ６で宛先アドレスに使用可能な１２８ビットの内の３２ビットサブセットは宛先
サービスのＩＰｖ４パブリックアドレスを示すために使用されてよい。例えば、パケット
４０６の送信元アドレスの低位ビットは、送信元ＩＰＶ４アドレス１０．０．１．２の代
替表現である０Ａ００：０１０２であり、パケット４０６の宛先アドレスの低位ビットは
、ＩＰｖ４宛先アドレス１７６．３２．１０１．２５の代替表現であるＢ０２０：６５７
Ｄである。
【００４０】
一実施態様では、図４に示されるアドレス構造４０８に示されるように、ＩＰｖ６で使
用可能な１２８アドレスビットは、トンネリングプロトコルＰ２に従って以下の通り使用
されてよい。最低位の３２ビット（ビット０〜３１）は送信元ＩＰｖ４アドレスまたは宛
先ＩＰｖ４アドレスに使用されてよく、ビット４０〜７１はＰＡＥ識別子を示すために使
用されてよく、ビット８０〜１２７は、ソースＩＶＮまたは宛先サービスが実装されてい
るプロバイダネットワーク場所またはデータセンタに配分される４８ビットのＩＰｖ６接
頭辞に使用されてよい。ＰＡＥ識別子用にとっておかれた３２ビットの内の２４ビット（
例えば、より高位の２４ビット）は、示される実装態様ではソースＩＶＮ識別子を示して
よい。このようにして、少なくともいくつかの実施形態では、ＩＶＮ識別子はＰＡＥ識別
子の中に埋め込まれ、したがってＰＡＥ識別子から抽出可能であってよい。ソースＩＶＮ
識別子、ＰＡＥ識別子、または両方を表すための他の符号化技法は異なる実装態様で使用
されてよい。例えば、ＰＡＥを一意で識別するために必要とされるビットの数の将来の考
えられる増加に対応するために、ビット３１〜３９及びビット７２〜８０等のいくつかの
数のビットが将来の使用のために確保されてよい（ＲＦＵ）。Ｐ２互換カプセル化パケッ
トアドレスを示されるように構造化する（例えば、最下位の３２ビットはＩＰｖ４送信元
アドレス／宛先アドレスを符号化するために使用される）１つの優位点は、少なくともい
くつかのロードバランサが、それらが、１２８ビットの内のＩＰｖ４部分だけが宛先とし
て示されるならば選択されるだろう係るＩＰｖ６互換パケットを受信するときに同じ宛先
を選択してよい点である。他の手法は、例えばビットの異なるサブセットがＩＶＮ識別子
及び／またはＰＡＥ識別子を示すために使用される異なる実施形態でＩＰｖ６互換アドレ
ス構造を区分化するために使用されてよい。
【００４１】
少なくともいくつかの実施形態に従って、トンネリングプロトコルは、例えば別個のト
ンネリング手段群を必要とすることなくソース計算インスタンスが実行するインスタンス
ホストで実装されてよい。係る実施形態では、図４に示される２ステップのカプセル化が
、ＶＭＣで、及び／またはインスタンスホストで実行中の異なるサービス接続性構成要素
で実装される単一論理ステップに結合されてよい。ＶＭＣ及び／またはサービス接続性構
成要素は、係る実施形態でのソース計算インスタンスと宛先サービスとの間のトンネリン
グ手段と見なされてよい。
【００４２】
ＰＡＥ構成
図５は、少なくともいくつかの実施形態に従って、ＰＡＥ構成要求及びＰＡＥ構成応答
の実施例を示す。示されるように、プロバイダネットワークの構成マネージャ５９２は、
ＡＰＩ、ウェブベースのコンソール、カスタムＧＵＩまたはコマンドラインツール等の１
つまたは複数のプログラムインタフェース５５０を実装してよい。クライアント５０２は
、係るインタフェースを使用し、例えば要求中のパラメータとしてＩＶＮ識別子を示す指
定されたＩＶＮのプライベートエイリアスエンドポイントを作成するために「Ｃｒｅａｔ
ｅ−ＰＡＥ−Ｉｎ−ＩＶＮ」要求５０５を提出してよい。それに応じて、構成マネージャ
５９２はその構成データベースで要求されたＰＡＥのために１つまたは複数のエントリを
生成し、記憶し、新規に作成されたＰＡＥの識別子を応答５０７で提供してよい。いくつ
かの実施形態では、１つまたは複数のＰＡＥは、ＩＶＮがクライアントのために確立され
た時点でＩＶＮのために自動的にセットアップされてよく、係る状況では、明確なＰＡＥ
作成要求は必要とされないことがある。
【００４３】
クライアント５０２は、ＰＡＥ作成後に、ＰＡＥを使用しトラフィックが送られる特定
のサービスを示す「Ａｓｓｉｇｎ−Ｓｅｒｖｉｃｅ−ｔｏ−ＰＡＥ」要求５０９を構成マ
ネージャ５９２に提出してよい。いくつかの実装態様では、ＰＡＥ識別子及びサービス識
別子は係る要求でパラメータとして供給されてよい。それに応じて、構成マネージャ５９
２はＰＡＥに関してその構成メタデータを更新してよく、サービス割当ての肯定応答５１
１を提供した。いくつかの実施形態では、プログラムインタフェース５５０は、構成され
ているＰＡとの関連付けのために１つがその中から選択できる登録サービス名のリストを
（例えば、ドロップダウンメニューに）提供してよい。
【００４４】
多様なタイプのアクセス制御方針は、例えば方針及びＰＡＥを指定する「Ａｓｓｉｇｎ
−Ｐｏｌｉｃｙ−ｔｏ−ＰＡＥ」要求５１３に応えて、いくつかの実施形態でＰＡＥに割
り当てられてよい。適用可能な方針の例は図６に示され、以下に説明される。構成マネー
ジャ５９２は示される方針の表示及び方針のＰＡＥとの関連付けを記憶し、関連付けの肯
定応答５１５をクライアントに提供してよい。少なくともいくつかの実施形態では、方針
の関連付けはＰＡＥのために要求されてよいが、方針の実際の施行は（ａ）ＰＡＥに割り
当てられるサービス、（ｎ）方針を指向するためにＰＡＥに割り当てられるサービスによ
って呼び出すことができる、プロバイダネットワークの許可及び認証サービス等の異なる
サービス、または（ｃ）サービス要求がＰＡＥに従ってそこから送られるインスタンスホ
ストのＶＭＣでの内の１つまたは複数で実行されてよい。いくつかの実施形態では、方針
の表示は、例えば肯定応答５１５がクライアントに提供される前に、ＰＡＥに割り当てら
れたサービスの制御プレーン構成要素に構成マネージャによって送信されてよい。
【００４５】
プロバイダネットワークのクライアントは、いくつかの実施形態でＰＡＥ支援ルーティ
ングのためのサービスを登録する要求５１７を提出してもよい。例えば、サードパーティ
サービス（つまり、プロバイダネットワーク事業者によって直接的に管理されないサービ
ス）が、プロバイダネットワークのリソースのなんらかのセットを使用し確立されてよく
、係るサードパーティサービスの事業者は、パブリックＩＰアドレスがＩＶＮによって使
用される必要なく、ＩＶＮの中からサービスへのアクセスを可能にすることを希望するこ
とがある。係る状況では、サービス構成の詳細（例えば、サービスのフロントエンドノー
ドのアドレス）を提供する「Ｒｅｇｉｓｔｅｒ−Ｓｅｒｖｉｃｅ−Ｆｏｒ−ＰＡＥ」要求
がクライアント５０２によって提出されてよい。少なくともいくつかの実装態様では、Ｐ
ＡＥを確立することを担う構成マネージャとは異なる構成マネージャがサービスを登録す
ることを担ってよく、プログラムインタフェースの異なるセットがサービス登録要求に使
用されてよい。サービス登録要求に応えて、構成マネージャは、例えば、サービスを受け
入れ、クライアントに応答５１９で登録された名前または登録されたサービスの識別子を
提供する前に、登録されることが提案されたサービスがＰＡＥ互換性の特定の基準を満た
すことを検証するために１つまたは複数のバリデーション操作を実行してよい。例えば、
一実施態様では、サービスのフロントエンド構成要素は、それがプロバイダネットワーク
のカプセル化プロトコルを使用するトンネリング手段によって生成される要求を受信でき
ることを確認するためにクエリーを行われてよい、または試験されてよい。
【００４６】
いくつかの実施形態では、追加構成要求のタイプが図５に示されるものを超えてサポー
トされてよい。例えば、（図３ｂのＰ２精通手段３７０等の）サービス側トンネリング手
段を構成する要求は、いくつかの実施形態でサードパーティサービスをセットアップした
クライアントによって提出されてよい。一実施形態では、クライアントは異なるサービス
にＰＡＥを割り当てし直す、または追加のタイプの構成要求を使用し、ＰＡＥに複数のサ
ービスを割り当てることができてよい。いくつかの実施態様では、図５に示されるすべて
のタイプの構成要求がサポートされてよいわけではない。上述されたように、クライアン
トは（例えば、同じＩＶＮの中から異なるサービスにアクセスするための）所与のＩＶＮ
と関連付けられた複数のＰＡＥを確立してよく、複数のＩＶＮを有するクライアントはそ
れぞれの係るＩＶＮで１つまたは複数のＰＡＥをセットアップしてよい。
【００４７】
図６は、少なくともいくつかの実施形態に従って、ＰＡＥ構成データベースコンテンツ
の実施例を示す。構成マネージャ５９２を活用して２つのＰＡＥが確立された特定のＩＶ
Ｎ（ＩＶＮ−ｊ）の構成データベースが示される。ＰＡＥ６０４Ａは、サービス識別子フ
ィールド６０６Ａに示されるサービス「ＳｔｏｒａｇｅＳｖｃ１」（プロバイダネットワ
ークで実装されたストレージサービス）を割り当てられる。一方、ＰＡＥ６０４Ａはサー
ビス識別子フィールド６０６Ｂに示されるサービス「ＤＢＳｖｃ１」（プロバイダネット
ワークで実装されるデータベースサービス）を割り当てられる。ＰＡＥ６０４Ａはそれに
割り当てられたアクセス方針６０８Ａを有する。一方、ＰＡＥ６０４Ｂは２つのアクセス
方針６０８Ｂ及び６０８Ｃを有する。
【００４８】
アクセス方針６０８Ａは、示される実施例では範囲ＣＩ−ＩＰ−ａｄｄｒｅｓｓ−ｒａ
ｎｇｅ６１０ＡのＩＰアドレスを有する計算インスタンスからまたは計算インスタンスに
向けられるＳｔｏｒａｇｅＳｖｃ１トラフィックに適用する。いくつかの実施形態では、
方針が適用するトラフィックを示すためにＩＰアドレスを使用する代わりに、計算インス
タンスのインスタンス名または他の識別データが使用されてよい。アドレス範囲６１０Ａ
から要求が許可される操作タイプのリスト（例えば、読取り対書込み）は、方針６０８Ａ
のｏｐｅｒａｔｉｏｎ−ｔｙｐｅｓ−ｐｅｒｍｉｔｔｅｄフィールド６１２Ａに示されて
よく、それらの操作を向けることができるサービスＳｔｏｒａｇｅＳｖｃ１のオブジェク
ト（例えば、ディレクトリ「／ｘｙｚ」に記憶されるオブジェクト）はオブジェクトリス
ト６１４Ａに示される。示される例では、方針６０８Ａが適用される時間範囲（例えば、
各作業日の特定の時間、または週の特定の日）は、適用可能な時間範囲フィールド６１６
Ａに示されてよい。本人（例えば、ユーザーまたはグループの識別子）のリスト６１８Ａ
も、そのサービス要求が方針６０８Ａに示される規則によって管理されるエンティティを
示す、方針６０８Ａについて関連付けられてよい。
【００４９】
ＰＡＥ６０４Ｂのために施行されるアクセス方針６０８Ｂ及び６０８Ｃのそれぞれは、
方針の規則が適用される計算インスタンスを示す、そのそれぞれのＣＩ−ＩＰ‐ａｄｒｅ
ｓｓ範囲６１０を示してよい。６０８Ｂ等のいくつかの方針では、例えば、許可される操
作のタイプの代わりに、または許可される操作のタイプに加えて、禁止される操作のタイ
プが（例えば、ｏｐｅｒａｔｉｏｎ−ｔｙｐｅｓ−ｐｒｏｈｉｂｉｔｅｄフィールド６１
３に）示されてよい。オブジェクトリスト６１４Ｂに「＊」で示されるように、フィール
ド６１３に示される操作は、ｐｒｉｎｃｉｐａｌｓ−ｌｉｓｔ６１８Ｂに示される本人に
ついて示される例でＤＢＳｖｃ１のすべてのオブジェクトについて禁止されてよい。示さ
れるように、方針に含むことができるエントリのすべてのタイプが方針ごとに指定される
必要があるわけではない‐例えば、方針６０８Ｂは適用可能な時間範囲を含まない。一方
、方針６０８Ｃは本人リストを含まない。方針に含まれないエントリのタイプについては
デフォルト値が使用されてよい‐例えば、終日が適用可能な時間範囲となると仮定されて
よく、方針規則は、特定の本人が示されない場合すべての本人に適用されてよい。示され
る例では、フィールド６１２Ｂは、適用可能な時間範囲６１６Ｃの間にフィールド６１４
Ｃにリストされるオブジェクトに関して許可される操作タイプを示してよい。
【００５０】
いくつかの実施形態では、特定のアクセス方針が所与のＰＡＥのためにクライアントに
よって指定されない場合、プロバイダネットワークは対応するサービスに提出されるサー
ビス要求に適用される規則を決定するためになんらかのデフォルトのセットを適用してよ
い。デフォルトはいくつかの実装態様ではサービスごとに異なることがある。上述された
ように、いくつかの実施形態では、ＰＡＥが割り当てられているサービスは（サービス自
体のノードで、またはアイデンティティ及び許可管理サービス等のプロバイダネットワー
クの別のサービスに要求を提出することによって）方針を施行することを担ってよい。い
くつかのサービスに対するサービス要求は、要求がサービスに到達した後に要求されてい
る操作のタイプを決定することだけが可能であるように暗号化されてよく、その結果、ア
クセス方針はサービス端部に適用されなければならないことがある。係る場合、方針は、
方針がクライアント（例えば、ＩＶＮ構成マネージャ）によって示される構成マネージャ
によってサービスに（例えば、制御プレーンまたはサービスの管理構成要素に）通信され
てよい。他の実施形態では、方針の規則の少なくともいくつかは要求者端部（例えば、Ｉ
ＶＮ端部）で施行されてよい‐例えば、対応するユーザが適用可能な方針の本人リストに
示され、示される本人についてすべての書込みが禁止されている場合、ＶＭＣは計算イン
スタンスから発行される書込み要求を拒否することができてよい。
【００５１】
再利用されるプライベートＩＰアドレスからの要求の区別
クライアントはＩＶＮネットワーク構成で与えられる柔軟性を使用して、例えば、同じ
アドレスが他の場所で（例えば、他のＩＶＮでまたは公衆インターネットで）使用中であ
るかどうかを考慮することなく、上述されたようにいくつかの実施形態でＩＶＮ計算イン
スタンスに対し、その好みのプライベートＩＰアドレスを割り当ててよい。いくつかの場
合、クライアントは異なるＩＶＮのインスタンスに同じＩＰアドレスを割り当ててよい。
（例えば、そこからの要求がサービスで受け取られるソースの正確な記録のため等の）い
くつかの理由から、たとえ同じ送信元ＩＰアドレスが要求で示されることがあっても、サ
ービスが異なるＩＶＮからの要求を区別できることが役立つ場合がある。
【００５２】
図７は、少なくともいくつかの実施形態に従って、同じプライベートＩＰアドレスを有
する計算インスタンスからサービスで受信される要求を区別するためのＩＶＮ識別子及び
ＰＡＥ識別子の使用の例を示す。示されるように、それぞれのＩＶＮ７０２Ａ及び７０２
ＢはクライアントＣ１によってセットアップされてよく、ＩＶＮ７０２Ａはクライアント
の組織のエンジニアリング部による使用のためにセットアップされ、ＩＶＮ７０２Ｂは組
織のマーケティング部による使用のためにセットアップされる。両方の組織とも、示され
る例で同じ公にアクセス可能なストレージサービス「ＳｔｏｒａｇｅＳｖｃ１」に記憶さ
れるオブジェクトにアクセスする必要がある場合がある。ＰＡＥ７５０Ａは、ＩＶＮ７０
２ＡからＳｔｏｒａｇｅＳｖｃ１にアクセスするために確立されてよく、ＰＡＥ７５０Ｂ
はＩＶＮ７０２ＢからＳｔｏｒａｇｅＳｖｃ１にアクセスするために確立されてよい。
【００５３】
クライアントＣ１は（例えば、故意にまたは偶然に）同じプライベートＩＰアドレス１
０．４．５．６をＩＶＮ７０２Ａの計算インスタンス７１０Ａに、及びＩＶＮ７０２Ｂの
計算インスタンス７１０Ｋに割り当ててよい。ＳｔｏｒａｇｅＳｖｃ１に向けられるサー
ビス要求は、両方の計算インスタンス７１０Ａと７１０Ｋで生成されてよい。上述された
プロバイダネットワークのトンネリング手段で実装されてよいカプセル化プロトコルに従
って、ＳｔｏｒａｇｅＳｖｃ１のオブジェクトＸを読み取る、ＩＶＮ７０２Ａからの要求
を示すカプセル化サービス要求パケット７７４Ａは、フロントエンドノード７７１に送信
されてよい。カプセル化パケット７７４Ａは要求の元のソースとしてプライベートＩＰア
ドレス１０．４．５．６を示してよく、要求を送るために使用されるＩＶＮ識別子７０２
Ａ及びＰＡＥ７５０Ａの符号化を含んでもよい。同様に、サービスのオブジェクトＹを読
み取る要求を示すカプセル化パケット７７４Ｂは、フロントエンドノード７７１で受信さ
れてよい。また、パケット７７４Ｂは、ソースインスタンスのプライベートＩＰアドレス
（パケット７７４Ａに示されるものと同一の１０．４．５．６）、ソースＩＶＮ（７０２
Ｂ）、及び示される実施形態でその要求を送るために使用されるＰＡＥ７５０Ｂも示して
よい。
【００５４】
フロントエンドノード７７１（及び／または要求された作業が実行されるバックエンド
ノード７７３）は、パケット７７４Ａ及び７７４Ｂに示される送信元ＩＰアドレスが同一
であっても、受信されたパケットに含まれるＩＶＮ及び／またはＰＡＥ識別情報を使用し
て要求のソースを区別できてよい。したがって、Ｘを読み取る要求が受信されたか、また
は処理されたタイムスタンプＴ１、要求側計算インスタンスのプライベートＩＰアドレス
１０．４．５．６、ＩＶＮ７０２Ａ及びＰＡＥ７５０Ａの識別子を示すログレコード７３
３Ａが（ＦＥノードまたはＢＥノードのどちらかによって）生成されてよい。受信または
処理のタイムスタンプＴ２、送信元ＩＰアドレス１０．４．５．６、並びにＩＶＮ７０２
Ｂ及びＰＡＥ７５０Ｂの識別子を示す類似するログレコード７３３ＢはＹを読み取る要求
のために生成されてよい。いくつかの実施形態では、要求のソースの曖昧さをなくすため
にはどちらか１つで十分である場合があるので、ＩＶＮの識別子または識別子ＰＡＥだけ
がログレコードに（またはカプセル化パケット）に含まれてよい。
【００５５】
トンネリング手段が上述されたようにカプセル化パケット７７４のソースヘッダの中に
ＩＶＮ識別子またはＰＡＥ識別子を取り込む実施形態では、異なるＩＶＮからのトラフィ
ックが、（フロントエンドノード７７１及び／またはバックエンドノード７７３等の）サ
ービス側ノードが必ずしもソースヘッダのコンテンツを解析できない可能性がある状況で
も曖昧さをなくしてよいことに留意されたい。例えば、サードパーティサービスがＰＡＥ
ベースのルーティングを使用するために登録され、ＩＰｖ６がカプセル化のために使用さ
れている場合、サードパーティサービスのノードは、ＩＰｖ６ヘッダのどの特定のビット
がソースＩＶＮ情報またはソースＰＡＥ情報を符号化するために使用されるのかを認識し
ていないことがある。ただし、ＩＶＮ７０２ＡからのパケットＰ１のためのＩＰｖ６ソー
スヘッダはＩＶＮ７０２ＢからのパケットＰ２ためのＩＰｖ６ソースヘッダとは異なるた
め、サードパーティサービスノードは、ＩＶＮ識別子及び／またはＰＡＥ識別子に関する
詳細がサードパーティサービスノードで確かめられない場合にも、Ｐ１及びＰ２が異なる
ソースからであることを少なくとも判断できるだろう。言うまでもなく、サードパーティ
サービスノードが図６に示される方針に類似するアクセス制御方針を実装することを担い
、アクセス制御方針が特定のＩＶＮまたは特定のＰＡＥと関連付けられる場合、サードパ
ーティサービスノードはＩＶＮ／ＰＡＥ識別子を入手する必要がある場合がある。
【００５６】
プライベートエイリアスエンドポイントのための方法
図８は、少なくともいくつかの実施形態に従って、ＰＡＥを構成するために実行されて
よい操作の態様を示す流れ図である。要素８０１に示されるように、１つまたは複数の分
離仮想ネットワークは、例えば仮想コンピューティングサービスのリソースを使用し、プ
ロバイダネットワークでクライアントＣ１の代わりにセットアップされてよい。各ＩＶＮ
は、クライアントが（サブネットセットアップ、ＩＰアドレス割当て等の）内部ネットワ
ーキング構成選択を行うことができる計算インスタンス等のリソースのなんらかのセット
を含んでよい。例えば、クライアントは、所与のプライベートＩＰアドレスがＩＶＮの外
のリソースに関して一意であることを確認する必要なく、プライベートＩＰアドレス（Ｉ
ＶＮの外で宣伝されないアドレス）を計算インスタンスの仮想ネットワークインタフェー
スに割り当ててよい。クライアントが２つの異なるＩＶＮ、ＩＶＮ１及びＩＶＮ２で同じ
プライベートＩＰアドレス「ａ．ｂ．ｃ．ｄ」を使用することを希望する場合、そのアド
レスは、例えばＩＶＮ１の計算インスタンスＣＩ１及びＩＶＮ２の異なる計算インスタン
スＣＩ１に割り当てられてよい。ＩＰアドレスの一意性は少なくともいくつかの実施形態
では所与のＩＶＮの中でまだ必要とされることがある‐例えば、同じＩＰアドレスは、同
じＩＶＮの中で起動される２つのインスタンスに割当て可能ではないことがある‐ことに
留意されたい。
【００５７】
示される実施形態では、仮想コンピューティングサービスは、クライアントが、ＩＶＮ
と関連付けられたプライベートエンドポイントエイリアス（ＰＡＥ）を使用し、公にアク
セス可能なサービス（例えば、プロバイダネットワーク事業者によって実装されるストレ
ージサービスまたはデータベースサービス、及び／またはプロバイダネットワークの他の
カスタマによって実装されるサードパーティサービス）にプライベートＩＰアドレスを有
するＩＶＮ計算インスタンスからサービス要求を提出できるようにしてよい。要素８０４
に示されるように、ＣＩの代わりにＩＶＮ１のために確立された特定のＰＡＥ（ＰＡＥ１
）を表すメタデータレコードは、例えば仮想コンピューティングサービスの構成マネージ
ャ構成要素またはプロバイダネットワークによって作成され、記憶されてよい。少なくと
もいくつかの実施態様では、ＰＡＥ１が作成されるときに（例えば、Ｃ１からのプログラ
ム要求に応えて）、ＰＡＥ１は任意の特定のサービスに関連付けられるか、または結び付
けられる必要はない。ＩＶＮ１と関連付けられるルートテーブルの中で、ＰＡＥ１は、例
えば、要素８０７に示されるように、選択されたサービスがＰＡＥ１に割り当てられる別
個の構成ステップの後に最終的に、ＩＶＮ１の中で生じ、プロバイダネットワークの他の
場所で（つまり、ＩＶＮ１の外で）実装される選択されたサービスに向けられるネットワ
ークトラフィックのルートターゲットとして示されてよい。
【００５８】
少なくともいくつかの実施形態では、いくつかのサービスが、例えば、プロバイダネッ
トワーク事業者が、ＩＶＮ端部でプライベートＩＰアドレスを有するインスタンスと、サ
ービス端部でパブリックＩＰアドレスを有するサービスノードとの間でパケットを伝送す
るために使用されるカプセル化プロトコルを実装するために必要とされることがある（ト
ンネリング手段等の）構成要素をセットアップし、試験した／検証した後に、ＰＡＥサポ
ートに登録された可能性がある。また、サービスのパブリックＩＰアドレスは、いくつか
の実施形態では、トンネリング手段及び／またはＩＶＮのインスタンスホストでの仮想化
管理構成要素にアクセス可能な構成データベースの中で検証され（必要に応じて更新）さ
れる必要がある場合がある。少なくとも一実施形態で、クライアントＣ１が使用可能なプ
ログラムインタフェースは、クライアントが、ＰＡＥ１にサービスＳｖｃ１を割り当てる
とき（要素８０７）に係る登録されるセットの中からサービスを選択できるようにしてよ
い‐すなわち、クライアントは事前に承認されたサービスをそのＩＶＮのためにセットア
ップされたＰＡＥに関連付けることを許されるにすぎないことがある。一実装態様では、
ＰＡＥ１等のＰＡＥとＳｖｃ１等のサービスとの間の関連付けは、ＰＡＥの「サービス」
属性の値を設定することによってＩＶＮ構成データベースの中で表されてよい。
【００５９】
１つまたは複数のアクセス方針は、いくつかの実施形態でＰＡＥ１等の所与のＰＡＥと
関連付けられてよい（要素８１０）。アクセス方針は、例えば、ＰＡＥ１を使用し、許可
されるもしくは禁止される操作またはサービス要求のタイプ、ＰＡＥ１を介してアクセス
が与えられるオブジェクトタイプ、方針規則が適用する本人（例えば、ユーザーまたはグ
ループ）、方針規則が適用する期間等を示してよい。いくつかの実施形態では、クライア
ントＣ１は、例えばプログラムインタフェースを使用し、ＰＡＥ１に対する好みのアクセ
ス方針を示してよい。デフォルトアクセス方針は、クライアントが方針を示さない場合、
ＰＡＥに対しいくつかの実装態様で適用されてよい。また、方針はいくつかの実装態様で
はＰＡＥの属性として表されてもよい。複数の方針を所与のＰＡＥに割り当てることがで
きるいくつかの実施形態では、構成マネージャは異なる方針間の矛盾を検出することを担
ってよい。例えば、ある方針は特定のオブジェクトに対する特定のタイプの操作を許して
よい。一方、別の方針はそのタイプの操作を禁止してよい。いくつかの実施態様では、構
成マネージャは、クライアントが矛盾する方針の中で優先順位を付けるまたは矛盾を取り
除くことを要求してよい。他の実施形態では、構成マネージャはいくつかのデフォルトの
優先順位で（例えば、最も最近に適用された方針がデフォルトでより古い方針を無効にす
る）指定された方針を単に適用してよく、矛盾は相応して解決されてよい。
【００６０】
宛先がＳｖｃ１であるトラフィックのターゲットとしてのＰＡＥ１を示すルートテーブ
ルエントリは、（例えば、プログラムインタフェースを使用して提出された要求を介して
Ｃ１によって）作成され、示される実施形態ではＩＶＮ１の１つまたは複数のサブネット
にアタッチされてよい（要素８１３）。ルートテーブルエントリのためのソース及び宛先
として特定のＩＰアドレス範囲を指定する代わりに、サービスの登録名が宛先として示さ
れてよく、ＰＡＥ１が作成されたときにＰＡＥ１に割り当てられた名前または識別子がタ
ーゲットとして示されてよく、このようにしてクライアントＣ１の観点からＩＶＮ１とＳ
ｖｃ１との間のルート管理を大幅に簡略化する。ルートテーブルエントリがアタッチされ
た後、サブネットのインスタンスとＳｖｃ１との間のトラフィックの流れが始まってよい
。
【００６１】
少なくともいくつかの実施形態では、１つまたは複数のＰＡＥ（例えば、ＰＡＥ１）に
割り当てられたサービス（例えば、Ｓｖｃ１）と関連付けられたパブリックＩＰアドレス
のセットは経時的に変化する可能性がある。Ｓｖｃ１等の登録されたサービスの制御プレ
ーンまたは管理構成要素、及び／または仮想コンピューティングサービスの構成マネージ
ャは、係るアドレスが示される実施形態で使用されてよい構成要素に、パブリックＩＰア
ドレスのリスト及び／または他のＰＡＥ関係の構成情報に対する更新を伝搬することを担
ってよい（要素８１６）。係る更新は、例えば上述された種類のカプセル化プロトコルが
実装されるトンネリング手段からアクセス可能な構成データベース、及び／またはＩＶＮ
インスタンスホストの仮想化管理構成要素からアクセス可能なデータベースに対して行わ
れてよい。
【００６２】
図９は、少なくともいくつかの実施形態に従って、計算インスタンスから公にアクセス
可能なサービスにパケットを送信するためのトンネリングプロトコルの使用を示す流れ図
である。要素９０１に示されるように、アクセスされるサービスＳｖｃ１パブリックＩＰ
アドレス「Ａｄｄｒ１」は、ＰＡＥ（ＰＡＥ１）がＳｖｃ１への／からのトラフィックの
ために確立されたＩＶＮ（ＩＶＮ１）で実装される計算インスタンスＣＩ１で（例えば、
ＤＮＳクエリーを使用し）決定されてよい。計算インスタンスＣＩ１で、本体がサービス
要求ＳＲ１の少なくとも一部分を示すベースラインパケットＢＰ１が生成されてよい（要
素９０４）。ＣＩ１のプライベートＩＰアドレスはＢＰ１の送信元アドレスとして示され
てよく、Ａｄｄｒ１は宛先として示されてよい。ＢＰ１は、例えばＣＩ１にアタッチされ
る仮想ネットワークインタフェースを使用し、ＣＩ１からＡｄｄｒ１に向かって送信され
てよい。
【００６３】
示される実施形態では、ベースラインパケットＢＰ１は、ＣＩ１が実行するインスタン
スホストで、ハイパーバイザまたは特権をもつドメインオペレーティングシステム等の仮
想化管理構成要素（ＶＭＣ）によって妨害されることがある（要素９０７）。ＶＭＣは、
例えば（仮想ネットワークインタフェース等の）仮想化されたリソースとインスタンスホ
ストの（物理ネットワークインタフェースカード等の）ハードウェア構成要素との間で手
段としての機能を果たしてよい。ＶＭＣは、ＢＰ１の宛先アドレス及び／またはＣＩ１か
らＳｖｃ１へのトラフィックがＰＡＥにターゲットとされる必要があることを示すルート
テーブルエントリ等のＰＡＥ構成情報の１つまたは複数の要素を分析してよい。少なくと
も一実施形態では、ＶＭＣはＳｖｃ１のパブリックＩＰアドレスのリストでＡｄｄｒ１を
探してもよいか、または代わりに探すことができてよい。構成情報の調査に基づいて、Ｖ
ＭＣは、ＢＰ１から引き出される第１のカプセル化パケットＥＰ１が、例えばブリッジネ
ットワークを介してＡｄｄｒ１に向かう追加の伝送のためにトンネリング手段に向かって
送信されると判断できてよい（要素９１０）。トンネリング手段は、例えば、内部ブリッ
ジネットワークを介して、（ＣＩ１等の）仮想コンピューティングサービスのノードと、
（Ｓｖｃ１等の）公にアクセス可能なサービスのノードとの間でトラフィックを送るため
にセットアップされたマルチノード群の内の１つのノードであってよい。第１のカプセル
化パケットＥＰ１は、いくつかの実施形態で仮想コンピューティングサービスの多様な構
成要素の中でのルーティングのために使用される第１のカプセル化プロトコルＰ１に従っ
てフォーマットされてよい。ＥＰ１の中で、（ＢＰ１のソースヘッダ及び宛先ヘッダを含
んだ）ＢＰ１は本体構成要素の中で組み込まれてよく、１つまたは複数のＰ１ヘッダはい
くつかの実施態様ではＶＭＣによって追加されてよい。ＥＰ１の追加されたヘッダは、例
えばソースとしてＶＭＣ（またはＶＭＣが実行するインスタンスホスト）を、及び宛先と
してトンネル群（または特定のトンネリング手段）を示してよい。一実施態様では、ＩＶ
Ｎ１及び／またはＰＡＥ１の識別子は、ＥＰ１ヘッダに含まれてもよい。いくつかの実施
形態では、ＥＰ１ヘッダは必ずしもＰＡＥ１の識別子を示さないことがあるが、ＥＰ１が
ＰＡＥと関連付けられたパケットであることを示すフィールドを含んでもよい。
【００６４】
ＥＰ１は、最終的には、例えば仮想コンピューティングサービスのネットワークの１つ
または複数のホップを横切った後、示される実施形態でトンネリング手段に達してよい。
トンネリング手段で、ＢＰ１は抽出されてよく、ＥＰ１ヘッダのコンテンツは調べられて
よい。ＢＰ１の送信元アドレス及び宛先アドレス（つまり、ＣＩ１のプライベートＩＰア
ドレス及びＳｖｃ１アドレスＡｄｄｒ１）は、第２のカプセル化パケットＥＰ２で指定さ
れる、トンネリングプロトコルＰ２のマッピングデータベースで対応する送信元アドレス
及び宛先アドレスを探すために使用されてよい（要素９１３）。いくつかの実施形態では
、ベースラインパケットＢｐ１（及び／またはＥＰ）はＩＰｖ４に従ってフォーマットさ
れてよい。一方、トンネリングプロトコルで使用される送信元アドレス及び宛先アドレス
は、例えばＳＩＩＴまたは類似するＩＰｖ４−ＩＰｖ６変換プロトコルを使用し、ＩＰｖ
６に従ってフォーマットされてよい。他の実施形態では、トンネリングプロトコルは専有
であってよく、例えば、ＩＰｖ６様式のアドレスは必ずしも使用される必要はない、ＩＰ
ｖ６アドレスがトンネリングプロトコルのために使用されないいくつかの実施形態で、ベ
ースラインパケットのカプセル化は、ＴＣＰオプションヘッダ等の追加のＩＰｖ４ヘッダ
を使用し、実行されてよい。少なくとも１つの実施形態では、（例えば、ＵＤＰメッセー
ジの中にベースラインパケットを取り込むことによって）ＵＤＰ（ユーザーデータグラム
プロトコル）カプセル化が使用されてよい。ＥＰ１ヘッダは示される実施形態ではトンネ
リング手段でＥＰ２ヘッダによって削除され、置換されてよい。図４に示されるように、
いくつかの実施形態では、１つまたは複数のＥＰ２ヘッダはそれぞれ（ａ）（例えば、３
２ビットのＢＰ１送信元ＩＰアドレスを符号化するために１２８ビットのＥＰ２送信元ア
ドレスヘッダの内の３２ビットを使用し、３２ビットのＢｐ１宛先ＩＰアドレスを符号化
するために１２８ビットのＥＰ２宛先アドレスフィールドの内の３２ビットを使用する）
ＢＰ１送信元アドレス及び宛先アドレス、及び／または（ｂ）ソースＩＶＮ（ＩＶＮ１）
及びルーティングのために使用されるＰＡＥ（ＰＡＥ１）の識別子を示すまたは符号化し
てよい。いくつかの実装態様では、ＩＰ２ヘッダに含まれてよいＰＡＥ識別子は、それ自
体対応するＩＶＮの識別子の符号化を含んでよく、したがってＰＡＥ識別子は、要求が受
信されたＩＶＮ及びＰＡＥの両方ともを決定するためにサービスで使用可能であってよい
。少なくとも１つの実施態様では、ＢＰ１宛先アドレスは、ＢＰ１宛先アドレスが使用さ
れるのか、それともＥＰ２宛先アドレスが使用されるのかに関係なく、ロードバランサが
同じサービスフロントエンドノードに所与のパケットを送るように（例えば最低３２ビッ
トで）、それぞれＥＰ２ソースヘッダ及び宛先ヘッダの中に含まれてよい。
【００６５】
ＥＰ２は、例えばプロバイダネットワークの中で確立されたブリッジネットワークの選
択された経路を介して、トンネリング手段からＳｖｃ１のフロントエンドノードに送信さ
れてよい（要素９１６）。いくつかの実施形態では、ＥＰ２は、プロバイダネットワーク
事業者によって管理される及び／または所有されるプライベートネットワークリンクだけ
を使用し、Ｓｖｃ１に達してよい。他の実施形態では、ＥＰ２のために使用される経路は
パブリックネットワークリンクを含んでよい（例えば、パケットはプロバイダネットワー
クの外のネットワークデバイスを通過してよい、またはプロバイダネットワーク事業者以
外のエンティティによって管理されてよい／所有されてよい）。Ｓｖｃ１のフロントエン
ドノードで、サービス要求ＳＲ１を示すＢＰ１コンテンツが抽出されてよい（要素９１９
）。さらに、ソースインスタンスＣＩ１の一意の識別は、例えば同じＩＰアドレスが、他
のＩＶＮの他のインスタンスに割り当てられるようにＣＩ１に割り当てられるとしても、
ＥＰ２ヘッダを使用し、サービスで可能であってよい。例えば、１つまたは複数のＥＰ２
ヘッダから抽出されてよいＢＰ１のコンテンツを送るために使用されるソースＩＶＮ及び
／またはＰＡＥの識別子は、各ＩＶＮが特定のプライベートＩＰアドレスを有する単一の
インスタンスだけを含んでよい実施形態では、係るインスタンスからのサービス要求の曖
昧さをなくすために使用されてよい。少なくともいくつかの実施形態では、サービス要求
ＳＲ１は、ＰＡＥと関連付けられた１つまたは複数のアクセス制御方針に従ってサービス
側で確証されてよい。アクセス許可がチェックされた後、要求された操作が、例えばサー
ビスＳｖｃ１のバックエンドノードで実行されてよい。少なくともいくつかの実施形態で
は、少なくともいくつかのタイプの要求に応答が生成されてよく、応答は逆の順序で同じ
プロトコルを使用し、ＣＩ１に向かって逆方向で送信されてよい。例えば、コンテンツが
バックエンドサービスノードで生成されるベースライン応答は、サービスのフロントエン
ドノードでトンネリングプロトコルＰ２に従ってフォーマットされ、仮想コンピューティ
ングサービスのトンネリング手段にブリッジネットワークを横切って送信されてよい。ト
ンネリング手段で、応答は抽出され、第１のカプセル化プロトコルＰ１に従ってフォーマ
ットされ、ＣＩ１が実行するインスタンスホストでＶＭＣに渡されてよい。ＶＭＣはベー
スライン応答を抽出し、ＣＩ１に応答を提供してよい。
【００６６】
多様な実施形態では、図８及び図９の流れ図に示される操作以外の操作は、プライベー
トエイリアスエンドポイントをサポートするための技法の少なくともいくつかを実装する
ために使用されてよいことに留意されたい。示される操作のいくつかはいくつかの実施形
態では実装されないことがあり、図８もしくは図９に示されるのとは異なる順序でもしく
は異なる構成要素で、または順次的よりむしろ並行して実装されてよい。少なくとも１つ
の実施形態で、トンネリング手段及びＶＭＣについて説明される機能性は例えば結合され
てよい‐例えば、パケットを、別個の手段による追加のカプセル化なしに選択された経路
を介してサービスに送信できるようにするトンネリングプロトコルがＶＭＣで実装されて
よい。別の実施形態では、ベースラインパケットは、ＶＭＣによってカプセル化されずに
、計算インスタンスから、または非仮想化コンピューティング装置からトンネリング手段
に送信されてよい。
【００６７】
使用事例
分離仮想ネットワークの計算インスタンスから公にアクセス可能なサービスへ向けられ
たトラフィックのルーティングターゲットとしての機能を果たすためにプライベートエイ
リアスエンドポイントを確立する上述された技法はさまざまな状況で役に立ってよい。よ
り多くの分散型アプリケーションがプロバイダネットワーク環境に移動され、ネットワー
クをベースにした攻撃者の複雑化が増すにつれ、公衆インターネットで生じるネットワー
ク侵入からクライアントアプリケーションを守り、分離する必要性も高まっている。分離
仮想ネットワークは、クライアントが公衆インターネットに対して宣伝されないか、また
は公衆インターネットからアクセスできない計算インスタンスにプライベートＩＰアドレ
スを割り当てることを可能にするが、要求が係るインスタンスからのパブリックＩＰアド
レスで生じることを期待するサービスにアクセスすることは問題を呈することもある。プ
ライベートエイリアスエンドポイントは、潜在的なセキュリティの妥協を必要とせず、Ｖ
ＰＮ接続を介した要求の非効率的な／高価なルーティングなしに係るサービス要求を送信
できるようにしてよい。
【００６８】
本開示の実施形態は、以下の条項を考慮して説明できる。
１．システムであって、
プロバイダネットワークの構成マネージャと、
インスタンスホストの仮想化構成要素（ＶＭＣ）であって、クライアントの代わりに確
立された第１の分離仮想ネットワーク（ＩＶＮ）の第１の計算インスタンスが前記インス
タンスホストでインスタンス化され、前記第１の計算インスタンスが前記クライアントに
よって選択されたプライベートネットワークアドレスを有する、前記仮想化管理構成要素
（ＶＭＣ）と、
トンネリング手段と、
を備え、
前記構成マネージャが、前記第１のＩＶＮで生じ、特定のサービスに向けられるパケッ
トのルーティングターゲットとして第１のプライベートエイリアスエンドポイント（ＰＡ
Ｅ）の指定を表す第１のメタデータエントリを記憶するように構成され、前記パケットが
公に宣伝されたネットワークアドレスを送信元アドレスとして示すことなく前記特定のサ
ービスに送達され、
前記ＶＭＣが前記第１のメタデータエントリの調査に少なくとも部分的に基づいて、前
記ＶＭＣで妨害されたベースラインパケットから引き出される第１のカプセル化パケット
を前記トンネリング手段に送信するように構成され、前記ベースラインパケットが前記第
１の計算インスタンスで生成され、前記特定のサービスの公に宣伝されたネットワークア
ドレスに向けられ、
前記トンネリング手段が、
トンネリングプロトコルに従って、前記第１のカプセル化パケットから第２のカプセル
化パケットを生成するように構成され、前記第２のカプセル化パケットが前記第１のＩＶ
ＮをソースＩＶＮとして示すヘッダ構成要素を含み、
前記特定のサービスの１つまたは複数のノードの内の第１のノードに前記第２のカプセ
ル化パケットを送信するように構成され、前記第１のノードが（ａ）前記第２のカプセル
化パケットから、前記第１のＩＶＮの識別子及び前記プライベートネットワークアドレス
を決定する、及び（ｂ）前記ベースラインパケットに示されるサービス要求を遂行するた
めに１つまたは複数の操作を開始するように構成される、
前記システム。
【００６９】
２．前記第２のカプセル化パケットがＩＰｖ６（インターネットプロトコルのバージョ
ン６）に従ってフォーマットされ、前記ベースラインパケットがＩＰｖ４（前記インター
ネットプロトコルのバージョン４）に従ってフォーマットされる、条項１に記載のシステ
ム。
【００７０】
３．前記特定のサービスが複数のオブジェクトに対する複数の操作タイプをサポートし
、（ａ）前記特定のサービスの前記第１のノードまたは（ｂ）前記ＶＭＣの内の１つまた
は複数が、
前記１つまたは複数の操作の前に、前記サービス要求が前記第１のＰＡＥに割り当てら
れた第１のアクセス制御方針に準拠しているかどうかの判断を開始するように構成され、
前記第１のアクセス制御方針が、前記第１のＰＡＥをルーティングターゲットとして使用
し、提出された要求に関して、（ａ）前記複数の操作タイプの許可された操作タイプ、（
ｂ）前記複数の操作タイプの禁止された操作タイプ、（ｃ）前記複数の操作タイプの内の
特定の操作タイプが許可される時間間隔、または（ｄ）前記複数の操作タイプの内の特定
の操作タイプが許可される前記複数のオブジェクトの特定のオブジェクトの内の１つまた
は複数を示す、
条項１に記載のシステム。
【００７１】
４．前記構成マネージャが、
前記第１のＩＶＮで生じる追加のパケットのルーティングターゲットとして第２のＰＡ
Ｅを指定するようにさらに構成され、前記追加のパケットが異なるサービスに送達される
、
条項１に記載のシステム。
【００７２】
５．前記構成マネージャが、
前記クライアントの要求で、前記クライアントの第２のＩＶＮで確立された第２の計算
インスタンスに前記プライベートネットワークアドレスを割り当て、
前記第２のＩＶＮで生じ、前記特定のサービスに向けられるトラフィックを送るために
使用される第２のＰＡＥを確立する
ようにさらに構成され、
前記サービスの前記第１のノードが、
前記トンネリング手段によって生成される特定のカプセル化ヘッダの調査に基づいて、
前記第１のノードで抽出された特定のベースラインパケットが前記第１の計算インスタン
スで生成されたのか、それとも前記第２の計算インスタンスで生成されたのかを判断する
ように構成される、
条項１に記載のシステム。
【００７３】
６．方法であって、
プロバイダネットワークのトンネリング手段で、第１のプライベートエイリアスエンド
ポイント（ＰＡＥ）が、クライアントの代わりに確立された第１の分離仮想ネットワーク
（ＩＶＮ）で生じるトラフィックのためのルーティングターゲットとして指定されたと判
断することであって、前記トラフィックが特定の公にアクセス可能なサービスに送達され
る、判断することと、
前記トンネリング手段で、前記第１のＩＶＮの第１の計算インスタンスから前記特定の
公にアクセス可能なサービスの公に宣伝されたネットワークアドレスに向けられるベース
ラインパケットを受信することと、
前記トンネリング手段によって、（ａ）前記ベースラインパケットのコンテンツ、及び
（ｂ）ソースＩＶＮとしての前記第１のＩＶＮの表示を備えるカプセル化パケットを前記
特定のサービスの第１のノードに送信することと、
を含む、前記方法。
【００７４】
７．前記カプセル化パケットがＩＰｖ６（インターネットプロトコルのバージョン６）
に従ってフォーマットされ、前記ベースラインパケットがＩＰｖ４（前記インターネット
プロトコルのバージョン４）に従ってフォーマットされる、条項６に記載の方法。
【００７５】
８．前記特定のサービスが複数のオブジェクトに対する複数の操作タイプをサポートし
、
前記クライアントから前記第１のＩＶＮの構成マネージャで、前記第１のＰＡＥに第１
のアクセス制御方針を適用する要求を受信することであって、前記第１のアクセス制御方
針が、前記第１のＰＡＥを使用し、ルーティングターゲットとして提出される要求に関し
て、（ａ）前記複数の操作タイプの許可された操作タイプ、（ｂ）前記複数の操作タイプ
の禁止された操作タイプ、（ｃ）前記複数の操作タイプの内の特定の操作タイプが許可さ
れる時間間隔、または（ｄ）前記複数の操作タイプの内の特定の操作タイプが許可される
前記複数のオブジェクトの内の特定のオブジェクトの内の１つまたは複数を示す、受信す
ることと、
前記ベースラインパケットに示される特定の要求に従って第１の操作を実行する前に、
前記第１の操作が前記第１のアクセス制御方針によって許可されることを検証することと
、
をさらに含む、条項６に記載の方法。
【００７６】
９．前記第１のＩＶＮで生じる追加のトラフィックのルーティングターゲットとして第
２のＰＡＥを指定することをさらに含み、前記追加のトラフィックが異なるサービスに送
達される、条項６に記載の方法。
【００７７】
１０．前記第１の計算インスタンスが前記クライアントの要求で該第１の計算インスタ
ンスに割り当てられた特定のプライベートＩＰアドレスを有し、
前記クライアントの代わりに第２のＩＶＮを確立することであって、前記第２のＩＶＮ
が第２の計算インスタンスを含む、第２のＩＶＮを確立することと、
前記クライアントの要求で、前記第２の計算インスタンスに前記特定のプライベートＩ
Ｐアドレスを割り当てることと、
前記第２のＩＶＮで生じ、前記特定のサービスに向けられるトラフィックを送るために
使用される第２のＰＡＥを確立することと、
前記トンネリング手段によって生成されるカプセル化ヘッダの調査に基づいて前記特定
のサービスの特定のノードで、前記特定のノードで受信される特定のベースラインパケッ
トが、前記特定のプライベートＩＰアドレスが割り当てられた前記第１の計算インスタン
スで生成されたのか、それとも前記特定のプライベートＩＰアドレスが割り当てられた前
記第２の計算インスタンスで生成されたのかを判断することと、
をさらに含む、条項６に記載の方法。
【００７８】
１１．前記カプセル化パケットが、前記プロバイダネットワークで実装された特許トン
ネリングプロトコルに従ってフォーマットされる、条項６に記載の方法。
【００７９】
１２．前記カプセル化パケットが、前記第１のＰＡＥの識別子の表現を含んだヘッダを
含む、条項６に記載の方法。
【００８０】
１３．プログラムインタフェースを介して前記プロバイダネットワークの構成マネージ
ャで、前記第１のＰＡＥを生成する要求を前記クライアントから受信することと、
前記要求に応えて前記構成マネージャによって、前記第１のＰＡＥを表すメタデータエ
ントリを記憶することと、
をさらに含む、条項６に記載の方法。
【００８１】
１４．プログラムインタフェースを介して前記プロバイダネットワークの構成マネージ
ャで、ＰＡＥを使用するアクセスのために異なるサービスを登録する要求を受信すること
と、
前記要求に応えて前記構成マネージャによって、特定のサービスが特定のＰＡＥとの関
連付けのために前記クライアントによって選択できるサービスの集合体に前記異なるサー
ビスを追加することと、
をさらに含む、条項６に記載の方法。
【００８２】
１５．前記異なるサービスが、前記プロバイダネットワークのリソースのセットを使用
し、前記プロバイダネットワークの異なるクライアントによって実装され、
前記異なるサービスに向けられるベースラインパケットから引き出されるカプセル化パ
ケットのコンテンツを抽出するように構成された特定のフロントエンドノードを含んだ、
前記異なるサービスのために１つまたは複数のフロントエンドノードを確立すること、
をさらに含む、条項１４に記載の方法。
【００８３】
１６．１つまたは複数のプロセッサでの実行時、プロバイダネットワークのトンネリン
グ手段を実装するプログラム命令を記憶する非一過性のコンピュータアクセス可能記憶媒
体であって、前記トンネリング手段が、
クライアントの代わりに前記プロバイダネットワークで確立された第１の分離仮想ネッ
トワーク（ＩＶＮ）から特定のサービスに向けられるトラフィックのルーティングターゲ
ットとしての第１のプライベートエイリアスエンドポイント（ＰＡＥ）の指定に従って、
前記第１のＩＶＮの第１の計算インスタンスで生成されたベースラインパケットを受信す
るように構成され、前記ベースラインパケットが前記特定のサービスのパブリックＩＰ（
インターネットプロトコル）アドレスをその宛先アドレスとして示し、
選択されたトンネリングプロトコルに従って、（ａ）前記ベースラインパケットのコン
テンツの少なくとも一部分、及び（ｂ）ソースＩＶＮとして前記第１のＩＶＮを示すヘッ
ダ構成要素を備えるカプセル化パケットを生成し、
前記特定のサービスの第１のノードに前記カプセル化パケットを送信する
ように構成される、前記非一過性のコンピュータアクセス可能記憶媒体。
【００８４】
１７．前記カプセル化パケットがＩＰｖ６（前記インターネットプロトコルのバージョ
ン６）に従ってフォーマットされ、前記ベースラインパケットがＩＰｖ４（前記インター
ネットプロトコルのバージョン４）に従ってフォーマットされる、条項１６に記載の非一
過性のコンピュータアクセス可能記憶媒体。
【００８５】
１８．前記トンネリング手段が、
第１のＩＶＮとは異なるサービスに向けられるトラフィックのルーティングターゲット
として第２のＰＡＥの指定に従って、前記第１のＩＶＮの第２の計算インスタンスで生成
される第２のベースラインパケットの表現を受信するようにさらに構成され、前記第２の
ベースラインパケットが前記異なるサービスのパブリックＩＰアドレスをその宛先アドレ
スとして示し、
前記選択されたトンネリングプロトコルに従って、（ａ）前記第２のベースラインパケ
ットのコンテンツの少なくとも一部分、及び（ｂ）ソースＩＶＮとして前記第１のＩＶＮ
を示すヘッダ構成要素を備える第２のカプセル化パケットを生成し、
前記異なるサービスの異なるノードに前記第２のカプセル化パケットを送信する
ようにさらに構成される、条項１６に記載の非一過性のコンピュータアクセス可能記憶媒
体。
【００８６】
１９．前記第１のカプセル化パケットが、前記第１の計算インスタンスのプライベート
ＩＰアドレスの表示を含み、前記トンネリング手段が、
前記クライアントに代わって確立された第２のＩＶＮから前記特定のサービスに向けら
れるトラフィックのルーティングターゲットとしての第２のＰＡＥの指定に従って、前記
第２のＩＶＮの第２の計算インスタンスで生成された第２のベースラインパケットの表現
を受信するようにさらに構成され、前記第２のベースラインパケットが前記特定のサービ
スの前記パブリックＩＰアドレスをその宛先アドレスとして示し、
前記選択されたトンネリングプロトコルに従って、（ａ）前記第２のベースラインパケ
ットのコンテンツの少なくとも一部分、（ｂ）ソースＩＶＮとして前記第２のＩＶＮを示
すヘッダ構成要素、及び（ｃ）前記プライベートＩＰアドレスの表示を備える第２のカプ
セル化パケットを生成するようにさらに構成され、
前記特定のサービスの前記第１のノードに前記第２のカプセル化パケットを送信するよ
うにさらに構成され、前記特定のサービスの前記第１のノードが、前記第２のカプセル化
パケットの調査に基づき、前記第２のベースラインパケットが前記第１の計算インスタン
スで生成されたのか、それとも前記第２の計算インスタンスで生成されたのかを判断する
ように構成される、
条項１６に記載の非一過性のコンピュータアクセス可能記憶媒体。
【００８７】
２０．前記カプセル化パケットが、前記第１のＰＡＥの識別子の表現を含んだヘッダを
備える、条項１６に記載の非一過性のコンピュータアクセス可能記憶媒体。
【００８８】
例示的なコンピュータシステム
少なくともいくつかの実施形態では、構成マネージャ、ＶＭＣ、トンネリング手段、公
にアクセス可能なサービスのノード等のプライベートエイリアスエンドポイントをサポー
トするために使用される構成要素の内の１つまたは複数を実装するサーバは、１つもしく
は複数のコンピュータアクセス可能媒体を含むまたは１つもしくは複数のコンピュータア
クセス可能媒体にアクセスするように構成される汎用コンピュータシステムを含んでよい
。図１０は、係る汎用コンピューティング装置９０００を示す。示される実施形態では、
コンピューティング装置９０００は、入力／出力（Ｉ／Ｏ）インタフェース９０３０を介
して（不揮発性メモリモジュール及び揮発性メモリモジュールの両方を含んでよい）シス
テムメモリ９０２０に結合される１つまたは複数のプロセッサ９０１０を含む。コンピュ
ーティング装置９０００は、Ｉ／Ｏインタフェース９０３０に結合されるネットワークイ
ンタフェース９０４０をさらに含む。
【００８９】
多様な実施形態では、コンピューティング装置９０００は、１つのプロセッサ９０１０
を含んだユニプロセッサシステム、またはいくつかのプロセッサ９０１０（例えば、２、
４、８、または別の適切な数）を含んだマルチプロセッサシステムであってよい。プロセ
ッサ９０１０は、命令を実行できる任意の適切なプロセッサであってよい。例えば、多様
な実施形態では、プロセッサ９０１０は、ｘ８６、ＰｏｗｅｒＰｃ、ＳＰＡＲＣ、もしく
はＭＩＰＳ  ＩＳＡ、または任意の他の適切なＩＳＡ等のさまざまな命令セットアーキテ
クチャ（ＩＳＡ）のいずれかを実装する汎用プロセッサまたは組み込みプロセッサであっ
てよい。マルチプロセッサシステムでは、プロセッサ９０１０のそれぞれは、一般に同じ
ＩＳＡを実装してよいが、必ずしも実装しなくてもよい。いくつかの実施態様では、グラ
フィックスプロセシングユニット（ＧＰＵ）が、従来のプロセッサの代わりに、または従
来のプロセッサに加えて使用されてよい。
【００９０】
システムメモリ９０２０は、プロセッサ（複数可）９０１０によってアクセス可能な命
令及びデータを記憶するように構成されてよい。少なくともいくつかの実施形態では、シ
ステムメモリ９０２０は揮発性部分と不揮発性部分の両方を含んでよい。他の実施形態で
は、揮発性メモリだけが使用されてよい。多様な実施形態では、システムメモリ９０２０
の揮発性部分はスタティックランダムアクセスメモリ（ＳＲＡＭ）、同期ダイナミックＲ
ＡＭ、または任意の他のタイプのメモリ等、任意の適切なメモリ技術を使用し、実装され
てよい。（例えば、１つまたは複数のＮＶＤＩＭＭを含んでよい）システムメモリの不揮
発性部分の場合、いくつかの実施形態では、ＮＡＮＤフラッシュデバイスを含んだフラッ
シュベースのメモリデバイスが使用されてよい。少なくともいくつかの実施形態では、シ
ステムメモリの不揮発性部分は、スーパーキャパシタまたは他の電力貯蔵装置（例えば電
池）等の電源を含んでよい。多様な実施形態では、メムリスタベース抵抗ランダムアクセ
スメモリ（ＲｅＲＡＭ）、３次元ＮＡＮＤ技術、強誘電体ＲＡＭ、磁気抵抗ＲＡＭ（ＭＲ
ＡＭ）、または多様なタイプの相変化メモリ（ＰＣＭ）のいずれかがシステムメモリの少
なくとも不揮発性部分に使用されてよい。示される実施形態では、上述されたそれらの方
法、技法、及びデータ等の１つまたは複数の所望される機能を実装するプログラム命令及
びデータが、コード９０２５及びデータ９０２６としてシステムメモリ９０２０の中に記
憶されて示される。
【００９１】
一実施形態では、Ｉ／Ｏインタフェース９０３０は、プロセッサ９０１０、システムメ
モリ９０２０、及びネットワークインタフェース９０４０または多様なタイプの永続記憶
装置及び／または揮発性記憶装置等の他の周辺インタフェースを含んだ、デバイスの中の
任意の周辺装置との間でＩ／Ｏトラフィックを調整するように構成されてよい。いくつか
の実施形態では、Ｉ／Ｏインタフェース９０３０は、１つの構成要素（例えば、システム
メモリ９０２０）から別の構成要素（例えば、プロセッサ９０１０）による使用に適した
フォーマットに変換するために任意の必要なプロトコル、タイミング、または他のデータ
変換を実行してよい。いくつかの実施形態では、Ｉ／Ｏインタフェース９０３０は、例え
ばペリフェラルコンポーネントインターコネクタ（ＰＣＩ）バス規格またはユニバーサル
シリアルバス（ＵＳＢ）規格の変形等の多様な周辺バスを通してアタッチされたデバイス
のためのサポートを含んでよい。いくつかの実施形態では、Ｉ／Ｏインタフェース９０３
０の機能は、例えば、ノースブリッジ及びサウスブリッジ等の２つ以上の別々の構成要素
に分割されてよい。また、いくつかの実施形態では、システムメモリ９０２０へのインタ
フェース等のＩ／Ｏインタフェース９０３０の機能性のいくつかまたはすべてはプロセッ
サ９０１０の中に直接的に組み込まれてよい。
【００９２】
ネットワークインタフェース９０４０は、コンピューティング装置９０００と、例えば
図１から図９に示される他のコンピュータシステムまたはデバイス等、１つまたは複数の
ネットワーク９０５０にアタッチされた他のデバイス９０６０との間でデータを交換でき
るように構成されてよい。多様な実施形態では、ネットワークインタフェース９０４０は
、例えばイーサネット（登録商標）ネットワークのタイプ等の任意の適切な有線汎用デー
タネットワークまたは無線汎用データネットワークを介する通信をサポートしてよい。さ
らに、ネットワークインタフェース９０４０は、アナログ音声ネットワークまたはデジタ
ルファイバ通信ネットワーク等の電気通信／電話ネットワークを介して、ファイバチャネ
ルＳＡＮ等のストレージエリアネットワークを介して、または任意の他の適切なタイプの
ネットワーク及び／またはプロトコルを介して通信をサポートしてよい。
【００９３】
いくつかの実施形態では、システムメモリ９０２０は、対応する方法及び装置の実施形
態を実施するための図１から図９について上述されたようにプログラム命令及びデータを
記憶するように構成されたコンピュータアクセス可能媒体の一実施形態であってよい。し
かしながら、他の実施形態では、プログラム命令及び／またはデータは、異なるタイプの
コンピュータアクセス可能媒体で受信、送信、または記憶されてよい。一般的に言えば、
コンピュータアクセス可能媒体は、例えばＩ／Ｏインタフェース９０３０を介してコンピ
ューティング装置９０００に結合されるディスクまたはＤＶＤ／ＣＤ等、磁気媒体または
光媒体等の非一過性の記憶媒体またはメモリ媒体を含んでよい。また、非一過性のコンピ
ュータアクセス可能記憶媒体は、システムメモリ９０２０または別のタイプのメモリとし
てコンピューティング装置９０００のいくつかの実施形態に含まれてよいＲＡＭ（例えば
、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）等の任意の揮発性媒体ま
たは不揮発性媒体を含んでもよい。さらに、コンピュータアクセス媒体は伝送媒体、また
はネットワークインタフェース９０４０を介して実施され得るように、ネットワーク及び
／もしくは無線リンク等の通信媒体を介して伝達される電気信号、電磁信号、もしくはデ
ジタル信号等の伝送信号を含んでよい。図１０に示されるもののような複数のコンピュー
ティング装置の部分またはすべては、多様な実施形態で説明された機能性を実装するため
に使用されてよい。例えば、さまざまな異なるデバイス及びサーバで実行中のソフトウェ
ア構成要素は機能性を提供するために協調してよい。いくつかの実施形態では、説明され
る機能性の部分は、汎用コンピュータシステムを使用して実装されることに加えて、また
は実装される代わりに、ストレージデバイス、ネットワークデバイス、または特殊目的コ
ンピュータシステムを使用し、実装されてよい。本明細書で使用される用語「コンピュー
ティング装置」は、少なくともすべてのこれらのタイプのデバイスを指し、これらのタイ
プのデバイスに制限されない。
【００９４】
結論
多様な実施形態は、コンピュータアクセス可能媒体に対して上記説明に従って実施され
る命令及び／またはデータを受信すること、送信すること、または記憶することをさらに
含んでよい。一般的に言えば、コンピュータアクセス可能媒体は、例えば、ディスクもし
くはＤＶＤ／ＣＤ−ＲＯＭ等、磁気媒体もしくは光媒体、ＲＡＭ（例えば、ＳＤＲＡＭ、
ＤＤＲ、ＲＤＲＡＭ、ＳＲＡＭ等の）ＲＡＭ、ＲＯＭ等の揮発性媒体若しくは不揮発性媒
体等の記憶媒体またはメモリ媒体、並びに伝送媒体またはネットワーク及び／もしくは無
線リンク等の通信媒体を介して伝達される電気信号、電磁信号またはデジタル信号等の伝
送信号を含んでよい。
【００９５】
図に示され、本明細書に説明される多様な方法は方法の例示的な実施形態を表している
。方法はソフトウェア、ハードウェア、またはその組合せで実装されてよい。方法の順序
は変更されてよく、多様な要素が追加され、並べ替えられ、結合され、省略され、修正さ
れる等してよい。
【００９６】
多様な変更形態及び変更は、本開示の利益を有する当業者に明らかになるように行われ
てよい。すべての係る変更形態及び変更を、したがって制限的な意味よりむしろ例示的な
意味で考慮される上記説明を包含することが意図される。
【図１】
2019088031.tif 000003
【図２】
2019088031.tif 000004
【図３ａ】
2019088031.tif 000005
【図３ｂ】
2019088031.tif 000006
【図４】
2019088031.tif 000007
【図５】
2019088031.tif 000008
【図６】
2019088031.tif 000009
【図７】
2019088031.tif 000010
【図８】
2019088031.tif 000011
【図９】
2019088031.tif 000012
【図１０】
2019088031.tif 000013
【外国語明細書】
2019088031000001.pdf