JP2023040221A - プロバイダネットワークサービス拡張 - Google Patents

プロバイダネットワークサービス拡張 Download PDF

Info

Publication number
JP2023040221A
JP2023040221A JP2023002875A JP2023002875A JP2023040221A JP 2023040221 A JP2023040221 A JP 2023040221A JP 2023002875 A JP2023002875 A JP 2023002875A JP 2023002875 A JP2023002875 A JP 2023002875A JP 2023040221 A JP2023040221 A JP 2023040221A
Authority
JP
Japan
Prior art keywords
network
erg
vcs
command
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023002875A
Other languages
English (en)
Inventor
リグオリ,アンソニー・ニコラス
Nicholas Liguori Anthony
ウィルソン,マシュー・ショーン
Shawn Wilson Matthew
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/196,736 external-priority patent/US10833949B2/en
Priority claimed from US16/196,723 external-priority patent/US20200159555A1/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2023040221A publication Critical patent/JP2023040221A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5016Session
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【解決手段】プロバイダネットワークにおいて、仮想コンピューティングサービスは、コントロールプレーンサーバが計算インスタンスを確立するための要求を受信し、第1のネットワークアドレスが割り当てられる第1のアウトバウンドコマンドコミュニケータが、要求に応答して計算インスタンスがターゲットホストで確立されるという表示を取得し、第2のネットワークアドレスをデスティネーションとして示すメッセージを送信する。第2のネットワークアドレスは、クライアントプレミスで確立された第1のネットワークの一部である。メッセージは、ターゲットホストで計算インスタンスを確立するためのコマンドを含む。第1のネットワークアドレスは、クライアントプレミスで確立された第2のネットワーク内のターゲットホストに割り当てられる。【効果】ターゲットホストでのコマンドの処理は、計算インスタンスの確立をもたらす。【選択図】図1

Description

多くの企業および他の組織は、コンピューティングシステムを、同じ場所に配置するか
(例えば、ローカルネットワークの一部として)、またはその代わりに複数の異なる地理
的場所に配置する(例えば、1つ以上のプライベートまたはパブリック中間ネットワーク
を介して接続する)など、多数のコンピューティングシステムを相互接続して、それらの
事業をサポートするコンピュータネットワークを運営する。例えば、単一の組織によって
、および単一の組織に代わって運営されるプライベートデータセンター、ならびに顧客に
コンピューティングリソースを提供するビジネスとしてエンティティにより運営されるパ
ブリックデータセンターなど、かなりの数の相互接続されたコンピューティングシステム
を収容するデータセンターが普及している。パブリックデータセンターオペレータの中に
は、様々な顧客が所有するハードウェアにネットワークアクセス、電力、および安全な設
置設備を提供するものもあれば、顧客による使用に利用可能にされたハードウェアリソー
スも含む「フルサービス」設備を提供するものもある。
コモディティハードウェアの仮想化テクノロジーの出現により、様々なニーズを有する
多くの顧客に大規模なコンピューティングリソースを管理するという利点がもたらされ、
様々なコンピューティングリソースを複数の顧客が効率的かつ安全に共有することが可能
になった。例えば、仮想化技術では、単一の仮想化ホストによってホストされる1つ以上
の「ゲスト」仮想マシンを各ユーザに提供することにより、単一の物理仮想化ホストを複
数のユーザ間で共有することが可能であり得る。各そのような仮想マシンは、所与のハー
ドウェアコンピューティングリソースの唯一のオペレータであるかのような錯覚をユーザ
に提供すると同時に、様々な仮想マシン間でアプリケーション分離およびセキュリティも
提供する、別個の論理コンピューティングシステムとして機能するソフトウェアシミュレ
ーションを表し得る。同じホスト上でいくつかの異なる仮想マシンをインスタンス化する
ことはまた、データセンターの全体的なハードウェア利用レベルを増加させる助けとなり
、より高い投資の収益をもたらし得る。
計算集約型アプリケーション、メモリ集約型アプリケーションなどの異なるタイプのア
プリケーションのために最適化された多種多様な仮想マシンタイプは、クライアント要求
に応答して、いくつかのクラウドコンピューティングプロバイダネットワークのデータセ
ンターでセットアップされ得る。加えて、仮想コンピューティングサービスの仮想マシン
を使用してデータベースインスタンスがインスタンス化されるいくつかのデータベースサ
ービスなど、そのようなプロバイダネットワークの仮想コンピューティングサービスに依
存する高レベルのサービスはまた、プロバイダネットワーククライアントに利用可能にな
り得る。しかしながら、プロバイダネットワークの外部の顧客プレミスに記憶する必要が
ある非常に大量のデータを処理するアプリケーションなど、いくつかのタイプのアプリケ
ーションでは、プロバイダネットワークのデータセンターに配置されたハードウェアを使
用して仮想化リソースを提供することに限定されたサービスは、例えば、遅延関連および
/または他の理由で最適でない場合がある。
少なくともいくつかの実施形態による、プロバイダネットワークの仮想化コンピューティングサービスの拡張リソースグループが、プロバイダネットワークの外部のプレミスに配置されたリソースを使用してセットアップされ得る例示的なシステム環境を例解する。 少なくともいくつかの実施形態による、仮想化コンピューティングサービスの拡張リソースグループに含まれ得る、強化されたセキュリティ仮想化ホストの例示的な概要を例解する。 少なくともいくつかの実施形態による、仮想化ホストのオフロードされた仮想化管理コンポーネントカードの例示的な要素を例解する。 少なくともいくつかの実施形態による、少なくともいくつかの実施形態では、拡張リソースグループに関連付けられたアウトバウンドコマンドコミュニケータにプログラムで接続され得る仮想ネットワークインターフェースの例示的な属性を例解する。 少なくともいくつかの実施形態による、仮想化コンピューティングサービスのコントロールプレーンで生成されたコマンドを拡張リソースグループに送信するために使用され得る例示的なパスを例解する。 少なくともいくつかの実施形態による、拡張リソースグループネットワークマネージャの例示的な要素を例解する。 少なくともいくつかの実施形態による、仮想化コンピューティングサービスでサポートされ得る仮想マシンおよび拡張リソースグループの例示的なファミリを例解する。 少なくともいくつかの実施形態による、仮想化コンピューティングサービスの拡張リソースグループに関する例示的なプログラム相互作用を例解する。 少なくともいくつかの実施形態による、拡張リソースグループで仮想マシンを起動することに関連付けられた例示的なワークフローを例解する。 少なくともいくつかの実施形態による、仮想化コンピューティングサービスの拡張リソースグループでの追加のプロバイダネットワークサービスの使用の例を例解する。 少なくともいくつかの実施形態による、拡張リソースグループを確立し、仮想マシンを拡張リソースグループでセットアップすることを可能にするために、プロバイダネットワークで実行され得る操作の態様を例解するフロー図である。 少なくともいくつかの実施形態による、仮想化コンピューティングサービスの拡張リソースグループで実行され得る操作の態様を例解するフロー図である。 少なくともいくつかの実施形態で使用され得る例示的なコンピューティングデバイスを例解するブロック図である。
実施形態は、いくつかの実施形態および説明的な図面の例として本明細書に記載される
が、当業者は、実施形態が記載された実施形態または図面に限定されないことを認識する
であろう。図面およびその詳細な説明は、実施形態を開示された特定の形態に限定するこ
とを意図するものではなく、むしろ、その意図は、添付の特許請求の範囲によって定義さ
れる趣旨および範囲内に該当するすべての修正形態、均等物、および代替物を包含するこ
とが理解されるべきである。本明細書で使用される見出しは、編成目的のみのためであり
、本明細書または特許請求の範囲の範囲を限定するために使用されることを意味しない。
本出願を通して使用されるように、「することができる(may)」という語は、必須の
意味(すなわち、必然的な意味)ではなく、許容の意味(すなわち、可能性を有するとい
う意味)で使用される。同様に、「含む(include)」、「含む(includi
ng)」、および「含む(includes)」という語は、含むがそれに限定されない
ことを意味する。特許請求の範囲で使用されるとき、用語「または」は、包括的なまたは
として使用され、排他的なまたはとしては使用されない。例えば、「x、y、またはzの
うちの少なくとも1つ」という句は、x、y、およびzのうちの任意の1つ、ならびにそ
れらの任意の組合せを意味する。
プロバイダネットワークの仮想化コンピューティングサービスの操作をプロバイダネッ
トワークのデータセンターの外部である場所に安全に拡張するための方法および装置の様
々な実施形態が説明される。ネットワークは、インターネットおよび/または他のネット
ワークを介してクライアントの分配されたセットにアクセス可能な1つ以上のサービス(
様々なタイプのマルチテナントおよび/またはシングルテナントクラウドベースのコンピ
ューティングまたはストレージサービスなど)を提供するために、会社または公共機関な
どの企業によって設定される。説明された技術を使用して、少なくともいくつかの実施形
態では、仮想化コンピューティングサービスのクライアントは、顧客データセンター、フ
ィールドロケーション(例えば、電気通信会社を運営するクライアントの場合、携帯電話
タワーの近く)、またはプロバイダネットワークデータセンターでセットアップすること
ができる仮想マシンのタイプの少なくともいくつかと同じ特徴および能力を備える仮想マ
シンをホストするためのコロケーション設備に配置されるハードウェアデバイスを利用す
ることができる可能性がある。
少なくともいくつかの実施形態では、プロバイダネットワークの外部に配置されたハー
ドウェアデバイスは、例えば、プロバイダネットワークオペレータによって、様々なカテ
ゴリの仮想マシンをサポートするための、および同じ場所にある他のローカルデバイスと
の低遅延通信をサポートし、顧客のデータおよびアプリケーションのセキュリティを損な
うことなく、プロバイダネットワーク自体のセキュリティを損なうことなく、プロバイダ
ネットワークの任意の他の顧客のセキュリティを損なうことのない様式でこれを行うため
のハードウェア、ソフトウェア、および/またはファームウェア要素の適切な組み合わせ
で事前構成され得る。少なくともいくつかの実施形態では、「拡張リソースグループ」(
ERG)という用語は、プロバイダネットワークの外部のプレミスに配置されたリソース
(例えば、ハードウェア、ソフトウェア、ファームウェア、構成メタデータなど)の集合
を指すために使用され得、仮想マシンがプレミスで確立され、利用されることを可能にす
る。拡張リソースグループが確立されるプレミス(例えば、顧客データセンター、フィー
ルドロケーションなど)は、様々な実施形態では、クライアントプレミスと呼ばれ得る。
事実上、仮想化コンピューティングサービス(VCS)の顧客の観点から、様々な実施形
態では、ERGは、VCSの能力のローカル拡張を表すことができ、これは、インターネ
ットにアクセスしているる任意の所望の物理的場所でセットアップすることができ、ハー
ドウェアデバイスのセットを収容することができる(例えば、物理的スペース、電力など
に関して)。VCS自体の観点からは、ERGは、顧客が選択したプレミスに物理的に配
置される一方で、コアVCSインフラストラクチャと同じプロバイダネットワークデータ
センターに仮想的に配置されると見なすことができる。いくつかの実施形態では、様々な
カテゴリの標準化されたまたはカスタマイズ可能な仮想マシンに加えて、またはその代わ
りに、例えばベアメタルインスタンス、ソフトウェアコンテナなどの他のタイプのプログ
ラム実行環境を、プロバイダネットワークの1つ以上のコンピューティングサービスの助
けを借りてセットアップおよび管理し得る。一実施形態では、VCSによってサポートさ
れるベアメタルインスタンスは、仮想化を利用することなく、使用されているホストのハ
ードウェアの少なくとも一部分を直接制御するオペレーティングシステムの様々なプロセ
スを含み得る(ただし、ハードウェア機能の小さなサブセットは、場合によっては仮想化
され得る)。そのような実施形態では、仮想化管理専用のハイパーバイザーは必要とされ
ない場合がある。ベアメタルインスタンス自体は、いくつかの実施形態では、仮想マシン
をホストするための機能を含み得る。「計算インスタンス」という用語は、様々な実施形
態では、プロバイダネットワークデータセンターでリソースを使用して、および/または
ERGを使用して、プロバイダネットワーククライアントに代わってセットアップおよび
管理され得るすべての異なる種類の実行環境(仮想マシン、ベアメタルインスタンス、ソ
フトウェアコンテナなどを含む)を集合的に指すために使用され得る。以下の説明の多く
では、仮想マシンが計算インスタンスの主要な例として考察されるが、ERGで仮想マシ
ンをセットアップおよび使用するために説明される技術は、様々な実施形態で、他のタイ
プの計算インスタンスと同等の成功を収めて適用することができることに注意されたい。
仮想化コンピューティングサービス(VCS)のリソースは、様々な実施形態では、2
つのカテゴリ、すなわちコントロールプレーンリソースおよびデータプレーンリソースに
大まかに細分され得る。コントロールプレーンリソースは、主に管理目的で、例えば、様
々な顧客向けに分離仮想ネットワークを確立するため、リソース使用状況および状態を監
視するため、要求された仮想マシンが起動される特定の仮想化ホストまたはサーバを特定
するため、必要に応じて追加のハードウェアをプロビジョニングするためなどに、使用す
ることができる。データプレーンリソースは、主に、例えば、クライアントアプリケーシ
ョンを実行する、クライアントアプリケーションデータを記憶および転送するなどの非管
理タスクに使用することができる。様々な実施形態では、ERGが、顧客が選択した場所
でセットアップされる場合、ERGのリソースは、プロバイダネットワークのデータセン
ターに配置されるVCSのコントロールプレーンコンポーネントによって管理され得る。
したがって、少なくともいくつかの実施形態では、所与のプレミスでERGをセットアッ
プおよび使用することは、VCSのコントロールプレーン能力をローカルに複製すること
を必要としない場合があり、代わりに、プロバイダネットワークのデータセンターからE
RGに送信されるコントロールプレーンコマンドのために安全なネットワーク接続をセッ
トアップすることができ、ERGのリソースは、主にデータプレーン操作に充てられ得る
特定の顧客データセンターCDC1などの特定の場所でERGを使用し始めたいVCS
顧客C1は、少なくともいくつかの実施形態では、以下と同様のワークフローに参加する
ことによってそうすることができる。C1は、最初に、物理的なERG構成タイプのセッ
ト(例えば、標準サイズのサーバのハーフラックを含む「小」ERG構成、サーバのフル
ラックを含む「中」ERG構成、サーバの2つのフルラックを含む「大」ERG構成)の
中から、所望の場所またはプレミスでセットアップされる特定の構成を任意選択で選択し
得る。デフォルトにより、C1がERG構成タイプを明示的に選ぶことを望まない場合、
いくつかの実施形態では、特定の構成タイプ(「小」構成など)がクライアントに対して
選択され得、それにより、C1から必要とされる労力をさらに削減する。次に、ERGの
要求は、プログラムインターフェース(例えば、ウェブベースのコンソール、アプリケー
ションプログラミングインターフェース(API)、コマンドラインツール、グラフィカ
ルユーザインターフェースなど)を介して、VCSに提出され得る。要求が承認された後
、ERGのハードウェア(適切なソフトウェア/ファームウェアがプリインストールされ
ている)を所望の場所に輸送し、電源に接続し、インターネットに接続することができる
少なくともいくつかの実施形態では、ネットワークマネージャは、1つ以上のトリガ条
件(電力および/またはインターネット接続の検出など)の検出に応答して、ERGのサ
ーバのうちの1つ以上でインスタンス化され得る。次いで、そのようなERGネットワー
クマネージャ(ENM)は、例えば、C1からの追加の構成ガイダンスを必要とせず、1
つ以上のプロバイダネットワークデータセンターで、1つ以上のVCSコンポーネント(
例えば、コントロールプレーン要素を含む)との安全なネットワーク接続の自動確立を開
始する(または少なくともその自動確立に参加する)ことができる。ERG(CDC1で
の)とVCSコンポーネント(プロバイダネットワークデータセンター(複数可)での)
との間に接続が確立された後、様々な実施形態では、C1は、コマンドを発行して、プロ
バイダネットワークリソースのみを使用する仮想マシンに関して、そのようなコマンドが
発行される方法と同様の様式で、ERGリソースを使用する仮想マシンをインスタンス化
する(および/または仮想マシンを使用して他の操作を実行する)することができる。C
1の観点からは、VCSの機能は、CDC1内のローカルリソース(および必要に応じて
プロバイダネットワークデータセンターに配置されたリソース)を使用してここでシーム
レスに利用することができる。ERGでセットアップされた仮想マシン(VM)は、様々
な実施形態では、CDC1に配置された非VCSデバイス、および必要に応じてプロバイ
ダネットワークデータセンターでセットアップされる他のVMと通信することができる(
例えば、アドレス変換および/または他のカプセル化プロトコル関連処理を実行すること
ができるENMの助けを借りて)。ERGでセットアップされる少なくともいくつかのV
M、およびそのようなVMをビルディングブロックとして使用する関連付けられたより高
いレベルのサービスは、いくつかの実施形態では、プロバイダネットワークデータセンタ
ーへの接続が一時的に中断される期間の間でさえ機能し続けることができる。特に、低遅
延で、顧客データセンターに記憶される大量のアプリケーションデータにアクセスして処
理することを希望するVCSの顧客の場合(例えば、法令遵守、セキュリティ、または他
の理由で)、アプリケーションデータと同じ場所に配置されたVCS VMをセットアッ
プする能力は、様々な実施形態では、非常に有益である可能性がある。
当業者が本開示に照らして理解するように、特定の実施形態は、以下、すなわち(a)
場所に依存しない様式で、例えば、仮想化されたコンピューティングサービスのクライア
ントによって選択されたプレミスに配置されたリソースを使用しながら、さらにプロバイ
ダネットワークを使用することで可能になるスケーラビリティ、セキュリティ、可用性、
および他の運用上の利点を維持して、多種多様な仮想化コンピューティングアプリケーシ
ョンが実装されることを可能にすること、(b)アプリケーションデータの量、および顧
客データセンターとプロバイダネットワークデータセンターとの間のリンクなどの長距離
を転送する必要のある結果を削減すること、(c)アプリケーションをデータソース/デ
スティネーションの近くに移動することによって、潜在的に大量のデータが入力として消
費されるか、または出力として生成されるアプリケーションの全体的な遅延および応答性
を向上させること、および/または(d)機密性の高いアプリケーションデータのセキュ
リティを向上させることのうちのいくつかまたはすべてを含む様々な利点を達成すること
ができる可能性がある。様々な実施形態では、拡張リソースグループ(ERG)の設計お
よび実装の根底にある指針および目標は、とりわけ、(a)計算およびデータリソースの
局所性を利用することに基づいて、遅延の短縮された計算を可能にすること、(b)顧客
データが記憶されている場所へのネットワークトラフィックを制限して完全にロギングす
ることにより、顧客データのセキュリティを確保すること、(c)ERGリソースを使用
して、様々なプロバイダネットワークサービスにファーストクラスのサポート(プロバイ
ダネットワークデータセンターに配置されたリソースを使用して可能であるサポートに相
当する)を提供すること、(d)プロバイダネットワークの独自のデータセンターを潜在
的な敵対アクターから保護すること(例えば、ERGで運営すること)、および/または
(e)ERGからプロバイダネットワークへの不完全なネットワーク接続の条件下でも、
ERGでのサービスの継続的な履行をサポートすること、を含み得る。
顧客データおよびアプリケーション、ならびにプロバイダネットワークに対して目標と
する高レベルのセキュリティを達成するために、分離仮想ネットワークおよび仮想ネット
ワークインターフェース(VNI)の使用を含む、いくつかのネットワーク構成技術(お
よび他のタイプの構成設定)を、異なる実施形態で利用することができる。分離仮想ネッ
トワーク(IVN)は、その名前が示すように、様々な実施形態では、ネットワーク構成
設定の少なくともいくつかのタイプに関して、仮想化コンピューティングサービスの残り
のリソースから論理的に分離または切り離されるリソースのセットを含み得る。IVNは
、様々な目的で、仮想化されたコンピューティングサービスで、または仮想化されたコン
ピューティングサービスによって確立され得る(および、場合によっては、プロバイダネ
ットワークのデータセンターの外部に配置されたERGに拡張される)。例えば、IVN
は、顧客専用のリソースのセットを確保することで特定の顧客向けにセットアップするこ
とができ、リソースのそのセットのネットワーク構成に関してかなりの柔軟性が、顧客に
提供される。IVN内で、顧客は、サブネットをセットアップし、所望のプライベートI
Pアドレスを様々なリソースに割り当て、着信および発信トラフィックを管理するセキュ
リティルールをセットアップするなど、行うことができる。少なくともいくつかの実施形
態では、デフォルトで、1つのIVN内にセットアップされたプライベートネットワーク
アドレスのセットは、別のIVNから(またはより一般的にはIVNの外部から)アクセ
ス可能でない場合がある。少なくともいくつかの実施形態では、VCSを非プロバイダネ
ットワークプレミスに拡張するために使用されるセキュリティメカニズムのうちの1つは
、(プロバイダネットワークデータセンターでリソースを使用して)アウトバウンドコマ
ンドコミュニケータ(OCC)のインスタンスのプールを含む1つ以上のIVNをセット
アップすることを含み得る。VCSコントロールプレーンのサーバおよびデバイスから論
理的に(および/または物理的に)切り離されたままにされ得るそのようなコミュニケー
タは、様々な実施形態では、安全なネットワーキングチャネルを使用して、VCSコント
ロールプレーンからERGに管理コマンドを送信するために使用され得る。様々な実施形
態では、管理メッセージが、ERGからセキュアネットワーキングチャネルを介してコン
トロールプレーンに戻されることができないことを確実にするようにOCCを構成するこ
ともでき、したがって、他の顧客に影響を与える可能性のある管理操作が、任意の所与の
顧客のERGで開始されるのを防止する。少なくともいくつかの実施形態では、個々のO
CCインスタンスは、以下でさらに詳細に考察されるように、仮想マシンに接続された1
つ以上の仮想ネットワークインターフェースを備える仮想マシンを含み得る。仮想ネット
ワークインターフェース(VNI)は、様々な実施形態では、仮想マシンにプログラムで
接続または関連付けることができるパブリックおよび/またはプライベートIP(インタ
ーネットプロトコル)アドレス、セキュリティ設定などを含むネットワークプロパティの
セットを含み得る。OCCインスタンス、IVN、およびVNIを利用して、ERGを介
して提供される仮想化コンピューティング能力を確保する様式の詳細を、以下に提供する
いくつかの実施形態によれば、システムは、プロバイダネットワークの仮想化コンピュ
ーティングサービス(VCS)の1つ以上のコンピューティングデバイスを含み得る。プ
ロバイダネットワークは、1つ以上のデータセンターを含み得る。コンピューティングデ
バイスは、命令を含み得、命令は、プロセッサ上で実行されると、コンピューティングデ
バイスに、第1の分離仮想ネットワーク(IVN)内で、拡張リソースグループ(ERG
)に関連付けられたアウトバウンドコマンドコミュニケータ(OCC)をインスタンス化
させる。ERGは、いくつかの実施形態では、プロバイダネットワークの1つ以上のデー
タセンターの外部の第1のプレミスに配置された少なくとも第1の仮想化ホストを含み得
る。OCCは、様々な実施形態では、コマンドがERGから提出されることを可能にする
ことなく、管理コマンドをERGに安全に転送する仲介者として機能し得る。例えば、構
成設定は、ERGからの少なくともいくつかのタイプのネットワークパケットがOCCを
介してVCSのコントロールプレーンに送信されることを防止し得る。命令はまた、実行
されると、コンピューティングデバイスに、(a)プロバイダネットワークの1つ以上の
データセンターのリソースを含む第2の分離仮想ネットワークの一部分と、(b)プロバ
イダネットワークの外部の第1のプレミスに配置された1つ以上のリソースとの間に確立
された安全なネットワークチャネル(例えば、VPNもしくは仮想プライベートネットワ
ークトンネルもしくは接続、またはトラフィックが専用の物理リンクを介して流れる接続
)の表示を、OCCで取得させ得る。そのような安全なネットワーキングチャネルは、例
えば、プロバイダネットワークのデータセンター内のERGネットワークマネージャと顧
客IVNとの間に確立され得る。
OCCでは、仮想マシン起動コマンド(VCSクライアントからのプログラム要求に応
答して生成される)は、様々な実施形態では、取得または判定され得る。クライアントか
らのプログラム要求は、少なくともいくつかの実施形態では、安全なネットワークチャネ
ルを含まない経路を介して、クライアントからVCSの制御面で受信し得、例えば、コマ
ンドは、ウェブベースのコンソールで提出され、プロバイダネットワークデータセンター
内にセットアップされた仮想マシンに関して、クライアントによって提出された管理コマ
ンドに使用されるのと同じ種類のパスを介して送信され得る。命令は、実行時、様々な実
施形態では、コンピューティングデバイスに、仮想マシン起動コマンドの表現を、安全な
ネットワークチャネルを介して、第1のOCCから拡張リソースグループに送信させるこ
とができる。少なくともいくつかの実施形態では、第1の仮想化ホストでの表現の処理は
、少なくとも部分的に、第1の仮想化ホストでの仮想マシンのインスタンス化をもたらし
得る。構成設定がコマンドのフローをVCSコントロールプレーンからERGへのアウト
バウンド方向のみに制限する方法のため、ERGからコマンドを提出することができない
ため、様々な実施形態では、VCSおよびその顧客のセキュリティを強化することができ
、それは、VCSデータセンターまたは他のERGでの運用に影響を与え得る。仮想マシ
ン起動コマンドに加えて、他の管理コマンド(例えば、ERGで仮想マシンをシャットダ
ウンするためのコマンド、ERGで仮想マシンのプロパティを表示または変更するコマン
ドなど)も、OCC、およびERGで確立された安全なネットワークチャネルを使用する
顧客に代わって、VCSコントロールプレーンから送信され得る。
少なくともいくつかの実施形態では、OCCは、クライアントによって選択されたプレ
ミスでERGのハードウェア機器が引き渡される時間の前にセットアップされ得る。例え
ば、一実施形態では、VCS顧客がプログラム要求を介してERGを注文する時間と、E
RGハードウェアがプレミスに引き渡されてセットアップされる時間と、ERGを確立す
るプログラム要求の受信との間に遅延があり得ることにより、その顧客のERGのために
特別に指定されたOCCのプロアクティブな構成またはインスタンス化がトリガされ得る
。一意の識別子は、各ERG要求に対して生成され得、いくつかの実施形態では、ERG
のために指定されたOCCからアクセス可能なメタデータエントリに記憶され得、その識
別子はまた、ERGの一部として出荷されるハードウェアデバイスのうちの1つに含まれ
得、したがって、VCSとERGの間に接続が確立されたときに、ERGバンが正しいO
CCと一致する。少なくともいくつかの実施形態では、ERGのネットワークマネージャ
は、VCSとの安全なネットワークチャネル(VPNトンネルなど)の確立を開始するこ
とができ、OCCは、安全なネットワークチャネルを確立するための要求の前にインスタ
ンス化することができる。いくつかの実施形態では、OCCは、プロバイダネットワーク
のデータセンター内の仮想マシンを使用して実装され得る。
少なくともいくつかの実施形態では、サービスプロバイダ環境でのVCSのコントロー
ルプレーンは、仮想化ホスト用に特定の範囲のサービスネットワークアドレスSAR1を
使用することができる(仮想化ホストがサービスプロバイダのデータセンター内に配置さ
れるか、またはクライアントプレミスにセットアップされたERGの一部であるかに関係
なく)。プロバイダネットワークデータセンター内では、コントロールプレーンによって
管理されるネットワークは、計算インスタンスをホストするように構成された複数のサー
バを含み得る。以下に説明する仮想ネットワークインターフェース(VNI)および/ま
たは他の技術を使用して、少なくとも1つの実施形態では、コントロールプレーンによっ
てERGのターゲット仮想化ホストH1に割り当てられたアドレスAddr1はまた、コ
ントロールプレーンコマンドをERGに転送するために使用される特定のOCCに割り当
てられ得る。そのような実施形態では、コントロールプレーンの観点から、OCC(サー
ビスプロバイダデータセンターでの仮想化ホストと同じネットワーク内で構成され得るか
、またはそれに結合され得る)は、事実上、ホストH1を表すことができる。デスティネ
ーションアドレスとしてAddr1を使用して、ERGで計算インスタンスを起動するた
めの要求を含む第1のメッセージは、少なくともいくつかの実施形態では、コントロール
プレーンからOCCに送信され得る。
いくつかの実施形態では、対象となるERGのネットワークマネージャ(ENM)は、
少なくとも第2のネットワークアドレスAddr2が割り当てられている可能性がある1
つ以上のデバイス(例えば、上で考察されたハードウェアカード)で動作している可能性
がある。Addr2は、例えば、顧客データセンターまたは他のクライアントプレミスで
確立された第1のネットワーク内のアドレスであり、それは、デバイスにクライアントア
ドレス範囲CAR1を使用する。Addr1のコントロールプレーンから第1のメッセー
ジを受信したことに応答して、OCCは、様々な実施形態では、計算インスタンスを起動
するための要求の少なくとも一部分を含む第2のメッセージを準備し、これを、Addr
2をデスティネーションアドレスとしてENMに送信する。第2のメッセージを受信する
と、ENMが動作するデバイスは、第2のメッセージの少なくとも一部分(例えば、計算
インスタンスが起動されることを示す)をターゲット仮想化ホストH1に転送することが
できる。いくつかの実施形態では、少なくとも2つ、すなわち、ネットワークアドレス範
囲CAR1を使用する第1のネットワーク、およびH1などの様々なホスト/サーバが、
少なくともSAR1のサブ範囲(コントロールプレーンによって仮想化ホストに使用され
るアドレス範囲)からのアドレスが割り当てられる第2のネットワーク(それは、ENM
によってセットアップされたプライベートネットワークであり得る)は、クイアントプレ
ミス(例えば、顧客データセンター)で確立され得る。そのような実施形態では、ターゲ
ット仮想化ホストH1は、OCCに割り当てられたのと同じアドレスAddr1が割り当
てられ得、ENMは、Addr1をデスティネーションアドレスとして使用して、起動メ
ッセージをターゲット仮想化ホストに送信し得る。事実上、コントロールプレーンによっ
てデスティネーションアドレスAddr1に最初に指示されたが、ERGへのパスに沿っ
てデスティネーションとして1つ以上の他のアドレスを使用して送信された可能性がある
、計算インスタンスを起動するコマンド/要求は、再びERG内のデスティネーションア
ドレスAddr1に送信され得、したがって、いくつかの実施形態では、少なくとも2つ
のアドレス変換操作がコマンドの送信に関与し得る。ENM自体は、いくつかの実施形態
では、クライアントプレミスの両方のネットワークの一部であり得、例えば、ENMの少
なくとも一部分が動作するデバイスは、CAR1が使用されるネットワーク内、およびH
1(SAR1が使用される)を含むネットワーク内でもそれぞれのアドレスが割り当てら
れ得る。ホストH1がENMによって送信されたメッセージを受信すると、要求された操
作は、実行され得、例えば、計算インスタンスは、H1で起動され得る。
少なくともいくつかの実施形態では、VCSは、仮想マシンカテゴリのセットの表示を
提供することができ、その所望数のインスタンスが、VCSクライアントの要求に応じて
プロバイダネットワークデータセンターおよび/またはERGで確立され得る。したがっ
て、例えば、クライアントC1は、プロバイダネットワークデータセンターでカテゴリC
at1のN個のVMを要求し、C1に代わってセットアップされたERGで同じカテゴリ
Cat1のM個のVMを要求する場合もある。いくつかの実施形態では、VMの少なくと
もいくつかのカテゴリは、ERGでのみサポートされ得るか、またはプロバイダネットワ
ークデータセンターでのみサポートされ得る。
OCCは、いくつかの実施形態では、コマンドの表現をERGに転送する前に、仮想マ
シン構成コマンド(例えば、起動コマンド)に対して1つ以上の変換を実行することがで
きる。例えば、OCCでVCSコントロールプレーンから取得されたコマンドのバージョ
ンは、いくつかの実施形態では、1つ以上のセキュリティトークン(例えば、コマンドの
結果として実行された操作のリクエスタのアイデンティティを検証するために使用するこ
とができ、リクエスタが、操作を要求するために必要な許可を有するトークン)を含み得
、OCCは、ERGに転送されるコマンドのバージョンからトークンを除去するか、また
は除外することができる。少なくともいくつかの実施形態では、最初のセキュリティトー
クンは、変換され得(例えば、VCSコントロールプレーンで最初に使用されたものとは
異なるキーを使用して署名され)、コマンドがVCSコントロールプレーンによって指示
されるターゲットホストで認証され得る、セキュリティトークンの変換されたバージョン
は、コマンドの転送されたバージョンに含まれ得る。少なくとも1つの実施形態では、そ
れぞれのメッセージ認証コード(例えば、ハッシュベースのメッセージ認証コードまたは
HMACを含む)は、OCCからERGに送信されるアウトバウンドコマンドのために生
成され得る。様々な実施形態では、OCCは、所与のERGに送信されたすべてのアウト
バウンド通信メッセージをログに記録することができ、ログに記録されたメッセージは、
クライアントによって検査され得、クライアントに代わって、必要に応じてERGがセッ
トアップされる。いくつかの実施形態では、少なくとも2つの仮想ネットワークインター
フェースは、所与のOCCに関連付けられ得、1つは、VCSコントロールプレーンから
コマンドを取得するために使用され、もう1つは、安全なネットワークチャネルを使用し
てERGと通信するために使用される。
いくつかの実施形態によれば、システムは、プロバイダネットワークの仮想化コンピュ
ーティングサービス(VCS)の拡張リソースグループ(ERG)を含み得る。ERGは
、様々な実施形態では、耐タンパー性ストレージデバイス(例えば、ホストに物理的に接
続される場合にのみ復号化することができる暗号化デバイス)およびトラステッドプラッ
トフォームモジュールを含む少なくとも第1の仮想化ホスト(VH)を含み得る。プロバ
イダネットワークは、1つ以上のデータセンターを含み得、第1のVHは、少なくともい
くつかの実施形態では、プロバイダネットワークの外部のプレミスに配置され得る。コン
ピューティングデバイスは、命令を含み得、命令は、プロセッサ上で実行されると、コン
ピューティングデバイスに、1つ以上のトリガ信号に応答して、ERGのネットワークマ
ネージャをインスタンス化させる。ERGネットワークマネージャ(ENM)は、様々な
実施形態では、VCSの第1の分離仮想ネットワーク(IVN)の少なくとも一部分など
の1つ以上のVCSリソースとの通信のための安全なネットワークチャネルの構成を開始
することができる。そのようなIVNは、例えば、プロバイダネットワークのデータセン
ターでインスタンス化された第2のVHに少なくとも第1の仮想マシン(VM)を含み得
る。
ENMは、少なくともいくつかの実施形態では、安全なネットワークチャネルを介して
、拡張リソースグループに関連付けられたOCCから、仮想マシン起動コマンドを取得す
ることができる。仮想マシン起動コマンドは、様々な実施形態では、安全なネットワーク
チャネルを含まない経路を介して送信された、クライアントからのプログラム要求に応答
して、(例えば、VCSコントロールプレーンで)生成され得る。ENMから、仮想マシ
ン起動コマンドの少なくともあるバージョンは、いくつかの実施形態では、拡張リソース
グループの第1の仮想化ホストに送信され得る。第1の仮想化ホストでの仮想マシン起動
コマンドの処理は、そのような実施形態では、第1の仮想化ホストでの新しい仮想マシン
のインスタンス化をもたらし得る。
いくつかのタイプのトリガ信号のいずれも、様々な実施形態では、ENMのインスタン
ス化につながり得る。例えば、ERGに含まれる特定のサーバが電源がオンになっている
こと、またはERGからインターネットへの接続が有効になっていることを示す信号は、
いくつかの実施形態では、ENMの少なくとも一部分のインスタンス化、初期化、および
/またはスタートアップにつながり得る。
プロバイダネットワークでERGとVCSリソースとの間の仲介者として機能すること
に加えて、少なくとも1つの実施形態では、ENMはまた、ERG内にセットアップされ
た仮想マシンと、(a)ERGがセットアップされるプレミスに配置され、(b)ERG
の一部ではないリソースとの間の仲介者として機能し得る。例えば、VCSクライアント
は、ERGとは別に、ERG仮想マシンを使用して処理されるデータが記憶されるサーバ
のセットを有し、ENMは、そのサーバのセットとERG仮想マシンとの間の通信を有効
にし得る。このようなサーバは、少なくともいくつかの実施形態では、非VCSサーバと
呼ばれ得る。接続性を提供するために、ENMは、いくつかの実施形態では、ERGから
非VCSサーバにアウトバウンドするトラフィックに対して様々なタイプのパケット変換
を実行し、非VCSサーバからERGにインバウンドするトラフィックに対して逆変換を
実行し得る。変換は、例えば、異なる実施形態では、IPアドレスマッピング、カプセル
化プロトコル処理などを含み得る。いくつかの実施形態では、ERGがホストされている
プレミスでERGから非VCSへのリソースを管理することを担当するエンティティとは
異なるエンティティは、ERGからVCSへの通信を管理する責任がある場合があり、す
なわち、単一のENMは、必ずしも両方のタイプの機能を担当するとは限らない場合があ
る。
一実施形態によると、ERGはまた、ERGの仮想化ホストを初期化/ブートすること
を担当するブートストラップマネージャを含み得る。いくつかの実施形態では、ENMは
、ブートストラップ/初期化タスクを実行することができる。少なくともいくつかの実施
形態では、VMがERGホストで確立された後、プロバイダネットワークの他のより高い
レベルのサービスの操作は、それらのVMを使用して実行され得る。例えば、プロバイダ
ネットワークは、データベースインスタンスがビルディングブロックとしてVMを使用し
て構成されるデータベースサービスを含み得、そのようなデータベースインスタンスは、
ERGでセットアップされたVMを使用して構成され得る。
少なくともいくつかの実施形態では、ERGの仮想化ホストは、トラステッドプラット
フォームモジュール(TPM)などのセキュリティモジュールを含み得、そのようなセキ
ュリティモジュールは、所与のERGホストで、VMをインスタンス化する(または他の
仮想化関連操作を実行する)前に、ERGホストの状態(例えば、インストールされたソ
フトウェア状態など)が受け入れ基準を満たすることを検証するために使用され得る。少
なくとも1つの実施形態では、ERG仮想化ホストで起動されたVMに関連する状態情報
は、仮想化ホストのストレージデバイスに、暗号化された形態で記憶され得る。ERGの
特定の仮想化ホストに物理的に存在するか、または接続される限り、、復号化することの
みができるストレージデバイスなど、耐タンパー性ストレージデバイスは、いくつかの実
施形態では、採用することができる。結果として、悪意のあるアクターがストレージデバ
イスを物理的に取り除いた場合、暗号化された状態情報は、そのような実施形態では、削
除されたデバイスから復号化することができず、ERGによってサポートされる仮想化特
徴のセキュリティがさらに強化される。
いくつかの実施形態では、所与のERGについて、それらのユーザ/エンティティのみ
がERGで仮想マシンをセットアップおよび使用することが許可されるように、許可また
はアイデンティティ管理サービスで定義されたユーザまたはエンティティのセットが指定
され得る。所与のVMがERGで起動される(または他のVM関連の操作が実行される)
前に、要求しているユーザまたはエンティティのアイデンティティは、様々な実施形態で
は、例えばENM、OCC、またはVMが起動される仮想化ホストで検証され得る。少な
くとも1つの実施形態では、ERGでのVMの起動をスピードアップするのを助けるため
に、VMイメージのセットは、ERGのローカルストレージデバイスに記憶またはキャッ
シュされ得、その結果、ERGで所望のカテゴリのVMを起動するために、ネットワーク
を介して大きなイメージを転送する必要がない場合がある。いくつかの実施形態では、イ
メージは、ERGのコンピューティングデバイスの、ERGがセットアップされる場所(
例えば、顧客データセンター)への物理的な引き渡しの前にキャッシュされ得る。
例示的なシステム環境
図1は、少なくともいくつかの実施形態による、プロバイダネットワークの仮想化コン
ピューティングサービスの拡張リソースグループが、プロバイダネットワークの外部のプ
レミスに配置されたリソースを使用してセットアップされ得る例示的なシステム環境を例
解する。図のように、システム100において、仮想化コンピューティングサービス(V
CS)110のコアコンポーネントは、少なくとも、コントロールプレーンリソース14
1、データプレーンリソース145、およびアウトバウンドコマンドコミュニケータ(O
CC)177のセットを含み得、これらはすべて、プロバイダネットワークのデータセン
ター101内に配置され得る。プロバイダネットワークは、様々な実施形態では、サービ
スプロバイダと呼ばれ得る。図示の実施形態では、VCSのデータプレーンは、拡張リソ
ースグループ(ERG)を使用して、外部の場所(VCS顧客/クライアントによって選
択され得るプレミス)に拡張され得る。例えば、ERG135Aは、コロケーション設備
130(例えば、2つ以上の組織のコンピューティング関連リソースがホストされ得る建
物または部屋などの場所)に確立され得、ERG135Bは、顧客データセンター132
Aにセットアップされ得、ERG132Bは、顧客データセンター132Bに確立され得
る。
いくつかの実施形態によると、VCS110のコントロールプレーンリソース141は
、クライアントが提出した構成要求(新しい仮想マシンをセットアップする要求、ネット
ワーク設定を変更する要求など)、VCSのデータプレーンコンポーネントのプロビジョ
ニングおよび状態管理操作などに応答することを担当するCPS102A~102Cなど
のいくつかのコントロールプレーンサーバ(CPS)102を含み得る。データプレーン
リソースは、クライアントC2に代わってセットアップされたIVN115Aなどの、い
くつかの分離仮想ネットワーク(IVN)115を含み得る。先に示したように、IVN
115は、様々な実施形態では、ネットワーク構成設定の少なくともいくつかのタイプに
関して、仮想化コンピューティングサービスの残りのリソースから論理的に分離または切
り離されるリソースのセットを含み得る。例えば、所与のIVNは、いくつかの実施形態
では、それぞれのセキュリティ設定を有する1つ以上のサブネット、および/またはIP
アドレスのセットを有し得、その個々のサブネットは、1つ以上の仮想化ホスト(VH)
117でセットアップされた個々の仮想マシン125(例えば、VM125A)に割り当
てられ得る。図1に示される例示的なシナリオでは、IVN115Aは、VH117Aお
よびVH117Bでインスタンス化された仮想マシンを含み得、一方、IVN115Bは
、VH117Jまたは117Kでセットアップされた仮想マシンを含み得る。少なくとも
一実施形態では、少なくともいくつかの仮想化ホスト117が、マルチテナントモードで
使用され得るため、所与のVHが、いくつかの異なるクライアントに代わってセットアッ
プされたVMに潜在的に使用され得、いくつかの異なるIVNのVMが、1つのVHで潜
在的にインスタンス化されることに留意されたい。
少なくとも1つの実施形態では、IVNは、内部または管理上の使用のために、ならび
にクライアントが要求した仮想マシンをホストするためにセットアップされ得る。いくつ
かの実施形態では、例えば、ERGにコマンドを送信するために使用されるOCC177
のうちの1つ以上は、IVN内に確立され得る。所与のOCC177は、例えば、いくつ
かの実施形態では、仮想マシン内の1つ以上のプロセスまたは実行スレッドを使用して実
装され得、少なくとも1つの拡張リソースグループ135にプログラムで関連付けられ得
る。少なくともいくつかの実施形態では、OCCの構成設定は、VCSコントロールプレ
ーン内で発信されるコマンドがOCCを介してERGに送信され得るが、ERG(または
任意の他のソース)で発信されるメッセージがERGを介してVCSコントロールプレー
ンに送信されないようにセットアップされ得る。例えば、以下で考察されるように、一実
施形態では、OCCとして使用される仮想マシンに接続された特定の仮想ネットワークイ
ンターフェース(VNI)のセキュリティ設定は、メッセージがVCSコントロールプレ
ーンリソース141からOCCに送信されることのみを可能にし、逆方向に送信されるこ
とを可能にし得ない。
高レベルでは、様々な実施形態では、ERG135は、少なくとも少量のハードウェア
機器をホストすることができ、インターネット接続を有するVCS顧客が選択した任意の
場所における、VCSの安全なデータプレーン機能(例えば、プロバイダネットワークデ
ータセンター内にセットアップすることができるものと同一または少なくとも非常に類似
した仮想マシンをインスタンス化する能力)を提供するように設計され得る。以下で考察
されるように、ERGの1つ以上のタイプまたはカテゴリは、様々な実施形態では、VC
Sで定義され得、顧客は、コロケーションプレミス130または顧客データセンター13
2など、ERGインスタンスがプロバイダネットワークの外部の所与の場所にセットアッ
プされる特定のカテゴリを選択し得る。ERG内に含まれるハードウェアデバイス、関連
付けられたソフトウェアおよびファームウェアの特定のセットは、様々な実施形態では、
プロバイダネットワーク101のオペレータによって設定された(および少なくとも場合
によっては事前構成または事前インストールされた)基準を満たすことができる。
ERGを使用して提供される仮想化コンピューティングおよび他の機能の品質(セキュ
リティ、パフォーマンス、可用性などの態様を含む)が、VCSおよびプロバイダネット
ワークの標準を満たすことを確実にするために、異なる実施形態では、いくつかの技術を
使用することができる。例えば、少なくともいくつかの実施形態では、EVH118A、
118B、118J、118K、118Pまたは118Qなどの強化されたセキュリティ
仮想化ホスト(EVH)118のセットは、ERGに含まれ得る。このようなEVHは、
遠隔で生成された仮想化関連の管理コマンドが、例えば、コマンドが最初に発行されたソ
ース(コントロールプレーンリソース141など)にメッセージを送り返すことなく、安
全かつ確実に実行することを可能にするように特別に設計されるいくつかのハードウェア
、ソフトウェア、および/またはファームウェア要素を含み得る。いくつかの実施形態で
は、そのような要素は、以下でさらに詳細に考察されるように、トラステッドプラットフ
ォームモジュール(TPM)または他のセキュリティモジュールを含むオフロードされた
仮想化管理コンポーネント(OVMC)、耐タンパー性ストレージデバイスであって、ス
トレージデバイスが特定のEVHに物理的に接続されている場合にのみコンテンツを復号
化することができる耐タンパー性ストレージデバイス、低オーバーヘッドの仮想化管理ソ
フトウェアスタックなどを含み得る。少なくともいくつかの実施形態では、以下に考察さ
れるように、EVHは、アウトバウンドコールを行わず、TLS(トランスポート層セキ
ュリティ)セッションを使用して保護されるインバウンドコマンド用のAPIを実装する
VCSコントロールプレーンエージェントを含み得る。このようなAPIは、様々な実施
形態では、強力な許可、認証、およびアカウンティング関連の制御を有し得る。少なくと
もいくつかの実施形態では、仮想化管理に関連付けられた共有秘密は、EVH自体の中に
記憶され得ない。様々な実施形態では、VCSソフトウェアおよび構成を含むEVHに関
する状態情報は、TPMまたは同様のセキュリティモジュールに対して封印される1つ以
上の暗号化ドライブに記憶され得、安全で測定されたブートプロセスを使用してドライブ
のコンテンツのロックを解除し得る。少なくともいくつかの実施形態では、同様のEVH
は、プロバイダネットワークデータセンター内でも使用され得、例えば、125Aなどの
仮想マシンの少なくともいくつかのサブセットは、プロバイダネットワーク内のEVH上
にセットアップされ得ることに留意されたい。仮想化ホスト(図1のEVH118および
VH117を含む)は、いくつかの実施形態では、仮想化サーバ、または単にサーバと呼
ばれることもある。
少なくともいくつかの実施形態では、所与のERG135は、1つ以上のコンピューテ
ィングデバイスに実装されたネットワークマネージャを含み得、それは、プロバイダネッ
トワークとのネットワーク接続の確立に参加またはそれを開始し得る。いくつかの実施形
態では、仮想プライベートネットワーク(VPN)トンネルまたはVPN接続などの安全
なネットワークチャネルは、ERG135(例えば、ERGのネットワークマネージャ)
とプロバイダネットワークデータセンター内に配置されたリソースとの間に確立され得、
そのようなチャネルは、VCSからERGにコマンドを送信するために採用することがで
きる。図1に描写される実施形態では、例えば、それぞれの一方向の安全なネットワーク
チャネル166(例えば、166A、166B、または166C)を使用して、クライア
ント要求(ERGで125Bなどの仮想マシン125をインスタンス化する要求を含む)
に応答して、コントロールプレーンリソース141で最初に生成されたコマンドを、EV
H118での最終的な実行のために、OCCを介してERGに送信することができる。一
実施形態では、そのようなコマンドに使用される安全なチャネルは、ERG135(ネッ
トワークマネージャなど)における1つ以上のリソースと、ERGがその要求に応じて確
立された、クライアントのIVN115内の1つ以上のリソース(仮想マシン125また
はVPNゲートウェイなど)との間に設定され得、そのERG135のために指定された
OCC177は、セットアップされた後、チャネル(例えば、VPN接続識別子またはト
ンネル識別子)の表示(および使用許可)を取得することができる。
いくつかの実施形態によると、安全なチャネル166にアクセスしているOCC177
は、VCSコントロールプレーンリソース141で生成された管理コマンドの少なくとも
第1のバージョンを取得することができる。管理コマンドは、少なくとも1つの実施形態
では、クライアントからのプログラム要求に応答してVCSコントロールプレーンで生成
された可能性があり、OCCに関連付けられたERGに向けられ得る。プログラム要求自
体は、少なくともいくつかの実施形態では、安全なネットワークチャネルを含まない経路
を介して、クライアントからコントロールプレーンデバイスで受信された可能性がある。
VCSコントロールプレーンで生成されたコマンドの表現は、様々な実施形態では、OC
Cから安全なネットワークチャネルを介して、関連付けられたERG135に送信され得
、ERGで実行され得る。1つの例示的なシナリオでは、クライアントは、ERGで仮想
マシン(VM125Bなど)を起動するための要求をプログラムで提出することができ、
対応するVM起動コマンドの第1のバージョンは、VCSコントロールプレーンリソース
141で生成され、適切なOCC177に送信され得、OCC177は、コマンドの変更
されたバージョンをERGのネットワークマネージャに送信し得る。次に、ネットワーク
マネージャは、コマンドを、選択されたEVH118に送信することができ、EVH11
8上の1つ以上のプロセスは、要求仮想マシンを起動するためのコマンドを実行すること
ができる。同様のワークフローは、様々な実施形態では、VMを終了させるためのコマン
ド、VMを修正するためのコマンドなどの他のタイプのコマンドに対して実行することが
できる。
いくつかの実施形態では、VCSコントロールプレーンからOCCで受信されたコマン
ドのバージョンは、例えば、1つ以上のセキュリティ関連トークンなどを削除/置換する
ことによって、OCCで修正され得、その結果、コマンドの修正されたバージョンの、E
RGへの送信をもたらす。コマンドの修正されたバージョンは、例えば、OCCで生成さ
れた1つ以上のセキュリティアーティファクトまたはオブジェクトを含み得、それらは、
様々な実施形態では、コマンドが最終的に実行/実装されるERGのターゲットホストで
認証され得る。少なくとも1つの実施形態では、HMAC(ハッシュベースのメッセージ
認証コード)などのそれぞれの認証コードは、OCCで各コマンドに生成され、ERGに
転送されるメッセージに含まれ得、コマンドを改ざんすることを困難にする。いくつかの
実施形態では、仮想マシンカテゴリの1つ以上のファミリのインスタンスは、プロバイダ
ネットワークデータセンター内の仮想化ホスト115で確立され得、同じVMカテゴリの
少なくともいくつかのインスタンスは、ERGでセットアップされ得る。一実施形態では
、1つ以上のVMカテゴリのインスタンスを起動するために使用することができる仮想マ
シンイメージは、例えば、プロバイダネットワークからERGへのネットワークを介して
潜在的に大きなVMイメージファイルを送信する必要なしに、新しいVMが非常に迅速に
起動され得るように、ERG内に含まれるストレージデバイスでキャッシュされ得る。い
くつかの実施形態では、許可されたエンティティ(例えば、ユーザ、グループなど、アイ
デンティティサービスまたは許可サービス内で定義される)は、それらのエンティティの
みが、ERGでの1つ以上のタイプの操作(VM起動など)を開始することを許可される
ように、所与のERGに対して指定され得る。そのような操作を実行する前に、VCSは
、様々な実施形態では、要求エンティティが適切な許可を与えられていることを(例えば
、VCSコントロールプレーン、OCC、および/またはERG自体で)検証することが
できる。少なくともいくつかの実施形態では、ERGに発行されたすべてのコマンド(ま
たはより一般的には、ERGに送信されたおよび/またはERGから送信されたメッセー
ジ)の包括的なログは、例えば、VCSコントロールプレーン、OCC、および/または
ERG内のネットワークマネージャで維持され得、そのようなログのコンテンツは、代わ
ってERGがセットアップされるVCSクライアントに、様々なタイプのプログラムイン
ターフェースを介して提供され得る。
少なくともいくつかの実施形態では、ERG135のEVHで動作する仮想マシン12
5に関して、少なくとも2種類のデータプレーン通信がサポートされ得る。クライアント
C1の顧客データセンター132A、クライアントC2の顧客データセンター132B、
またはコロケーション設備130などの所与の外部プレミスは、VCS機能を実装しない
少なくともいくつかのサーバまたはコンピューティングデバイスを含み得る。例えば、コ
ロケーション設備130は、非VCSサーバ123Aのセットを含み得、データセンター
132Aは、非VCSサーバ123Bを含み得、データセンター132Bは、図示の実施
形態では、非VCSサーバ123Cを含み得る。場合によっては、ERG135をセット
アップする動機の1つは、非VCSサーバ123の所与のセットへの近接を含み得、その
ようなサーバは、例えば、ERGの仮想マシンを使用して操作されるデータを記憶し得る
か、またはERG内で動作している他のアプリケーションと密接に連動することを目的と
したアプリケーションを動作し得るが、ERGの一部ではない(プロバイダネットワーク
の一部ではない)場合がある。したがって、様々な実施形態では、所与のERG135は
、ローカルプレミスの低遅延データチャネル168(例えば、データセンター132Aの
チャネル168A、データセンター132Bのチャネル168B、およびコロケーション
設備130のチャネル168C)を介した非VCSリソースへの接続を可能にする1つ以
上のリソースを含み得る。いくつかの実施形態では、例えば、EVH118での仮想化ホ
スト(例えば、VCSのIVNに関連付けられた範囲のプライベートIPアドレスが割り
当てられ得る)と、ERGホスティングプレミスのサーバ123などの非VCSリソース
との間のトラフィックのために、ネットワークアドレス変換が必要とされ得る。少なくと
も1つの実施形態では、ERG135のネットワークマネージャは、そのようなトラフィ
ックに対してそのようなアドレス変換および/または他のプロトコル処理(例えば、カプ
セル化プロトコル処理)操作を実行するための仲介者として機能し得る。いくつかの実施
形態では、VCSコントロールプレーンへの安全なチャネル166をセットアップするこ
とに参加する同じネットワークマネージャを使用して、非VCSリソースへの接続を可能
にすることもでき、他の実施形態では、異なるタイプのトラフィックに対して異なるネッ
トワークマネージャを使用することができる。
少なくともいくつかの実施形態では、所与のERG135は、VCSデータセンター内
の少なくともいくつかのリソースを使用して確立された既存のIVN115の論理的拡張
として構成され得る。例えば、図示の実施形態では、ERG135Bは、クライアントC
1のIVN115Aの拡張であり、ERG135Aは、クライアントC3のIVN115
Bの拡張である。したがって、利用可能なIPアドレスの範囲、サブネット設定、出力/
入力セキュリティルールなどのようなIVNの様々なネットワーク構成設定もまた、その
ような実施形態では、IVNを拡張するERGに適用され得る。様々な実施形態では、1
67Aおよび167Bなどの双方向データチャネルを使用して、IVN内のリソースと、
IVNの拡張として構成されているERGとの間で非管理パケットまたはデータプレーン
パケットを送信することができる。いくつかの実施形態では、ERG135Cなどのいく
つかのERGは、IVNの拡張として構成されない場合があることに留意されたい。この
ようなERGは、事実上、プロバイダネットワークデータセンターの外部に実装されたI
VNと論理的に同等であると見なすことができ、例えば、図示の実施形態では、C3に代
わってセットアップされたIVN内で行うことができるのと同様のタイプのネットワーク
構成選択を、ERG135C内のクライアントC3によって行うことができる。少なくと
もいくつかの実施形態では、同じセットの物理ネットワークリンクおよび/または同じV
PNトンネルまたは他の安全な接続は、(a)双方向データトラフィック(例えば、論理
双方向データチャネル167)、および(b)一方向管理コマンドトラフィック(例えば
、論理一方向コマンドチャネル166)の両方に使用され得ることに留意されたい。
いくつかの実施形態によると、VCSクライアントは、プログラム要求をVCSに提出
することによって、ERGをセットアップおよび構成するワークフローを開始することが
できる。そのようなERG確立要求に応答して、一実施形態では、アウトバウンドコマン
ドOCCは、例えば、ERGの物理的機器が適切なプレミスに引き渡される前でさえ、構
成、選択(例えば、既存のOCCのプールから)、またはインスタンス化され得る。その
ようなシナリオでは、ERG135を備える安全なチャネル166(例えば、VPNトン
ネル)は、OCCがERGのために確立または指定された後のある時点でセットアップさ
れ得る。
いくつかの実施形態では、ERGのデバイスは、接続を確立し、ERGの使用を開始す
るためにVCS顧客からほとんど労力を必要としないような方法で、事前に構成および事
前にインストールされ得る。例えば、一実施形態では、ERGインスタンスのコンピュー
ティングデバイスのセットが、セットアップされ、電源がオンにされ、インターネットに
接続されるとすぐに、ネットワークマネージャは、デバイスのうちの1つ以上で自動的に
スタートアップし、VCSデータセンターでリソース(OCC177、VPNトンネルを
有効にするためにセットアップされたゲートウェイなど)との接続を開始することができ
る。したがって、電力および/またはインターネット接続が利用可能であるという発見は
、そのような実施形態では、ネットワークマネージャをスタートアップするためのトリガ
信号として機能し得る。ネットワークマネージャは、いくつかの実施形態では、ERGの
EVHのうちの1つ以上のブートストラップ操作を開始することも担当し得る。EVH上
の仮想マシン125のインスタンス化および使用を可能にすることに加えて、ERGはま
た、いくつかの実施形態では、仮想マシンを利用するプロバイダネットワークサービスの
機能を提供するために使用され得る。例えば、いくつかの実施形態では、プロバイダネッ
トワークのデータベースサービスは、データベースインスタンスをインスタンス化するた
めに、仮想マシンのセットを利用することができ、そのようなデータベースインスタンス
はまた、クライアントの要求に応じてERGでセットアップされることができる。
例示的なERG仮想化ホスト
図2は、少なくともいくつかの実施形態による、仮想化コンピューティングサービスの
拡張リソースグループに含まれ得る、強化されたセキュリティ仮想化ホストの例示的な概
要を例解する。図示の実施形態では、図1に示されるERG135と同様のERGのコン
ピューティングデバイスのコレクション205は、VCSクライアントによって選択され
る場所(例えば、顧客データセンター、コロケーション設備など)に引き渡され得る。コ
レクションの個々のデバイスは、VCSオペレータによって選択されたソフトウェアおよ
びファームウェアのセットをすでにインストールされていてもよく、少なくともいくつか
の実施形態では、互いに事前にケーブル接続されてもよい。少なくとも1つの実施形態で
は、デバイスのコレクションは、データセンターに通常設置される種類の単一の標準ラッ
ク(またはいくつかの他の数のラック)に適合し得、ラック全体(または複数のラック)
は、ユニットとしてパッケージ化され、VCSオペレータによって、プロバイダネットワ
ークの外部の指定された場所に提供され得る。図示の実施形態では、ERGデバイスコレ
クション205は、ERGネットワークマネージャに使用される1つ以上のホスト206
を含み得、これは、事実上、ERGのプライマリ管理者として機能し、VCSデータセン
ター、およびERGがインストールされる場所にある非VCSサーバへの接続を確立する
こと、ERGの他のデバイスを起動することなどを担当する。いくつかの実施形態では、
コレクション205は、1つ以上のストレージサーバ207を含み得、これは、例えば、
VCSからのネットワーク接続を介してイメージを転送する必要なしに、ERGで顧客が
要求した仮想マシンをインスタンス化するために使用することができる仮想マシンイメー
ジのキャッシュとして使用され得る。コレクションはまた、図示の実施形態では、EVH
218Aなどのいくつかの数の強化されたセキュリティ仮想化ホスト(EVH)218を
含み得る。少なくとも1つの実施形態では、ERGにおいて、EVH、ERGネットワー
クマネージャのために、および/またはストレージサーバのために同じタイプのコンピュ
ーティングデバイスを使用することができ、すなわち、ネットワークマネージャのために
、および/またはVMイメージをキャッシュするために特別なタイプのハードウェアを必
要としない場合があることに留意されたい。
少なくともいくつかの実施形態では、ERGの所与のEVH、例えばEVH218Aは
、ストレージデバイス255のセット、オフロードされた仮想化マネージャコンポーネン
ト(OVMC)269、およびオペレーティングシステム(OS)のストリップダウンバ
ージョン265を含み得る。ストレージデバイス255は、例えば、EVHで起動された
任意の仮想マシンの状態情報を含むEVHの状態情報が、例えば、暗号化された形式で記
憶され得る少なくとも1つの耐タンパー性デバイス256を含み得る。少なくとも1つの
実施形態では、耐タンパー性ストレージデバイス256は、デバイスに記憶された暗号化
データが、デバイスが特定のEVH(例えば、EVH 218A)に物理的に接続される
場合にのみ復号化することができるように構成され得、例えば、デバイスに記憶されるデ
ータの暗号化されたバージョンを復号化するために、EVHのTPM(トラステッドプラ
ットフォームモジュール)などのセキュリティモジュールに記憶される情報を読み取る、
および/または分析する必要がある場合がある。オフロードされた仮想化マネージャコン
ポーネント269は、図3の文脈で以下で考察されるように、いくつかの実施形態では、
セキュリティモジュールを含み得る。OVMCは、例えば、いくつかの実施形態では、P
CI(ペリフェラルコンポーネントインターコネクト)などの周辺インターフェースを介
してEVH218のメモリに接続されたハードウェアカードを含み得る。名前が示すよう
に、OVMCは、仮想マシンを管理する作業のいくつかをEVHのプライマリプロセッサ
(例えば、CPU)からオフロードし得、これにより、EVHのリソースの多くを、クラ
イアントが要求した仮想マシンで利用可能にする。いくつかの実施形態では、複数のOV
MC(例えば、複数のPCI接続カード)は、218AなどのEVHに含まれ得る。一実
施形態では、OVMCは、ネットワーキング関連の仮想化管理タスクおよび/または他の
入力出力(I/O)関連の仮想化管理タスクを実行することができる。少なくとも1つの
実施形態では、OVMC269と同様の周辺カードを使用して、ERGのネットワークマ
ネージャの機能の少なくとも一部分を実装することができる。
図2に描写される実施形態では、OS265は、コントロールプレーンエージェント(
CPA)プロセス267を含み得る。CPA267は、上で考察された種類のアウトバウ
ンドコマンドコミュニケータ(OCC)を介して、プロバイダネットワークデータセンタ
ーでのVCSコントロールプレーンから送信された管理コマンド266を受信することが
できる。コマンド266は、図示の実施形態では、CPAアプリケーションプログラミン
グインターフェース(CPA API)278に従ってフォーマットされ得る。事実上、
CPA API278は、CPAまたはEVH218の他のコンポーネントの特定の実装
詳細に関係なく、VCSコントロールプレーンの要求に応じてEVH218で実装される
操作のタイプを管理する契約を表すことができる。例えば、代わりにERGがセットアッ
プされるクライアントによって要求された仮想マシンを起動するためのコマンドは、CP
A267に送信され得る。少なくともいくつかのCPA APIコールは、図示の実施形
態では、応答を提出者に送信することを必要としない場合がある。アウトバウンドメッセ
ージは、いくつかのそのような実施形態では、CPAによってEVHから送信されない場
合がある。
VM起動コマンドに応答して、CPA267は、いくつかの実施形態では、VIP26
8-1などの交換可能な仮想化中間プロセス(VIP)268を起動することができる。
最初に、図示の実施形態では、VIPプロセス268-1は、CPA267によって発行
されたAPI要求またはコマンドを受信するように構成されるAPIハンドラスレッド2
70-1を含み得る。次に、CPA267は、実際にVMを起動するためのコマンドを発
行することができ、VIP268-1の新しい子スレッド263-1を起動して、要求さ
れたVMを実装することができる。VMスレッド263-1の起動をもたらすコマンドに
は、例えば、使用する起動可能なVMイメージ、VMのリソース要件、OVMCを使用し
て、特にVMに対してCPAによって以前に実行されたネットワーク構成操作の結果など
を示すパラメータが含まれ得る。VMをインスタンス化するためのコマンドは、図示の実
施形態では、VIP API279と呼ばれる第2の内部APIを介して提出することが
できる。CPA APIがVCSコントロールプレーンとCPAとの間の契約を表すのと
同様に、様々な実施形態では、VIP APIは、エンティティ(例えば、VIP)の特
定の実装詳細またはプロセス/スレッド構造に関係なく、VMを起動および終了させるこ
とを担当するエンティティによって処理される要求のタイプを示す別の契約を表すことが
できる。所与のVIP268の存続期間は、いくつかの実施形態では、対応するVMスレ
ッド263の存続期間と一致し得、例えば、VMが終了するとき、VIPもまた終了し得
る。VMの存続期間中、CPAは、APIハンドラスレッド270-1を介してVIPと
通信することができ、例えば、様々なタイプのVM関連操作を要求するVIP API
279に従ってフォーマットされたメッセージを提出し、様々なタイプのVM関連クエリ
を提出すること、および対応する応答を受信することを行うことができる。いくつかの実
施形態では、ERGで起動される少なくともいくつかのVMのリソース要件(例えば、C
PU、メモリ、ストレージ、および/またはメモリ要件)は、非常に低く、および/また
はVMの予想される存続期間は、非常に短い場合があり、そのようなVMは、「マイクロ
VM」と呼ばれることがある。一実施形態では、OS265のストリップダウンバージョ
ンは、Linuxカーネルベースの仮想マシン(KVM)および他の仮想化特徴を活用し
て、そのような軽量マイクロVMをほぼネイティブの速度で実行することができる仮想マ
シンモニターを含み得る。仮想マシンモニターは、ユーザスペースプロセスとして動作し
、ゲストオペレーティングシステムに最小限のデバイスエミュレーションを提供し(例え
ば、ブロックおよびネットワークデバイスを含む標準のPCデバイスモデル)、より速い
スタートアップ、およびメモリフットプリントの削減を達成するための必須ではない機能
(例えば、VGA(ビデオグラフィックスアレイ)および他のレガシーデバイスエミュレ
ータ)を含まない場合がある。仮想マシン監視プロセスは、いくつかの実施形態では、C
PA API278と同様のAPIを公開し、マイクロVMサンドボックス化を実施し、
仮想化関連要求の速度制限を処理することができる。
異なる実施形態では、所与の要求されたVMに使用される特定のEVH218を選択す
る際に、いくつかのVM配置要因を考慮に入れることができ、例えば、ホスト上で現在動
作しているVMの数を、考慮することができ、EVHのオーバーサブスクリプション設定
、および/または代わってVMが起動されるクライアントのオーバーサブスクリプション
プリファレンスを考慮することなどを行うことができる。いくつかの実施形態では、特定
のVM起動の任意の要求がEVHでのCPA267に送信される前に、いくつかの予備構
成操作がEVH218で(例えば、ERGネットワークマネージャによって)実行され得
、例えば、以下で考察される種類の1つ以上の仮想ネットワークインターフェースは、E
VHのVMによる最終的な使用のために、OVMC269を使用して構成することができ
る。
VMを起動するための新しいコマンドがCPA267で受信されると、VMスレッド
263-1の起動に関して上記に示されたCPAワークフローは、図示の実施形態では、
繰り返され得、例えば、VM別構成操作は、VIPを起動する前に、CPAによって実行
され得、VIPのスレッドの1つを、要求されたVMに使用することができる。ラベルV
IP268-10000によって示唆されるように、図示の実施形態では、所与のEVH
218で多数(例えば、数万)のVMを作成することができる。EVHで同時に動作する
ためにインスタンス化することができるVMの実際の数は、EVHで利用可能な全体的な
リソースの組み合わせ、インストールされるソフトウェア/ハードウェアスタックのバー
ジョン、有効なリソースオーバーサブスクリプションポリシー/複数のリソースオーバー
サブスクリプションポリシーなどに応じて、異なる実施形態では、様々であり得、例とし
て図2に示す10000の数よりも大きい場合もあり、または小さい場合もある。VM2
63-1の親VIP268-1は、交換可能であるため、EVH218Aで描写される実
施形態では、所望のレベルのリソースオーバーサブスクリプションを実装することが可能
であり得、例えば、EVHで動作するVMのセットの総メモリ使用量は、利用可能なメモ
リの量を超える可能性がある。VMを終了させるための要求がVCSコントロールプレー
ンで受信されると、対応するコマンドは、API呼び出しを介してCPAに送信され得、
スレッドが、対象となるVMに使用されるVIPは、図示の実施形態では、終了し得る。
すなわち、少なくとも1つの実施形態では、動作しているVMの数と動作しているVIP
の数との間に1対1の関係があり得る。他の実施形態では、図2に示されるプロセスアー
キテクチャのバリエーションを採用することができ、例えば、所与のVIPは、それぞれ
のスレッドとして複数のVMを生成することができ、複数のCPAをVHでセットアップ
することなど行うことができる。いくつかの実施形態では、VIPおよび/またはVMに
使用される別個のプロセスは、交換可能ではない場合がある。少なくともいくつかの実施
形態では、図2に示されるものとは異なるアプローチを使用して、仮想マシンを管理する
ことができ、例えば、示される種類のコントロールプレーンエージェントの代わりに、よ
り大きなフットプリントを有するハイパーバイザーを使用することができる。
例示的なオフロードされた仮想化管理コンポーネントカード
図3は、少なくともいくつかの実施形態による、仮想化ホストのオフロードされた仮想
化管理コンポーネントカードの例示的な要素を例解する。前述のように、様々な実施形態
では、そのようなカードを使用して、少なくともいくつかのタイプの仮想化管理タスクを
実行し、仮想化ホスト(例えば、ERGのVMまたはプロバイダネットワーク内のVMに
使用されるホスト)の処理および他のリソースを解放することができる。図のように、オ
フロードされた仮想化管理コンポーネント(OVMC)カード302(図2のOVMC2
69と特徴および能力が同様の)は、オフロードプロセッサ317Aおよび317B(O
VMCカードが接続および使用される仮想化ホストの一次CPUとは区別される)のそれ
ぞれのセットを有する一対のシステムオンチップを含み得る。図示の実施形態では、SO
Cのうちの一方(例えば、315)をブートコントローラに使用することができ、他方は
、主にまたは具体的にネットワーク処理オフロードに使用することができる。仮想化関連
担当の他の分散は、異なる実施形態で実装され得る。セキュアブートROM325は、い
くつかの実施形態では、ブートコントローラによる仮想化ホスト自体のマルチフェーズブ
ート操作の初期フェーズに使用することができる。OVMCカード302はまた、セキュ
リティモジュール(トラステッドプラットフォームモジュール(TPM)など)330を
含み得、それはまた、前述のように、いくつかの実施形態では、ブート手順中および/ま
たはブート後状態検証のために広範囲に使用され得る。少なくともいくつかの実施形態で
は、仮想化ホストのプレインストールされたソフトウェア/ファームウェアの表現がセキ
ュリティモジュールに含まれ得る。少なくともいくつかの実施形態では、VCSオペレー
タによって選択された特定のソフトウェアスタックのみが、セキュリティモジュール33
0がインストールされるホストにインストール可能であり得、そのため、インストールを
修正しようとする任意の試みは、失敗する可能性があり、仮想化ホストのセキュリティが
さらに強化される。
加えて、OVMCカード302は、様々な実施形態では、いくつかのストレージ、電力
、および接続性に関連するコンポーネントを含み得る。例えば、1つ以上のフラッシュデ
バイス/インターフェース(またはSSD)335をオフロードカード内に組み込むこと
ができる。これらのデバイスは、例えば、様々な仮想化管理コンポーネント、仮想マシン
コンポーネントなどに対応するファームウェアおよび/またはソフトウェアを記憶するた
めに使用され得る。PCI-Eインターフェース340は、様々な実施形態では、CPA
およびVIPなどのプロセスと通信するために、および/またはSOC間の通信のために
使用され得る。他の実施形態では、QuickPathインターコネクト(QPI)また
はUltraPathインターコネクト(UPI)のバリアントなど、他のタイプのイン
ターコネクトおよび対応するインターフェースを使用することができる。ネットワークイ
ンターフェース345は、いくつかの実施形態では、仮想化ホストと仮想化コンピューテ
ィングサービスのコントロールプレーンとの間の通信、および少なくとも1つの実施形態
では、ホスト上で起動された仮想マシンと少なくとも1つ以上のネットワークエンドポイ
ントとの間のデータプレーン通信のために使用され得る。OVMCカード302はまた、
いくつかの実施形態では、例えば、長時間の停電の場合に、少なくともいくつかの目標と
なる時間または日数の間、OVMCを機能させ続けるのに十分な電源360を含み得る。
いくつかの実装形態では、スーパーキャパシタベースの電源が使用され得る。
いくつかの実施形態では、オフロードされた仮想化マネージャコンポーネントに対して
、同じカード上の別個のSOCが必要とされない場合がある。例えば、一実施形態では、
ブートコントローラ機能およびネットワークオフロードタスクを実行することが可能であ
る単一のSOCを利用することができる。他の実施形態では、ブートコントローラに使用
されるものとは別のカードを使用して、ネットワーク処理タスクを実行することができる
。図3に示されるオフロードカードコンポーネントのセットは、包括的であることを意図
しておらず、いくつかの実施形態では、タイマーなどのいくつかの他のコンポーネントを
カードに組み込むことができる。様々な実装形態において、図6に示されるコンポーネン
トの少なくともいくつかは必要とされない場合がある。
アウトバウンドコマンドコミュニケータでの仮想ネットワークインターフェースの例示的
な使用
様々な実施形態では、仮想ネットワークインターフェース(VNI)(「弾性ネットワ
ークインターフェース」とも呼ばれ得る)は、VCS(図1のVCS110と同様)およ
び/またはVCS拡張リソースグループ(図1のERG135と同様)で構成され得、物
理ネットワークカードを必ずしも再構成することなく、IP(インターネットプロトコル
)アドレスなどのネットワーク関連属性を、仮想マシン間で比較的簡単に転送することが
可能である。そのような属性転送は、例えば、仮想ネットワークインターフェースを、1
つの仮想マシン(例えば、アウトバウンドコマンドコミュニケータ(OCC)として使用
される仮想マシン)からプログラムで切断し、別の仮想マシンにプログラムで接続するこ
とによって実現することができる。図4は、少なくともいくつかの実施形態による、拡張
リソースグループに関連付けられたアウトバウンドコマンドコミュニケータにプログラム
で接続され得る仮想ネットワークインターフェースの例示的な属性を例解する。図のよう
に、491Aまたは491Bなどの1つ以上のVNIは、図示の実施形態では、例えば、
仮想マシンが動作するホストの特定のハードウェアネットワークインターフェースカード
(NIC)とは独立して、プログラム操作493を介して所与の仮想マシン490に接続
(またはそこから切断)され得る。
任意の所与のVNI491の例示的な属性495の一般化されたリストが図4に示され
、少なくともいくつかの実施形態では、それらのすべてが必ずしもすべてのVNIに使用
され得るわけではない。いくつかの実施形態では、図4に示される属性またはプロパティ
のサブセットのみを実装することができ、実装された属性フィールドのすべてに入力する
必要はない(すなわち、属性のいくつかを空白またはヌルのままにすることができる)。
様々なVNIの属性495を含むフィールド/エントリを含むそれぞれのレコードは、い
くつかの実施形態では、永続的なメタデータストア、例えば、プロバイダネットワークま
たはVCSの様々なコントロールプレーンまたは管理コンポーネントからアクセス可能で
あるストアに記憶され得る。
例えば、プログラム要求に応答して、新しいVNIが作成されると、図示の実施形態で
は、新しいインターフェース識別子401がそのために生成され得る。いくつかの実装形
態では、説明フィールド402は、VNI、例えば、「ERG E-1142のOCC4
85のためのインターフェース654」の作成を要求したクライアントによって記入され
得る。前で考察されたように、いくつかの実施形態では、VNIが使用されるVCSは、
複数の分離仮想ネットワーク(IVN)を含み得る。属性495は、そのような実施形態
では、IVN識別子403(VNIが構成されるIVNを示す)を含み得る。
異なる実施形態では、いくつかのタイプのネットワークアドレス指定関連フィールドの
いずれかが、VNIの属性のセット内に含まれ得る。いくつかの実施形態では、1つ以上
のプライベートIPアドレス405を、例えば、指定することができる。そのようなプラ
イベートIPアドレスは、本明細書では非パブリックアドレスとも呼ばれ、様々な実施形
態では、プロバイダネットワークおよびERGなどのその拡張内のルーティングに内部的
に使用することができ、プロバイダネットワークおよびそのERGの外部から(または他
のIVN内から)直接アクセス可能でない場合がある。いくつかの実施形態では、VNI
に関連付けられた少なくともいくつかの非パブリックIPアドレスは、IPアドレスでは
ない可能性があり、つまり、プロバイダネットワークの専用プロトコルに従ってフォーマ
ットされたアドレスを使用することができるか、または別のパブリックドメインプロトコ
ルに従ってフォーマットされたアドレスを使用することができる。一般に、いくつかの実
施形態では、ゼロ個以上のパブリックIPアドレス415もVNIに関連付けられ得、こ
れらのIPアドレスは、プロバイダネットワークおよびその拡張の外部、例えば、ERG
がセットアップされているプレミスの非VCSサーバ、パブリックインターネットの様々
なルータなどに表示される場合がある。いくつかの実施形態では、VNIが使用されるI
VN内のクライアントによってセットアップされるサブネットの識別子など、1つ以上の
サブネット識別子425(例えば、Classless Inter-Domain R
outingまたはCIDR形式で表現される)を、属性495内に含めることができる
。一実施形態では、VNIに関連付けられたアドレス(複数可)を伝播することを担当す
るドメインネームサーバ(DNS)の識別、または他のDNS関連情報427もまた、属
性495に含まれ得る。
いくつかの実施形態では、属性495は、セキュリティ関連プロパティ435を含み得
る。いくつかのプロバイダネットワークは、VNIが接続される可能性のある計算インス
タンスで許可される着信および/または発信トラフィックのタイプについて、ユーザが、
例えばファイアウォール関連ルールを含むルールを指定することを可能にし得る。そのよ
うなルールは、「セキュリティグループ」と呼ばれ、セキュリティグループ(複数可)フ
ィールド445を介して特定され得る。いくつかの実施形態では、そのようなルールを使
用して様々なポートおよびプロトコル制限を実施することができ、複数のルールを各VN
Iに関連付けることができる。例えば、クライアントは、セキュリティグループを使用し
て、HTTPおよびHTTP発信または着信トラフィックのみが許可されることを確実に
すること、トラフィックが許可されるTCPまたはUDPポートのセットを制限すること
、様々なポリシーに従って着信および発信トラフィックをフィルタリングするなどを行い
得る。いくつかの実施形態では、上で考察された種類のOCCに接続されたVNIのセキ
ュリティグループおよび/または他のセキュリティ設定を使用して、VCSコントロール
プレーンで発行されるコマンドが、OCCに送信されることを可能にしながら、OCCか
らVCSコントロールプレーンへのトラフィックの流れを防ぐことができる。いくつかの
実装形態では、どのユーザまたはエンティティがVCSの仮想マシンなどのコンピューテ
ィングプラットフォームへのVNIの接続を要求することを許可されるかを示すアタッチ
ャリスト447が指定され得る。場合によっては、個別のデタッチャリストを使用して、
どのエンティティがVNIを切断することができるかを指定し得、一方、アタッチャリス
ト447などの単一のリストを使用して、許可されたアタッチャおよびデタッチャを特定
し得る。VNIのIPアドレス(例えば、パブリックIPアドレス415および/または
プライベートIPアドレス405)を設定または修正することを許可されるユーザまたは
エンティティのコレクションは、IPアドレスセッターリスト449で提供され得、VN
Iを所有する(または様々な他のフィールドを変更することができる)ユーザまたはエン
ティティのセットは、いくつかの実施形態では、所有者/修正者フィールド453で指定
され得る。例えば、フィールド453で特定される所有者/修正者は、いくつかの実装形
態では、アタッチャリスト447またはIPアドレスセッターリストを変更することを許
可され得、したがって、VNIを接続または切断するか、またはそのIPアドレス(複数
可)を修正することを許可されるエンティティのセットを変更する。「リスト」という用
語は、フィールド447、449、および453に使用されているが、様々な実施形態で
は、リスト以外の論理データ構造(例えば、配列、ハッシュテーブル、セットなど)を使
用して、様々なセキュリティ特権、役割、および/または能力が付与されたエンティティ
のグループを表すことができる。
いくつかの実施形態では、プロバイダネットワークの仮想化コンピューティングサービ
スのユーザは、プログラムで仮想マシン(VM)を終了させることを許可され得る。例え
ば、クライアントは、VMをセットアップし、VNIをVMに接続し、VMで所望の計算
のセットを実行し、所望の計算が完了したときにインスタンスを終了させるための要求を
発行することができる。そのような実施形態では、「DeleteOnTerminat
e」設定451を使用して、VMが終了したときに接続されたVNIに何が起こるかを指
定することができる。終了するVMに接続されたVNIに対してDeleteOnTer
minateが「true」に設定されている場合、VNIは、削除される可能性がある
(例えば、VNIの属性495を含む永続レコードは、それが記憶されていたリポジトリ
から削除される可能性がある)。DeleteOnTerminateが「false」
に設定されている場合、VNIが保持される可能性があるため、例えば、いくつかのVM
または他のコンピューティングプラットフォームに再度接続される可能性がある。一実施
形態では、VNIがVMに接続される場合、VNI属性495とは別の接続レコードを作
成して、その関係を表すことができ、DerteOnTerminateプロパティは、
VNI自体に関連付けられる代わりに、または関連付けられることに加えて、接続レコー
ドに関連付けられ得る。そのような実施形態では、VNIの属性495は、VNIが現在
関与している接続の各々の接続レコードまたは複数の接続レコードへのリファレンスまた
はポインタを含むことができ、「DeleteOnTerminate」の異なる値を各
接続レコードに設定することができる。
一実施形態では、属性495は、VNIが接続されているコンピューティングプラット
フォームに送信されるネットワークパケットに対してソースおよび/またはデスティネー
ションチェックを実行するかどうかの表示465などのルーティング関連情報を含むこと
ができる。ソース/デスティネーションチェック設定が「false」または「オフ」に
設定される場合、ルーティング判定は、パケットのソースおよびデスティネーションIP
アドレスに基づいて行うことができ、例えば、パケットは、1つのサブネットから別のサ
ブネットに転送され、設定が「真」または「オン」である場合、いくつかの実施形態では
、コンピューティングプラットフォームは、ルーティングを実行しない可能性がある。し
たがって、ソース/デスティネーションフィールド465を使用して、いくつかの実施形
態では、VNIが接続されるコンピューティングプラットフォームが、それが最終デステ
ィネーションではないパケットに対してルーティングまたはゲートウェイ機能を実行する
かどうか、またはそのようなパケットを無視するかどうかを制御し得る。ルートテーブル
エントリなどの他のタイプのルーティング関連情報はまた、または代わりに、他の実施形
態では、属性495に含まれ得る。請求書関連情報は、いくつかの実装形態では、属性4
95に含まれ得、例えば、VNIに関連付けられるネットワークトラフィックに対して請
求されるエンティティまたはユーザを特定する。
インターフェースステータスフィールド468は、VNIの現在の状態、例えば、VN
Iが「利用可能」、「無効」、または「修復中」であるかどうかを示すために使用され得
る。同様に、接続ステータスフィールド469は、いくつかの実施形態では、VNIが現
在接続されているか、切断されているか、または接続または切断されているプロセスにあ
るかどうかを示すために使用され得る。一実装形態では、上記のように、接続のレコード
は、対応する接続操作が実行されるときに作成され得、VNIの現在の接続の識別子また
は複数の識別子は、接続IDフィールド471に記憶され得る。VNIが現在接続されて
いる仮想マシンの識別子は、接続先インスタンスフィールド473に記憶され得、いくつ
かの実施形態では、接続を要求したユーザまたはエンティティは、接続所有者フィールド
475を介して特定され得る。一実施形態では、VNIのIPアドレスに向けられた/そ
こから向けられたトラフィックに現在使用可能な物理ネットワークインターフェースカー
ド(NIC)または複数のNICの識別子のリストは、例えば、MACアドレス(複数可
)フィールド477の形態で維持され得る。いくつかの実装形態では、VNIのIPアド
レスに流れるまたはそこから流れるトラフィックの量に関する統計などの監視情報479
もまた、属性495の間で保持され得る。VNI多重化または親子階層がサポートされる
少なくとも1つの実施形態では、VNIの子または分岐VNIへのポインタ481が含ま
れ得る。図4に示されない他のフィールドは、様々な実施形態では、含まれ得る。
一実施形態では、図4に示されるフィールドのいくつかは、他のオブジェクトへのリフ
ァレンスまたはポインタによって置き換えることができる。例えば、VNIのセキュリテ
ィ情報は、別個のセキュリティオブジェクトに記憶され得、属性495は、セキュリティ
オブジェクトへのリファレンスを含み得る。同様に、VNIへのコンピューティングプラ
ットフォームの各接続は、接続オブジェクトによって表すことができ、属性495は、い
くつかの実装形態では、適切な接続オブジェクトへのポインタを含み得る。
図5は、少なくともいくつかの実施形態による、仮想化コンピューティングサービスの
コントロールプレーンで生成されたコマンドを拡張リソースグループに送信するために使
用され得る例示的なパスを例解する。上記で導入した種類のいくつかの分離仮想ネットワ
ーク(IVN)は、少なくともいくつかの実施形態では、VCS顧客に代わってセットア
ップされたものや、プロバイダネットワークで管理目的でセットアップされたものを含む
パスに沿ってトラバースすることができる。図示の実施形態では、クライアント要求に応
答して、計算インスタンス(仮想マシン、ベアメタルインスタンス、および/または別の
タイプのアプリケーション実行環境など)を起動するためのコマンドを、仮想化コンピュ
ーティングサービスの1つ以上のコントロールプレーンサーバ502(例えば、502A
または502B)で生成することができる。いくつかの実施形態では、コントロールプレ
ーンサーバ502は、VCSコントロールプレーンIVN510内に確立され得る。サー
ビスネットワークアドレス範囲(SNAR)591を使用して、VCSの個々のホストに
IPアドレスを割り当てることができ、ここで、図示の実施形態では、様々なタイプの計
算インスタンスをセットアップすることができる。少なくともいくつかの実施形態では、
内部コマンドを生成することによるクライアント要求への応答、リソースプロビジョニン
グ、可用性管理などのような管理タスクのためのアルゴリズムを実行し、ホスティングに
は使用されない、コントロールプレーンの少なくともいくつかのコンピューティングデバ
イスは、SNAR591の一部ではないアドレスが割り当てられ得、計算インスタンスが
プロバイダネットワークデータセンター内でセットアップされるネットワークとは別のネ
ットワークの一部として構成することができることに留意されたい。VCSコントロール
プレーンの観点からは、拡張リソースグループ(ERG)内にたまたま配置されるホスト
は、少なくともネットワークアドレス割り当てなどのいくつかのタイプの構成判定に関し
て、あたかも、ホストが、図示の実施形態では、プロバイダネットワークのデータセンタ
ーに存在するかのように扱われ得る。例えば、VCSコントロールプレーン内で、1つ以
上の計算インスタンスがセットアップされるホストは、ホストがどこにたまたま物理的に
配置されるかに関係なく、様々な実施形態では、1つ以上のSNARアドレスに割り当て
られるか、または関連付けられ得る。いくつかの実施形態では、計算インスタンスに使用
されるホストの個々のアドレスに関連付けられた特定のSNARアドレスを示すメタデー
タは、VCSコントロールプレーンに記憶され得る。ERGホストが、そのネットワーク
構成がVCSコントロールプレーンによって直接制御されない可能性がある外部プレミス
に配置されるため、計算インスタンス起動コマンド(および/またはVCSコントロール
プレーンで生成された他の構成コマンド)は、ERGホストに向かう途中で、異なる実施
形態では、様々な方式で変換する必要があり得る。そのような変換はまた、様々な実施形
態では、VCS、および代わってERGがセットアップされるクライアントのセキュリテ
ィ要件が満たされることを確実にし得る。前述のように、クライアント要求(例えば、E
RGでインスタンスを起動するための要求など)がVCSコントロールプレーンで(例え
ば、VCSのパブリックアプリケーションプログラミングインターフェースを介して)受
信されるパスは、少なくともいくつかの実施形態では、対応するコマンドをVCSコント
ロールプレーンからERGへ送信するために使用されるパスとは異なる場合がある。
いくつかの実施形態では、VCS拡張サービスと呼ばれる内部サービスを確立して、V
CSコントロールプレーンからERGへの管理コマンドの安全な送信を含む、VCS E
RGの管理のいくつかの態様を処理することができる。そのような内部サービスは、VC
S拡張サービスと呼ばれ得、それ自体が、少なくともいくつかの実施形態では、1つ以上
の分離仮想ネットワーク(IVN530など)を含み得る。アウトバウンドコマンドコミ
ュニケータ(OCC)522(それ自体は、いくつかの実施形態では、VCS拡張サービ
スのホスト517にセットアップされた仮想マシンを使用して実装され得る)は、事実上
、少なくとも2つのネットワーク、すなわち、図示の実施形態では、VCSコントロール
プレーンIVN510(プロバイダネットワークのデータセンターで計算インスタンスを
起動するために使用することができる、SNARからのアドレスを有するホスト/サーバ
を含み得る)およびVCS拡張サービスIVN530の一部として構成されるか、または
それに結合され得る。いくつかの実施形態では、OCC522は、図5のVNI523A
および523Bなどの少なくとも2つの仮想ネットワークインターフェース(図4の文脈
で説明されるVNIと特徴および機能が類似するVNI)にプログラムで接続され得る。
523AなどのVNIのうちの1つは、VCSコントロールプレーンが、ERGに向けら
れるコマンドを送信することを可能にするように構成され得、一方、523Bなどの別の
VNIは、コマンドの少なくともバージョンをデスティネーションERGに向かって転送
するためにOCCによって使用され得る。少なくともいくつかの実施形態では、VNI5
23Aの構成設定は、コマンドがVNIを介してVCSコントロールプレーンから送信さ
れ得るが、コマンドがVNIを介してVCSコントロールプレーンに向けられ得ないこと
を確実にし得る。そのような構成設定は、図5に示されるパスの他のコンポーネントのい
ずれも、様々な実施形態では、VCSコントロールプレーンで望ましくない操作を開始す
ることができないことを確実にするのに役立ち得る。少なくともいくつかの実施形態では
、523AなどのVNIを使用して、OCC522は、(少なくとも)、OCC522が
コントロールプレーンコマンドの仲介者として機能するターゲットERGホスト529に
割り当てられるのと同じネットワークアドレス(SNARの一部)が割り当てられ得る。
したがって、VCSコントロールプレーンの観点から、OCCにメッセージを送信するこ
とは、そのような実施形態では、ERGホストにメッセージを送信することと(デスティ
ネーションネットワークアドレス指定に関して)同等であり得る。OCC522は、VC
Sコントロールプレーンからのコマンドを含むそのようなメッセージを受信すると、少な
くとも1つの実施形態では、ENMのアドレスをデスティネーションとして、変換された
メッセージ(コントロールプレーンのコマンドを含む、または示す)を生成し、それをE
NMで送信することができる。ENMが、変換されたバージョンを最終的に受信すると、
ENMは、次に、様々な実施形態では、最初のコマンドを抽出し、コマンドが最初にVC
Sコントロールプレーンで生成されたERGホストに転送することができる。様々な実施
形態では、OCC522が実行されるホスト517に割り当てられたネットワークアドレ
スは、OCC自体に割り当てられたネットワークアドレスとは異なり、SNAR591(
計算インスタンスが起動され得るホストのVCSコントロールプレーンで使用されるアド
レス範囲)の一部でもあり得る。
少なくともいくつかの実施形態では、OCC522はまた、VCSコントロールプレー
ンから受信されたコマンドに関して、1つ以上の追加のセキュリティ関連操作を実行する
ことができる。例えば、コマンドの1つ以上のセキュリティ関連アーティファクト/オブ
ジェクト(VCSコントロールプレーンで最初に生成されたベアラトークンなど)は、デ
スティネーションERGに向かって送信されるメッセージで削除、置換、および/または
修正される場合がある。一実施形態では、例えば、OCCで受信されたコントロールプレ
ーンコマンドのバージョンは、1つ以上の暗号署名されたトークンを含み得、デスティネ
ーションERGに向けて送信されたコマンドのアウトバウンドバージョンは、OCCによ
って再署名されたトークンを含み得る。いくつかの実施形態では、クライアント要求に応
答してVCSコントロールプレーンで生成される所与の管理コマンドについて、(a)V
CSコントロールプレーンとOCCとの間、および(b)OCCと、スティネーションホ
ストへのパス上の1つ以上のリソースとの間で異なるTLSセッションを確立することが
できる。様々な実施形態では、そのようなタイプのセキュリティ関連操作は、OCCで実
行され得、VCSコントロールプレーンで発信されたセキュリティ関連データまたはメタ
データがデスティネーションERGに到達しないことを確実にすることを試み、したがっ
てそのようなセキュリティ関連のデータ/メタデータの誤用の可能性を低減する。
いくつかの実施形態では、VCS拡張サービスIVN530、および/または個々の仮
想化ホスト517は、マルチテナント様式で使用することができる。例えば、複数のVC
SクライアントのERGにコントロールプレーンコマンドを送信するために使用されるい
くつかの異なるOCC522は、一実施形態では、同じ拡張サービスIVN530の一部
として構成され得る。いくつかの実施形態では、異なるクライアントの複数のOCCを所
与のホスト517で確立することができ、または単一のOCCを使用して、複数のクライ
アントのERGにコマンドを送信することができる。いくつかの実施形態では、単一のO
CCを使用して複数のERGホストにコマンドを送信することができ、他の実施形態では
、ERGホストごとに1つのOCCを使用することができる(複数の計算インスタンスが
所与のERGホストに潜在的にセットアップされ得ることに留意されたい)。少なくとも
いくつかの実施形態では、OCCは、VCSコントロールプレーンで発行されたコマンド
に対して1つ以上の変換またはカプセル化操作を実行することができる。例えば、あるシ
ナリオでは、VCSコントロールプレーンコマンドは、IPアドレスA.B.C.D(S
NARアドレスの1つ)を有するホストを使用して、特定のERG541Aで特定の顧客
C1に代わって計算インスタンスを起動することを示し得る。OCC(それ自体は、上記
のいくつかの実施形態では、アドレスA.B.C.Dも割り当てられている可能性がある
)は、コマンドが最終的に送信され、ホストで実装される前に、コマンドがERG541
AのERGネットワークマネージャ528に送信されなければならないことを判定し得る
。OCCはまた、そのような実施形態では、ENM528が異なるIPアドレスK.L.
M.N(K.L.M.Nは、ターゲットホストが配置される外部プレミス535Aで使用
される顧客のネットワークアドレス範囲(CNAR)593の一部である)を使用してア
クセスされることを判定する場合がある。いくつかの実施形態では、OCCは、コマンド
の変換バージョン/カプセル化バージョンを含むメッセージを生成することができ、メッ
セージのデスティネーションアドレスは、K.L.M.Nとして示される。メッセージは
、図示の実施形態では、1つ以上の追加のVNI(VNI523Cおよび523Dなど)
、および顧客C1のIVN515への中間のIVN間ゲートウェイ540を介して送信さ
れ得る。IVN間ゲートウェイ540は、いくつかの実施形態では、仮想マシンまたは計
算インスタンスを使用して実装することができ、そこでパケット処理ソフトウェアを実行
することができる。少なくともいくつかの実施形態では、メッセージまたはコマンドの1
つ以上の他の操作/変換は、IVN間ゲートウェイ540で実行され得、例えば、ERG
541Aでメッセージをその意図されたデスティネーションに向けて送信するために必要
なアドレス変換操作を含む。
図5に示されるように、C1のIVNは、少なくともいくつかの実施形態では、プロバ
イダネットワーク内のホストで確立されたいくつかの数の仮想マシン525を含み得る。
メッセージは、顧客IVN525に入った後、例えば、図示の実施形態では、1つ以上の
VPNトンネル561を使用して、デスティネーションERG541AでENMに送信さ
れ得る。プロバイダネットワークとERGとの間の安全な接続のためにVPNトンネルを
使用する代わりに、いくつかの実施形態では、専用の物理リンク(ERG 541BをI
VN515に接続する専用リンク562など)が使用され得、および/または他のタイプ
のネットワークが使用され得ることに留意されたい。専用の物理リンク562は、いくつ
かの実施形態では、直接接続リンクと呼ばれ得る。ERG541がプロバイダネットワー
クの外部の外部プレミス(プレミス535Aまたは535Bなど)で最初にセットアップ
されるとき、ERGのENMは、少なくともいくつかの実施形態では、VPNトンネル5
61の確立、および/または専用リンク562を介した接続の確立を開始し得、ERGに
使用される特定の安全なチャネルに関する情報は、OCC522に提供され得る。図5に
示されていない1つ以上の中間デバイスは、VPNトンネルの確立、および/または専用
の物理リンクを介した接続に関与し得、例えば、VPNゲートウェイは、顧客IVN51
でセットアップされ得、および/またはエッジルータまたは他のエッジデバイスは、専用
の物理リンクを介した接続の仲介者として機能し得ることに留意されたい。
少なくともいくつかの実施形態では、ERG541のデバイスは、外部プレミス535
の1つ以上のラック内にセットアップすることができる。所与のラックは、例えば、スイ
ッチ527、ENM528、およびVCSコントロールプレーンで生成されたコマンドに
応答して計算インスタンスがセットアップされ得るホスト529のセット(例えば、52
9A、529B、…)を含み得る。少なくともいくつかの実施形態では、ENM528は
、外部プレミスの少なくとも2つのネットワークの一部として構成され得るか、またはそ
れに属することができる。ネットワークのうちの1つは、いくつかの実施形態では、ER
Gのホスト529の少なくともサブセットを含むプライベートネットワーク531Bであ
り得る。このプライベートネットワーク531B内で、個々のホストは、VCSサービス
ネットワークアドレス範囲(SNAR)591内からネットワークアドレスが割り当てら
れ得る(例えば、ホスト初期化操作の一部としてENM528によって)。そのため、E
NM528が、VCSコントロールプレーンで生成されたコマンドを受信すると、SNA
R内のアドレスA.B.C.Dを有するホストでコマンドが実行されることを示し、EN
Mは、少なくともいくつかの実施形態では、プライベートネットワーク531Bを使用し
て、実行のコマンドを、意図されたホストに向ける。ENM528はまた、図示の実施形
態では、顧客構成ネットワーク531Aのメンバーであり得、それは、クライアントの0
個以上の非VCSホスト542を含み得る。クライアント構成ネットワーク531A内の
デバイスは、少なくともいくつかの実施形態では、顧客のネットワークアドレス範囲CN
AR593からのアドレスが割り当てられ得る。したがって、例えば、ネットワーク53
1Aのコンポーネントとして、ENM528はまた、CNAR593からアドレスK.L
.M.Nが割り当てられ得、このアドレスは、ENMでVCSコントロールプレーンコマ
ンドを受信するために使用され得る。
要約すると、図5に図示される実施形態では、VCSコントロールプレーンで最初に生
成され、1つ以上の他の仲介者を含むパスを介して送信されるコマンドは、最終的に、E
NMで、顧客構成ネットワーク531Aの一部であるネットワークアドレスを介して受信
され得る。パスに沿って、例えば、様々な実施形態では、ネットワークアドレス変換、カ
プセル化、カプセル化解除などを含む1つ以上の変換操作が、最初のコマンドに対して実
行され得る。複数のVNIが接続されたOCC、IVNからIVNへのゲートウェイなど
、各々がネットワークトラフィックに関してそれぞれの独立したセキュリティ操作を実装
することができるいくつかの仲介者を使用すると、様々な実施形態では、不正なエンティ
ティが、VCSおよび/またはERGで望ましくない操作を実行することができる可能性
を低減することに役立ち得る。最初のコマンドを含むまたは表すメッセージがENMで受
信された後、ENMは、図示の実施形態では、最初のコマンドを抽出し、プライベートネ
ットワーク531Bを使用して、ターゲットホストにコマンドを送信することができる。
ターゲットホストで、コマンドは、実行され得る(例えば、起動コマンドの場合、ターゲ
ットホストでの1つ以上の計算インスタンスのインスタンス化をもたらす)。VCSコン
トロールプレーンの観点から、先に示したように、ホスト529は、図示の実施形態では
、プロバイダネットワーク内に配置されたホストが扱われるのと同じ方式で(少なくとも
ネットワーキングのいくつかの態様に関して)扱われ得る。所与のERG内で、例えば、
ネットワークトラフィックは、様々な実施形態では、プロバイダネットワークに配置され
たホスト内を流れる方式と同様に、ホスト529間を流れることができ、例えば、高速の
高帯域幅のホスト間ネットワークリンクがサポートされ得る。ERGは事実上、顧客のI
VN515の拡張を表し得るため、ERG内の計算インスタンスに割り当てられたネット
ワークアドレスは、少なくともいくつかの実施形態では、(例えば、顧客によって)IV
N515で使用されるアドレスの範囲(例えば、CNARまたはSNARとは異なる範囲
)から選択することができることに留意されたい。
いくつかの実施形態では、ENM528は、図2に示されるオフロードされた仮想化管
理コンポーネント(OVMC)269と同様に、周辺インターフェースを介してホストま
たはサーバに接続されたハードウェアカードを少なくとも部分的に使用して実装され得る
。他の実施形態では、ENM実装に関して他のアプローチをとることができ、例えば、オ
ペレーティングシステムプロセスまたはスレッドとして実装することができる。少なくと
も1つの実施形態では、ENM528は、必ずしもホスト529のいくつかと同じラック
内に同じ場所に配置され得ず、例えば、ERGホストのいくつかのセットに使用されるも
のとは別個のラックまたは他の物理的コンテナが、1つ以上のENMに使用され得る。少
なくとも1つの実施形態では、ENMは、ERGのホストに関して少なくともいくつかの
DHCP(動的ホスト構成プロトコル)操作を実行することができる(例えば、ENMは
、DHCPサーバとして機能することができる)。いくつかの実施形態では、図5の文脈
で考察された1つ以上の操作は、VCSコントロールプレーンコマンドをERGホストに
送信するワークフローの一部として必ずしも実行され得ず、例えば、仲介者の異なる組み
合わせが使用され得るか、または変換の異なる組み合わせがメッセージまたはコマンドに
適用され得る。
例示的なERGネットワークマネージャ
ERGで1つ以上のコンピューティングデバイスを使用して実装された拡張リソースグ
ループネットワークマネージャ(ENM)(図1の文脈で導入されたERG135と機能
および特徴が同様の)は、様々な実施形態では、いくつかの異なる種類の操作を担当し得
る。図6は、少なくともいくつかの実施形態による、拡張リソースグループネットワーク
マネージャの例示的な要素を例解する。ENM605のプロバイダネットワーク接続マネ
ージャ603は、図示の実施形態では、プロバイダネットワークデータセンターのリソー
スへの/リソースからの1つ以上の安全な通信チャネルの確立を開始するか、またはその
確立に参加することができる。少なくともいくつかの実施形態では、例えば、VPNトン
ネルを安全なチャネルに使用することができる。
ENM605のローカルプレミス接続マネージャ607は、事実上、図示の実施形態で
は、ERGのVCS管理仮想マシンと、ERGがセットアップされる場所に存在する非V
CSリソースとの間のエッジデバイスとして機能し得る。少なくともいくつかの実施形態
では、1つ以上のパブリックIPアドレスをERGに指定することができ、ERGの外部
のリソースがERG内のVMと通信することを可能にする。ローカルプレミス接続マネー
ジャは、例えば、少なくともいくつかの実施形態では、パブリックからプライベートへの
IPアドレスマッピング、ならびにプライベートからパブリックへのIPアドレスマッピ
ングを実装することを担当し得る。例えば、デスティネーションVMが、ERG内のプラ
イベートIPアドレスが割り当てられるデスティネーションアドレスとしてパブリックI
Pアドレスを使用してERG内のVMにアドレス指定されるパケットの場合、パブリック
からプライベートへのアドレス変換が実行され、同様に、対応するプライベートからパブ
リックへのIPアドレス変換は、逆方向に流れるパケットに対して実行され得る。ERG
のインバウンド/アウトバウンドデータプレーントラフィックのための他のカプセル化プ
ロトコルパケット処理は、異なる実施形態では、実行され得る。いくつかの実施形態では
、ENMは、例えば、以下でさらに詳細に考察されるように、ERGホストを含むプライ
ベートネットワークをセットアップすることを支援するために、少なくともいくつかのD
HCP機能を実行することができる。
ENM605のコントロールプレーンコマンドフォワーダ612は、図示の実施形態で
は、例えば、VCSコントロールプレーンから管理コマンド(ERGにセットアップされ
たOCCを介して送信された)を受信し、コマンドのコンテンツを分析し、ERGの選択
されたセキュリティ強化仮想化ホスト(EVH)におけるVCSコントロールプレーンエ
ージェントなど適切なデスティネーションにコマンドを転送する役割を果たすことを担当
し得る。いくつかの実装形態では、コマンドフォワーダ612は、コマンドを転送する前
に、受信したコマンドに対して1つ以上のバリデーション/ベリフィケーション操作を実
行し、および/またはコマンドの受信したバージョンに1つ以上の変換を適用することが
できる。
ENM605のERGホストブートストラップマネージャ617は、図示の実施形態で
は、ERGのEVHおよび/または他のリソース(仮想マシンのブートイメージをキャッ
シュするために使用されるストレージサーバなど)をブートストラップ/初期化/スター
トアップすることを担当し得る。少なくともいくつかの実施形態では、図6に示されるE
NMのすべての要素が同じコンピューティングデバイスで実行され得るわけではなく、代
わりに、要素のうちの1つ以上は、分散ENMアーキテクチャが使用される一実施形態に
おいて、それぞれのコンピューティングデバイスで実行され得ることに留意されたい。少
なくともいくつかの実施形態では、図6に示されるENM要素のうちの1つ以上は、EV
Hでインスタンス化された仮想マシンを使用して実装され得る。いくつかの実施形態では
、ENM605は、図6に示される要素とは異なる要素の組み合わせを含み得る。
例示的な仮想マシンおよびERGのファミリ
VM(プロバイダネットワークデータセンターリソースを使用して、またはERGを使
用してセットアップされるVM)の確立を要求するとき、VCSクライアントは、いくつ
かの実施形態では、様々なサポートされるVMタイプまたはカテゴリから選択することが
できる場合がある。同様に、少なくとも1つの実施形態では、機能の異なる組み合わせを
有する様々なERGタイプもサポートされ得、そこから、クライアントは、彼らのニーズ
に最も適合するERGタイプを選択し得る。図7は、少なくともいくつかの実施形態によ
る、仮想化コンピューティングサービスでサポートされ得る仮想マシンおよび拡張リソー
スグループの例示的なファミリを例解する。
図1の文脈で導入されたVCS110と同様のVCSのサポートされた仮想マシンタイ
プ705の標準化されたセットは、いくつかの実施形態では、汎用VMファミリ710、
計算最適化VMファミリ720、メモリ最適化VMカテゴリ730、ストレージ最適化V
Mファミリ740などのファミリに細分され得る。所与のVMがクライアントによって使
用されるアプリケーションの推定ニーズに応じて、適切なファミリからVMタイプを選択
することができる。異なるVMタイプの相対的なリソース能力は、VCSによって選択ま
たは定義されたユニット、例えば、コンピューティングの場合、特定のクロック速度で動
作する特定の既知のプロセッサとほぼ同等の性能である仮想CPUなどのユニットを使用
して表現することができる。ファミリは、定性的な考慮事項に基づいて選択することがで
き(例えば、アプリケーションミックスは、より多くのメモリを消費するか、またはより
多くの計算を消費するか?)、ファミリ内の特定のVMタイプ(例えば、汎用ファミリで
は、小712対中714対大716)は、所望の性能レベル、コストなどの考慮事項に基
づいて選択することができる。CO小VM 722、CO中VM724、またはCO大V
M726などの計算最適化VM720は、図示の実施形態では、例えば、汎用VMよりも
多くのおよび/または高速のプロセッサまたはコアを備えるホストを使用して実装され得
る。MO小VM732、MO中VM734、またはMO大VM736などのメモリ最適化
VM730では、コンピューティング能力に対するメモリの量(例えば、仮想CPUあた
りのメモリのギガバイト数)は、コンピューティング最適化VM720または汎用VMよ
りも高い場合がある。同様に、SO小VM742、SO中VM744、およびSO大VM
746を含むストレージ最適化ファミリ740では、ローカルストレージと計算能力の比
率(例えば、仮想CPUあたりのローカルソリッドステートデバイス(SSD)ストレー
ジのギガバイトの数)は、他のファミリよりも高い場合がある。図示の実施形態では、マ
イクロVM(mVM)の事前定義されたファミリ770は、その各々がその全体的なリソ
ース要件に基づいてマイクロVMとして適格であり得、また、サポートされ得る。図のよ
うに、mVM小カテゴリ772、mVM中カテゴリ774、および/またはmVM大カテ
ゴリ776をマイクロVMファミリに含めることができる。少なくともいくつかの実施形
態では、クライアントはまた、例えば、事前定義されたタイプのうちの1つと一致しない
、処理、ストレージ、およびメモリリソースのいくつかの組み合わせを特定することによ
って、自分たち自身のVMタイプを定義および使用することができる場合がある。いくつ
かの実施形態では、プロバイダネットワークデータセンターでセットアップすることがで
きるVMタイプのいずれかのインスタンスは、ERGでもセットアップすることができ、
他の実施形態では、VMタイプのそれぞれの異なるセットは、ERGおよびプロバイダネ
ットワークデータセンターでサポートされ得る。少なくともいくつかの実施形態では、前
述のように、ベアメタルインスタンスは、例えば、図7に示されるVMのタイプに加えて
、VCSまたはそのERGのホストでセットアップされ得る。
いくつかの実施形態では、いくつかのERGカテゴリ755は、VCSオペレータによ
って定義され得、クライアントが、プロバイダネットワークの外部の場所で彼らに代わっ
てセットアップされたERGの機能の特定の組み合わせを選択することを可能にする。E
RGタイプ(小ERG758、中ERG759および大ERG760)は、図示の実施形
態では、いくつかの側面のいずれかに従って互いに異なり得る。例えば、いくつかの実施
形態では、物理的なフットプリント(ERGデバイスのコレクションを含むラックに必要
なフロアスペースPF1、PF2、またはPF3)がERGタイプごとに異なる場合があ
り、電力需要(PD1、PD2、またはPD3)が異なる場合があり、計算能力(CC1
、CC2、CC3)が異なる場合があり、および/またはキャッシュされたVMイメージ
のセットCIS1、CIS2、またはCIS3が異なるERGタイプ間で異なる場合があ
る。少なくとも1つの実施形態では、ERGを要求するとき、クライアントは、VCSに
よってサポートされる特定のERGタイプと必ずしも一致しない仕様(物理的フットプリ
ント、電力需要、計算能力、キャッシュされたVMイメージなどに関して)を提供し得る
。1つのそのようなシナリオでは、VCSオペレータは、ERG仕様を受け入れ、対応す
る機器を引き渡すか、サポートされたERG構成に最も近いものをクライアントに表示す
る(必要に応じてクライアントが注文することができる)。一実施形態では、単一のタイ
プのERGのみが、VCSオペレータによってサポートされ得る。
例示的なプログラム相互作用
様々な実施形態では、VCSクライアントは、図1の文脈で導入されたERG135と
同様のERGをセットアップおよび使用することに関連付けられた要求を送信するために
、いくつかのプログラムインターフェースを使用することができる。図8は、少なくとも
いくつかの実施形態による、仮想化コンピューティングサービスの拡張リソースグループ
に関する例示的なプログラム相互作用を例解する。VCS812は、例えば、アプリケー
ションプログラミングインターフェース(API)、ウェブベースのコンソール、グラフ
ィカルユーザインターフェース、コマンドラインツールなど、図示の実施形態では、1つ
以上のプログラムインターフェース877を実装することができ、それらの任意の組み合
わせは、VCSと相互作用するためにVCSクライアント810によって使用され得る。
クライアント810は、例えば、プログラムインターフェース877を介してSetu
pERG要求814を提出して、VCS自体のデータセンターの外部の指定された場所で
拡張リソースグループを構成することを要求することができる。ERGの複数のカテゴリ
がサポートされる実施形態(図7の文脈で考察されたERGタイプ755と同様)では、
セットアップされる特定のタイプのERGは、要求814のパラメータ(示されるERG
カテゴリパラメータなど)を介して示され得る。他のパラメータは、例えば、ERGが確
立される場所、ERGデバイス/機器のコレクションが引き渡されるべき期間などの制約
などを示し得る。SetupERG要求814に応答して、プロバイダネットワークで実
行される様々な予備タスクを含むワークフローは、いくつかの実施形態では、開始され得
、セットアップ開始815などの応答メッセージがクライアントに送信され得る。少なく
とも1つの実施形態では、アウトバウンドコマンドコミュニケータ(OCC)インスタン
ス(上で考察された種類のVCS拡張サービス内の仮想マシンなど)は、予備タスクワー
クフローの一部として、要求されたERGに対してインスタンス化または指定され得る。
そのようなOCCは、いくつかの実施形態では、事実上、ERGネットワークマネージャ
からの連絡がくることを積極的に待つことができる。もちろん、ERGネットワークマネ
ージャは、少なくともいくつかの実施形態では、ERG機器が対象の外部ロケーションに
引き渡され、電源がオンにされ、インターネットに接続されるまでなど、OCCとの通信
することを試みることができない場合があり、それは、SetupERG要求がVCS8
12で処理された後、ある程度の時間生じ得る。いくつかの実施形態では、VCSのOC
Cマネージャ892は、OCCインスタンスをインスタンス化すること、および/または
どの特定のOCCインスタンスが所与のERGに使用されるかを判定することを担当し得
る。少なくとも1つの実施形態では、所与のOCCインスタンスは、例えば、マルチテナ
ント操作モードで、1つ以上のVCSクライアントのいくつかの異なるERGに使用する
ことができる。
図示の実施形態では、VCS812は、ERGが引き渡され、所望の場所で初期化され
た後、ERGOnlineメッセージ816をクライアント810に送信することができ
、クライアントがERGの使用を開始することができることを示す。いくつかの実施形態
では、暗黙の通信を使用して、明示的なメッセージではなく、要求されたERGが使用す
る準備ができていることをクライアントに通知することができ、例えば、コンソール内の
要求されたERGのエントリは、ERGが使用に利用可能になったことを視覚アイコンを
介して示すことができる。少なくともいくつかの実施形態では、ERGOnlineメッ
セージと同等のものがクライアントに送信される前に、1つ以上の前提条件が満たされな
ければならない場合があり、例えば、OCCインスタンスが管理コマンドをERGに送信
するために使用することができる安全な通信チャネルを確立する必要がある場合、少なく
ともいくつかの最小数の仮想化ホストを正常にブートする必要がある場合、などがある。
VCSクライアント810は、図示の実施形態では、プログラムインターフェース87
7を使用して、指定されたERG(例えば、パラメータERGIDによって示される)と
して1つ以上の仮想マシンを起動するための要求817を提出することができる。要求8
17は、少なくともいくつかの実施形態では、対応するコマンド(複数可)をERGに送
信するために使用される一方向経路とは異なる経路によって、VCSコントロールプレー
ンに送信され得る。VM(複数可)を起動するためのコマンドがOCCからERGに送信
された後、起動が開始されたことを示すメッセージ821は、いくつかの実施形態では、
クライアントに送り返され得る。少なくともいくつかの実施形態では、LaunchIn
itiatedメッセージ821は、VM(複数可)を起動するためのコマンドがERG
に送信されたことを単に示し得、ERGのEVHでVMを起動するための作業を実際に実
行するVCSエージェントプロセスは、そのような実施形態では、起動が成功したかどう
かを確認するアウトバウンド管理メッセージを必ずしも送信しない場合があることに留意
されたい。
いくつかの実施形態では、DescribeERG要求823は、クライアント810
によって提出され、ERGのコンテンツおよび/またはステータスに関する情報を取得す
ることができ、要求された情報は、ERGInfoメッセージ825の形態で提供され得
る。いくつかの実施形態では、情報は、例えば、ERGを使用する(例えば、ERGでV
Mを起動または終了させる)ことを許可されたエンティティのリスト、ERGのEVHお
よび/またはVMのセット、ERG(もしあれば)でのVMイメージキャッシュのセット
、ERGがセットアップされた日付、ERG請求書関連データなどを含み得る。
少なくともいくつかの実施形態では、クライアント810は、例えば、所望の変更を示
すmodifyERG要求828を提出することによって、ERGの修正を要求すること
ができる。そのような変更には、例えば、ERGのEVHの数を増やすか、または減らす
ための要求、ERGを使用することを許可されたユーザ/グループ/エンティティのセッ
トを修正するための要求などが含まれ得る。要求された修正がVCSの適用可能なルール
およびポリシーに基づいて対応することができる場合、図示の実施形態では、変更を実装
するための対応するワークフローを開始することができ、変更ワークフローが進行中であ
ることを示すModifyInitiatedメッセージ833をクライアントに送信す
ることができる。一実施形態では、クライアント810は、ERGがもはや必要とされな
いことを示すためのUnconfigureERG要求841を提出することができる。
応答として、VCSは、ERGへのアクセスを終了させ、ERGのためにセットアップさ
れた機器をシャットダウンし、取り外し、運び去るためのワークフローを開始することが
でき、いくつかの実施形態では、ERGUnconfiguredメッセージ843をク
ライアントに送信して、ワークフローが開始されたこと、およびプログラム要求でもはや
ERGにアクセス可能でないことを示すことができる。少なくともいくつかの実施形態で
は、図8に示されるものとは異なるプログラム相互作用のセットが、ERG関連操作のた
めにサポートされ得る。
例示的なVM起動ワークフロー
図9は、少なくともいくつかの実施形態による、拡張リソースグループで仮想マシンを
起動することに関連付けられた例示的なワークフローを例解する。図9に示される例示的
なシナリオでは、ERG934は、VCSクライアントの要求に応じて顧客データセンタ
ー930にセットアップされている。クライアントは、データセンター930にたまたま
配置され得るデバイス932(例えば、ラップトップ、デスクトップなど)を使用して、
仮想マシンを起動するための要求(LaunchVM(ERGID)要求971)を送信
することができ、ワークフローのステップ1に示されるように、VMがERG934で起
動されることを示す。LaunchVM要求が提出されるネットワークパスは、クライア
ントがVCSのパブリックAPIを介して提出する他のVCS要求に使用されるパスと同
じであり得、そのため、このパスは、OCC911によってVCSコントロールプレーン
コマンドをERGに送信するために特別にセットアップされた一方向の安全なチャネルを
含まない場合がある。少なくとも1つの実施形態では、VCSは、地域データセンター9
10などのプロバイダネットワークの複数の地域データセンターを使用して実装され得る
。地域データセンターの個々のデータセンターは、例えば、プロバイダネットワークがサ
ービスを提供する様々な大都市圏、州、または国にセットアップすることができる。いく
つかの実施形態では、特定のVCSクライアントがプログラム要求を提出するとき、それ
は、例えば、要求が提出されるソースIPアドレスに基づいて、またはクライアントのア
カウントがデフォルトで関連付けられる「ホーム」領域に基づいて、特定の地域データセ
ンターにルーティングされ得る。
図9に描写される実施形態では、地域データセンター910内のコントロールプレーン
デバイス912は、LaunchVM要求971を取得し、要求内容を処理し、Lanc
hVMコマンド972の内部バージョンを、VMがインスタンス化される(ワークフロー
のステップ2に示されるように)ERGに関連付けられたOCC911に送信することが
できる。少なくともいくつかの実施形態では、個々のERGで仮想マシンを起動すること
を許可されたユーザ/グループ/エンティティを示すデータベース931は、VCSで維
持され得、コントロールプレーンデバイス912でのLaunchVM要求の処理の一部
は、データベース731を使用して、リクエスタが、指定されたERGで指定されたタイ
プのVMを起動することを許可されることを検証することを含み得る。一実施形態では、
OCC911は、クライアントによって提出された要求および/またはLaunchVM
コマンドの内部バージョンを処理/検証することに参加することができる。
VM起動に関する処理および/または検証操作が正常に完了した後、図示の実施形態で
は、ワークフローのステップ3の一部として、コマンドの変換されたバージョンが、OC
C911から安全な一方向チャネル973を介してERG934のERGネットワークマ
ネージャ(ENM)935に送信される。OCCで実行される操作の一部として、いくつ
かの実施形態では、1つ以上のセキュリティトークンをコマンドで削除または置換するこ
とができ、HMACなどのメッセージ認証コードをコマンドに対して作成することができ
、コマンドのエントリをOCC911によるログで記憶することなどを行うことができる
ENM935は、図示の実施形態(ワークフローのステップ4)では、要求された仮想
マシンのために選択された特定のEVH937で、受信したコマンドをVCSコントロー
ルプレーンエージェント935に転送することができる。いくつかの実施形態では、EN
Mおよび/またはエージェント935は、VMのリクエスタが、ERGにローカルなデー
タベース938に示される許可されたランチャの中にあることを再検証することができる
。少なくとも1つの実施形態では、ENMおよび/またはエージェントはまた、OCCか
ら受信したコマンドを示すログエントリを記憶することができる。どの特定のEVH93
7を使用するかに関する判定は、異なる実施形態では、いくつかのアプローチのいずれか
を使用して行うことができる。一実施形態では、クライアントは、例えば、最初のLan
uchVM要求において、指定されたERGでのVMに使用される特定のEVHを示すこ
とができる場合がある。他の実施形態では、VCSコントロールプレーンデバイス912
で動作している1つ以上の配置マネージャは、要求されたVMを起動すべき特定のEVH
937を選択することができる。いくつかの実施形態では、OCC911および/または
ENM935は、要求されたVMのために特定のEVHを選択することを担当し得る。L
aunchVMコマンドがEVH937でVCSコントロールプレーンエージェント93
5に送信された後、要求されたタイプの新しいVM922は、例えば、図2の文脈で以前
に考察されたものと同様の技術を使用して、図示の実施形態では、インスタンス化され得
る。様々な実施形態では、図9に示されるものと同様のメッセージパターンは、他のタイ
プの要求および対応するコマンドに使用され得、例えば、クライアントは、ERGに向け
られた対応するVCSコントロールプレーン発行の終了コマンドに使用されるものとは異
なる経路を使用して、ERGでVMを終了させるための要求を提出することができる。い
くつかの実施形態では、図9に示されるものとは異なるワークフローを使用して、ERG
で仮想マシンを起動することができ、および/または他のタイプのクライアント送信要求
を履行することに関与するメッセージに異なる経路を使用することができる。
ERGでの追加のプロバイダネットワークサービスの例示的な使用
いくつかの実施形態では、仮想化コンピューティングサービスが実装されるプロバイダ
ネットワークはまた、VCS仮想マシンをビルディングブロックとして利用する他のより
高いレベルのネットワークアクセス可能なサービスへのアクセスを提供し得、例えば、デ
ータベースのインスタンスは、仮想マシンを使用して実装され得、ネットワークアクセス
可能なデータベースサービスのクライアントが使用するために提供され得る。様々な実施
形態では、そのようなより高いレベルのサービスはまた、例えば、サービスの特徴を実装
するためにERG内にセットアップされたローカルVMを使用して、ERGで利用可能に
され得る。加えて、VCS仮想マシンに直接依存しないプロバイダネットワークの他のサ
ービスはまた、いくつかの実施形態では、そのようなサービスが、プロバイダネットワー
クデータセンター内でセットアップされたVMからアクセス可能である方式と同様の様式
で、ERGでセットアップされたVMからアクセスされ得る。図10は、少なくともいく
つかの実施形態による、仮想化コンピューティングサービスの拡張リソースグループでの
追加のプロバイダネットワークサービスの使用の例を例解する。
図示の実施形態では、プロバイダネットワーク1001は、少なくとも仮想化コンピュ
ーティングサービス(VCS)(図1のVCS110と機能および特徴が類似している)
、ストレージサービス1030、およびデータベースサービス1042を含む。VCSの
一部分1010は、プロバイダネットワークデータセンターに配置されたリソースを使用
して実装され得、VCSの拡張は、1つ以上の非VCSサーバ1023も含む顧客データ
センター1032内に配置されたERG1035などのプロバイダネットワークの外部の
場所にセットアップされ得る。
図10に描写される例示的なシナリオでは、以前に考察された種類の分離仮想ネットワ
ーク(IVN)1015が、VCSクライアントのために確立されている。IVN101
5は、VCSのプロバイダネットワークデータセンター部分1010内の複数の仮想マシ
ン(VM1017Aおよび1017Bなど)、および顧客データセンター1032に配置
されたERG1035内の複数の仮想マシン(1018Jおよび1018Kなど)を含む
。VMのいずれかで実行されているプログラムは、図示の実施形態では、他のプロバイダ
ネットワークサービスのリソースを利用することができる。例えば、ストレージサービス
1030のストレージインスタンス1022は、プロバイダネットワーク内のVM101
7Bから、およびERG1035内のVM1018Kからアクセスされ得、同様に、デー
タベースサービス1040のデータベースインスタンス1042は、プロバイダネットワ
ーク内のVM1017Aから、およびERG内のVM1018Jからアクセスされ得る。
図示の実施形態では、ERG1035内のVMは、他のプロバイダネットワークサービス
へのアクセスを提供され得、それは、プロバイダネットワーク内でインスタンス化された
VMに提供されるアクセスと論理的に同等である。ERG1035自体の中で、VCS仮
想マシン上に構築されるサービス(すなわち、VMをビルディングブロックとして使用す
るサービス)の構成および使用は、ERGの外部のリソースにアクセスする必要なく、図
示の実施形態では、ローカルに実行され得る。例えば、DBサービス1040のデータベ
ースインスタンスがVCSの仮想マシンを含む一実施形態では、新しいデータベースイン
スタンスは、ERG VM1018Jを使用して、別のERG VM1018KからのD
Bインスタンスの要求に応答して、ERG内にローカルに作成され得る。したがって、図
示の実施形態では、代わってERG1035がセットアップされたVCS顧客にとって、
1018Jおよび1018KなどのERGベースの仮想マシンは、プロバイダネットワー
ク内でインスタンス化される1017Aおよび1017BなどのVMと機能的に同等であ
るように見える場合があり、ただし、VCSのコントロールプレーンコンポーネントは、
プロバイダネットワークデータセンター内に実装されており、ERGでは複製されない。
少なくともいくつかの実施形態では、万一、ERGとプロバイダネットワークデータセン
ターとの間の接続が中断された場合、ERGで既にインスタンス化されたVM、およびE
RGでセットアップされた他のサービス(上述のデータベースサービスなど)のリソース
インスタンスは、少なくとも一定期間は機能し続けることができ、そのため、クライアン
トがERGを使用するために、プロバイダネットワークデータセンターへの継続的な接続
は必要ない場合がある。
プロバイダネットワークサービス拡張の方法
図11は、少なくともいくつかの実施形態による、拡張リソースグループを確立し、仮
想マシンを拡張リソースグループでセットアップすることを可能にするために、プロバイ
ダネットワークで実行され得る操作の態様を例解するフロー図である。図のように、要素
1101において、プロバイダネットワークの外部のプレミスでセットアップすることが
できる、プロバイダネットワークの仮想化コンピューティングサービスの拡張リソースグ
ループ(ERG)カテゴリ(例えば、「小」ERG、「大」ERGなど)のファミリの表
示は、任意選択で、例えば、VCSのプログラムインターフェースを介して提供すること
ができる。ERGは、例えば、VCSの顧客に代わって、VCS管理計算インスタンス(
仮想マシンおよびベアメタルインスタンスなどを含む)を、インターネットにアクセス可
能な任意の場所(顧客のデータセンター、コロケーション設備、電気通信会社、エネルギ
ー会社などの組織のリモートフィールドロケーション)でセットアップして、安全に管理
することを可能にし得る。所与のERGは、例えば、少なくともいくつかの実施形態では
、1つ以上の強化されたセキュリティ仮想化ホスト(EH)などの事前構成された強化さ
れたリソースのそれぞれのセットを含み得る。
少なくとも1つの実施形態では、VCSコントロールプレーンコマンドをプロバイダネ
ットワークデータセンターからERGに安全に送信するためのアウトバウンドコマンドコ
ミュニケータ(OCC)インスタンスをセットアップすることができる。例えば、一実施
形態では、1つ以上のプロバイダネットワークデータセンターでERG管理のために特別
にセットアップされた特定の分離仮想ネットワーク(IVN)内で、クライアントによっ
て要求された特定のERGに割り当てられたアウトバウンドコマンドコミュニケータイン
スタンスOCC1を確立することができる(要素1104)。いくつかの実施形態では、
VCS計算インスタンスを使用して、OCCの機能の少なくとも一部分を実装することが
できる。OCC1は、一実施形態では、ERGのプログラム要求がVCSで受信されると
き、例えば、クライアントによって示された外部場所でのERGリソースの配信/展開の
前に確立され得る。
OCC1では、(a)プロバイダネットワークのデータセンター内のクライアントリソ
ースのいくつかのセットと(b)ERGとの間の通信のために確立された安全なネットワ
ークチャネルの表示が、図示の実施形態では、取得され得る(要素1107)。チャネル
は、例えば、ERGのネットワークマネージャとプロバイダネットワークデータセンター
内のクライアントIVNとの間にセットアップされたVPNトンネル、および/またはク
ライアントのトラフィックのために指定された専用の物理リンクを介して確立された接続
を含み得る。安全なチャネルが確立された後、ERG操作に関するプログラム要求(例え
ば、ERGで計算インスタンスを起動するための要求)は、様々な実施形態では、ERG
がその代わりにセットアップされるクライアントによって、VCSコントロールプレーン
デバイス(例えば、プロバイダネットワークデータセンター内のサーバで動作しているA
PIハンドラ)に送信することができる。
様々な実施形態によると、クライアント要求に応答してVCSコントロールプレーンで
生成された仮想マシン起動コマンド(または他の管理コマンド)がERGに送信されると
いう判定が、OCC1でなされ得る(要素1110)。コマンドが実行されるEHのアド
レスAddr1は、プロバイダネットワークのデータセンター内に配置された少なくとも
いくつかのホストのVCSコントロールプレーンによって使用されるアドレス範囲の一部
である可能性がある。1つの例示的なシナリオでは、OCC1は、それに関連付けられた
1つ以上の仮想ネットワークインターフェースを有し得、そのようなコマンドの表示は、
VCSコントロールプレーンに関連付けられ、OCC1に接続された特定の仮想ネットワ
ークインターフェースVNI1を介してOCC1で取得され得る。OCC1自体は、前に
考察されたように(例えば、VNI1のアドレスを設定することによって)少なくともい
くつかの実施形態では、ターゲットホストEHのアドレスが割り当てられ得る。少なくと
もいくつかの実施形態では、VCSコントロールプレーンコマンドの生成につながったク
ライアント要求は、OCC1とERGとの間にセットアップされた安全なネットワークチ
ャネルを含まないパスを使用して、VCSコントロールプレーンで受信され得ることに留
意されたい。少なくとも1つの実施形態では、VNI1のセキュリティ設定は、メッセー
ジがOCC1からVCSコントロールプレーンに送信されることを許可しない場合がある
OCC1は、図示の実施形態では、安全なチャネルを使用して、コマンドの変換された
バージョン(例えば、ERGでのセキュリティアーティファクトの誤用の可能性を低減す
るためにいくつかのセキュリティアーティファクトが除去/置換/再署名された)をER
Gに送信することができる(要素1113)。一実施形態では、コマンドの変換されたバ
ージョンは、例えば、図5の文脈で考察されたものと同様の1つ以上の追加の仲介者を含
むパスを介して、最初にERGのネットワークマネージャ(ENM)に送信され得る。コ
マンドを含むメッセージをENMに配信するために使用されるアドレスは、いくつかの実
施形態では、外部プレミスにセットアップされた第1のネットワークのアドレス範囲、例
えば、VCSコントロールプレーン内で使用されるアドレスとは関係なくクライアントに
よって選択されたアドレス範囲の一部であり得る。コマンドは、ENMによってEHに転
送される場合がある。いくつかの実施形態では、1つ以上のアドレス変換は、コマンドを
ERGに伝達するために使用されるメッセージ(複数可)が横断するパスに沿って実行さ
れ得る。いくつかの実施形態では、VCSコントロールプレーンコマンドは、ERG内の
ENMまたは他のリソースに送信される前に、必ずしも変換される必要はない。
ERGでは、いくつかの実施形態では、コマンドの変換されたバージョンは、EH内で
インスタンス化されたVCSコントロールプレーンエージェントで取得され得る。少なく
とも1つの実施形態では、EHは、外部プレミスでセットアップされた第2のネットワー
ク内でアドレスAddr1が割り当てられ得る。いくつかの実施形態では、ENMは、外
部プレミスでの両方のネットワーク、すなわち、クライアントによって構成されたもの、
およびVCSコントロールプレーンで使用される範囲からのアドレスがホストに割り当て
られる第2のネットワークの一部であり得る。EHでのエージェントは、例えば、新しい
計算インスタンスを起動することができ、既存の計算インスタンスを終了することができ
るなど、要求されたアクションをEVHで実行させることができる(要素1116)。図
示の実施形態では、クライアントによって提出された追加の要求に関して同様のワークフ
ローを実行することができ、例えば、要素1110~1113に対応する操作は、ERG
が操作可能である限り、様々なクライアント要求に対して繰り返され得る。クライアント
はまた、様々な実施形態では、ERG自体の構成に関する様々な要求、例えば、図8の文
脈で考察されたように、ERGを表示、変更、または終了させるための要求をVCSコン
トロールプレーンに提出することができ、VCSは、要求された操作を実行することがで
きる。
図12は、少なくともいくつかの実施形態による、仮想化コンピューティングサービス
の拡張リソースグループで実行され得る操作の態様を例解するフロー図である。要素12
01に示されるように、プロバイダネットワークのVCSの拡張リソースグループ(ER
G)(例えば、プリインストールされたソフトウェア/ファームウェアを有する強化され
たセキュリティサーバまたはホストの1つ以上のラックまたは他のコンテナ)は、物理的
に配信され得、ERGに提出されたプログラム要求に応答して、ある場所にセットアップ
される。機器がセットアップされる場所は、少なくともいくつかの実施形態では、顧客デ
ータセンター、コロケーション設備、または電気通信会社またはエネルギー会社などの組
織の遠隔作業場所など、プロバイダネットワーク自体のデータセンターの外部のプレミス
を含み得る。
1つ以上のトリガ信号(ERGの1つ以上のデバイスでスイッチがオンになっているこ
と、および/またはERGからインターネットへの接続が有効になっているという表示と
同じくらい簡素であり得る)に応答して、少なくともERGネットワークマネージャ(E
NM)の一部分は、いくつかの実施形態では、ERGの1つ以上のリソースを使用して、
インスタンス化または開始され得る(要素1204)。一実施形態では、ENMの機能の
少なくとも一部分は、ハードウェアカード(例えば、PCIカード)に実装され得る。E
NMは、他の実施形態では、ERGの1つ以上のコンピューティングデバイスまたはホス
トでの実行の1つ以上のプロセスまたはスレッドを含み得る。ENMは、図示の実施形態
では、ERGの他のホスト/サーバの少なくともいくつかをブートストラップするか、ま
たはさもなければ初期化することができる。少なくともいくつかの実施形態では、ENM
は、例えば、VCSコントロールプレーンのホストネットワークアドレス範囲からブート
ストラップされているホストにアドレスを割り当てることを含む、1つ以上のDHCP機
能を実行することができる。ENM自体は、いくつかの実施形態では、2つのネットワー
ク、すなわち、代わりにERGが配信された顧客によってセットアップされた1つのネッ
トワーク、および計算インスタンスを確立することができるERGホストを含む第2の(
プライベート)ネットワークのメンバーとして構成することができる。
安全なネットワークチャネル(例えば、VPN接続/トンネルおよび/または専用の物
理リンクを使用する接続)は、例えば、ENMからVCSコントロールプレーンにインタ
ーネット経由で提出された要求によって開始されたワークフローの結果として、様々な実
施形態では、ENMとVCSの1つ以上のリソースとの間で確立/構成され得る(要素1
207)。少なくともいくつかの実施形態では、VCSコントロールプレーンからERG
に管理コマンドを送信/転送するために特別にセットアップされたアウトバウンドコマン
ドコミュニケータインスタンスOCC1は、安全なチャネルを使用するためのアクセスが
認められ得る。少なくとも1つの実施形態では、前述のように、OCC1は、VCSコン
トロールプレーンからコマンドを受信するためにのみ使用される1つのVNI、および安
全なチャネルを介してコマンド(修正される可能性のあるバージョン)をERGに送信す
るために使用することができる別のVNIを含む、複数の仮想ネットワークインターフェ
ース(VNI)が接続された仮想マシンを含み得る。
安全なチャネルが確立された後、代わりにERGがセットアップされたVCSクライア
ント(および/またはERGへのアクセスが許可される他のユーザ/グループ)は、様々
な実施形態では、プログラム要求(ERG仮想化ホストで計算インスタンスを起動するた
めの要求など)を送信することを開始し得る。ERGのENMは、図示の実施形態では、
OCC1からコントロールプレーンコマンド(例えば、代わりにERGがセットアップさ
れるクライアントによって提出された要求に応答して、VCSコントロールプレーンで生
成された起動VMコマンド)のバージョンを受信し得る(要素1210)。図5に示され
るものと同様のパスが、いくつかの実施形態では、1つ以上のメッセージ変換、アドレス
変換などを含むコマンドに使用され得る。少なくとも1つの実施形態では、コマンドがE
NMによって受信されるネットワークアドレスは、上記の顧客構成ネットワークの一部で
あり得る。ENMは、ERGのホストでコントロールプレーンエージェントにコマンドを
転送し、そこでコマンドを実装することができる(例えば、VMをインスタンス化するた
めのクライアント要求に応答してコマンドが生成された場合、ホストでの、クライアント
によって要求された新しいVMの起動をもたらす)(要素1213)。ホストは、様々な
実施形態では、ERGでセットアップされたプライベートネットワークの一部であり得、
第2のネットワーク内で、他のホストのためのVCSコントロールプレーン内で使用され
る範囲からネットワークアドレスが割り当てられ得る。VCSコントロールプレーンで生
成された追加のコマンドが受信される場合、ENMは、それらを適切な仮想化ホストに転
送することができ、図示の実施形態では、要素1210および1213に対応する操作を
繰り返す。
ENMは、いくつかの実施形態では、VCSコントロールプレーンからERGホストに
コマンドを転送することに加えて、いくつかの他の種類の機能を実行することができる。
必要に応じて、例えば、ENMはまた、パブリックからプライベートまたはプライベート
からパブリックへのアドレス変換、他のカプセル化関連操作などを実行して、ERGで起
動された計算インスタンスと、ERGが展開される外部プレミスでのデバイスとの間でト
ラフィックが流れることを可能にする(要素1216)。
様々な実施形態では、図11および/または図12に示される操作のいくつかは、図に
示されるものとは異なる順序で実行され得るか、または順次ではなく並行して実行され得
ることに留意されたい。さらに、図11および/または図12に示される操作のいくつか
は、1つ以上の実装形態では、必要とされない場合がある。
ユースケース
仮想化コンピューティングサービスなどのプロバイダネットワークのネットワークアク
セス可能なサービスのデータプレーンを、プロバイダネットワークの外部のプレミスに論
理的かつ安全に拡張する上記の技術は、様々なシナリオで非常に有用であり得る。スケー
ラビリティ、可用性、信頼性、セキュリティ、手頃な価格などの特徴のためにプロバイダ
ネットワークリソース(様々な能力レベルの仮想マシンなど)を利用する多くの組織は、
選択した場所、例えば、顧客データセンター、コロケーション設備、および/または一時
的なフィールドワークサイト内で同様のリソースを利用したいと思う場合がある。場合に
よっては、そのような場所が、その場所に記憶され得る大量のアプリケーションデータへ
のアクセスのため、好まれることがあり、プロバイダネットワーククライアントは、イン
ターネットを介してプロバイダネットワーク自体のデータセンターにそのような大量のデ
ータを転送することに関連付けられたコストおよび/または遅延を回避することを好む場
合があり、可能ならば、データが顧客自身のプレミスから出ないことを確実にすることを
望む場合がある。クライアントは、インターネットへの接続が信頼性が低いか、または高
価である可能性のある遠隔地(例えば、石油掘削装置、携帯電話の塔、科学データ収集セ
ンサーアレイなどの近く)で、仮想マシン、および/または仮想マシンをビルディングブ
ロックとして使用するサービスを使用する必要がある場合があり得る。例えば、いくつか
の組織は、オフィスまたは他の物理的な場所に多数のエンジニア/設計者を有し、エンジ
ニア/設計者の超低遅延距離内で仮想マシンを使用して実行するために、レンダリングま
たは他の計算集約型操作が必要になる場合がある。インターネット接続が可能な任意の所
望の場所でローカル機器を使用して、プロバイダネットワークデータセンターで提供され
るものと同じ能力をサポートする能力により、プロバイダネットワーククライアントが効
率的かつ安全に実行することができるアプリケーションの範囲が大幅に拡大し得る。
例示的なコンピュータシステム
少なくともいくつかの実施形態では、本明細書に記載のサービス拡張技術のタイプをサ
ポート(例えば、プロバイダネットワークのデータセンターの外部の選択された場所での
仮想化されたコンピューティングサービスの拡張リソースグループのセットアップおよび
使用)するために使用されるコントロールプレーンおよびデータプレーンコンポーネント
のうちの1つ以上実装するサーバは、1つ以上のコンピュータアクセス可能なメディアを
含むか、またはそれにアクセスするように構成される汎用コンピュータシステムを含み得
る。図13は、そのようなコンピューティングデバイス9000を例解する。例解された
実施形態では、コンピューティングデバイス9000は、入力/出力(I/O)インター
フェース9030を介してシステムメモリ9020(不揮発性および揮発性メモリモジュ
ールの両方を含み得る)に結合された1つ以上のプロセッサ9010を含む。コンピュー
ティングデバイス9000は、I/Oインターフェース9030に結合されたネットワー
クインターフェース9040をさらに含む。
様々な実施形態では、コンピューティングデバイス9000は、1つのプロセッサ90
10を含む単一プロセッサシステム、またはいくつかのプロセッサ9010(例えば、2
、4、8、または別の好適な数)を含むマルチプロセッサシステムであり得る。プロセッ
サ9010は、命令を実行することが可能である任意の好適なプロセッサであり得る。例
えば、様々な実施形態では、プロセッサ9010は、x86、PowerPC、SPAR
C、もしくはMIPS ISA、または任意の他の好適なISAなどの任意の様々な命令
セットアーキテクチャ(ISA)を実装する汎用または組み込みプロセッサであり得る。
マルチプロセッサシステムでは、プロセッサ9010の各々は、一般的に、必ずしもそう
ではないが同じISAを実装し得る。いくつかの実装形態では、グラフィックスプロセッ
シングユニット(GPU)が、従来のプロセッサの代わりに、またはそれに加えて使用さ
れ得る。
システムメモリ9020は、プロセッサ(複数可)9010によってアクセス可能な命
令およびデータを記憶するように構成され得る。少なくともいくつかの実施形態では、シ
ステムメモリ9020は、揮発性部分および不揮発性部分の両方を含み得、他の実施形態
では、揮発性メモリのみを使用し得る。様々な実施形態では、システムメモリ9020の
揮発性部分は、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナ
ミックRAM、または任意の他のタイプのメモリなどの任意の好適なメモリ技術を使用し
て実装され得る。システムメモリの不揮発性部分(例えば、1つ以上のNVDIMMを含
み得る)の場合、いくつかの実施形態では、NANDフラッシュデバイスを含むフラッシ
ュベースのメモリデバイスを使用することができる。少なくともいくつかの実施形態では
、システムメモリの不揮発性部分は、スーパーキャパシタまたは他の電力貯蔵デバイス(
例えば、バッテリ)などの電源を含み得る。様々な実施形態では、メモリスタベースの抵
抗変化型アクセスメモリ(ReRAM)、3次元NAND技術、強誘電体RAM、磁気抵
抗RAM(MRAM)、または様々なタイプの相変化メモリ(PCM)のいずれかを、少
なくともシステムメモリの非揮発性部分に使用し得る。例解された実施形態では、上記の
これらの方法、技術、およびデータなど、1つ以上の所望の機能を実装するプログラム命
令およびデータが、コード9025およびデータ9026としてシステムメモリ9020
内に記憶されて示される。
一実施形態では、I/Oインターフェース9030は、プロセッサ9010、システム
メモリ9020、および様々なタイプの永続および/または揮発性記憶デバイスなどの、
ネットワークインターフェース9040または他の周辺インターフェースを含むデバイス
内の任意の周辺デバイスの間のI/Oトラフィックを調整するように構成され得る。いく
つかの実施形態では、I/Oインターフェース9030は、1つのコンポーネント(例え
ば、システムメモリ9020)からのデータ信号を別のコンポーネント(例えば、プロセ
ッサ9010)による使用に好適なフォーマットに変換するために必要な任意のプロトコ
ル、タイミング、または他のデータ変換を実行し得る。いくつかの実施形態では、I/O
インターフェース9030は、例えば、周辺コンポーネント相互接続(PCI)バス規格
またはユニバーサルシリアルバス(USB)規格のバリアントなど、様々なタイプの周辺
バスを通して接続されたデバイスへのサポートを含み得る。いくつかの実施形態では、I
/Oインターフェース9030の機能は、例えば、ノースブリッジおよびサウスブリッジ
などの2つ以上の別々のコンポーネントに分割され得る。また、いくつかの実施形態では
、システムメモリ9020へのインターフェースなど、I/Oインターフェース9030
の機能のいくつかまたは全部を、プロセッサ9010に直接組み込むことができる。
ネットワークインターフェース9040は、コンピューティングデバイス9000と、
例えば図1~図12に例解されるような他のコンピュータシステムまたはデバイスなどの
1つのネットワークまたは複数のネットワーク9050に接続された他のデバイス906
0との間でデータを交換することを可能にするように構成され得る。様々な実施形態では
、ネットワークインターフェース9040は、例えば、イーサネットネットワークのタイ
プなど、任意の好適な有線または無線の一般データネットワークを介した通信をサポート
することができる。さらに、ネットワークインターフェース9040は、アナログ音声ネ
ットワークもしくはデジタルファイバ通信ネットワークなどの電気通信/電話ネットワー
クを介した、ファイバーチャネルSANなどのストレージエリアネットワークを介した、
または任意の他の好適なタイプのネットワークおよび/もしくはプロトコルを介した通信
をサポートすることができる。
いくつかの実施形態では、システムメモリ9020は、図1~図12の文脈で考察され
た方法および装置を実装するために使用されるプログラム命令およびデータの少なくとも
サブセットを記憶するように構成されたコンピュータアクセス可能媒体の一実施形態を表
すことができる。しかしながら、他の実施形態では、プログラム命令および/またはデー
タは、異なるタイプのコンピュータアクセス可能媒体上で受信、送信、または記憶されて
もよい。一般的に言えば、コンピュータアクセス可能媒体は、磁気または光学媒体などの
非一時的記憶媒体またはメモリ媒体、例えばI/Oインターフェース9030を介してコ
ンピューティングデバイス9000に結合されたディスクまたはDVD/CDを含み得る
。非一時的コンピュータアクセス可能記憶媒体はまた、システムメモリ9020または別
のタイプのメモリとしてコンピューティングデバイス9000のいくつかの実施形態に含
まれ得る、RAM(例えば、SDRAM、DDR SDRAM、RDRAM、SRAMな
ど)、ROMなどの任意の揮発性媒体または不揮発性媒体も含み得る。いくつかの実施形
態では、複数の非一時的なコンピュータ可読記憶媒体は、1つ以上のプロセッサ上でまた
はそれらにわたって実行されると、上記の方法および技術の少なくともサブセットを実装
するプログラム命令を集合的に記憶することができる。コンピュータアクセス可能媒体は
、ネットワークインターフェース9040を介して実装され得るような、ネットワークお
よび/または無線リンクなどの通信媒体を介して伝達される、電気信号、電磁気信号、ま
たはデジタル信号などの伝送媒体または信号をさらに含み得る。図13に例解されるもの
などの複数のコンピューティングデバイスの部分またはすべてを使用して、様々な実施形
態では、記載の機能を実装することができ、例えば、様々な異なるデバイスおよびサーバ
で動作するソフトウェアコンポーネントが連携して機能を提供し得る。いくつかの実施形
態では、記載の機能の部分は、汎用コンピュータシステムを使用して実装されることに加
えて、またはその代わりに、ストレージデバイス、ネットワークデバイス、または専用コ
ンピュータシステムを使用して実装され得る。本明細書で使用される際、「コンピューテ
ィングデバイス」という用語は、少なくともこれらのタイプのデバイスのすべてを指すが
、これらのタイプのデバイスに限定されるものではない。
本開示の実施形態は、以下の条項に鑑みて説明され得る。
1.システムであって、
プロバイダネットワークの仮想化コンピューティングサービスの1つ以上のコンピューテ
ィングデバイスであって、プロバイダネットワークは、1つ以上のデータセンターを含み
、1つ以上のデータセンターに配置された仮想化コンピューティングサービスの仮想化ホ
ストのセットは、第1のネットワークアドレス範囲内のそれぞれのネットワークアドレス
が割り当てられ、
1つ以上のコンピューティングデバイスは、命令を含み、命令は、1つ以上のプロセッ
サ上またはそれらにわたって実行されると、1つ以上のコンピューティングデバイスに、
拡張リソースグループに関連付けられたアウトバウンドコマンドコミュニケータで仮
想マシン起動コマンドを取得することであって、アウトバウンドコミュニケータは、第1
のネットワークアドレス範囲内の第1のネットワークアドレスを有し、拡張リソースグル
ープは、1つ以上のデータセンターの外部のプレミスに配置された1つ以上の仮想化ホス
トを含み、仮想マシン起動コマンドは、第1のネットワークアドレスの表示を含む、取得
することと、
安全なネットワークチャネルを介して、拡張リソースグループに、仮想マシン起動コマ
ンドを示し、第1のネットワークアドレスを示すメッセージを送信することであって、メ
ッセージのデスティネーションアドレスは、プレミスで使用される第2のネットワークア
ドレス範囲の一部であり、ターゲット仮想化ホストは、拡張リソースグループで確立され
たプライベートネットワーク内の第1のネットワークアドレスが割り当てられ、ターゲッ
ト仮想化ホストでの仮想マシン起動コマンドの処理は、ターゲット仮想化ホストでの仮想
マシンのインスタンス化をもたらす、送信することと、を行わせる、1つ以上のコンピュ
ーティングデバイスを含む、システム。
2.安全なネットワークチャネルは、1つ以上のデータセンターと拡張リソースグルー
プとの間に確立され、安全なネットワークチャネルは、(a)VPNトンネル、または(
b)プレミスとプロバイダネットワークとの間の専用の物理リンクのうちの1つ以上を含
む、条項1に記載のシステム。
3.1つ以上のコンピューティングデバイスは、命令をさらに含み、命令は、1つ以上
のプロセッサ上またはそれらにわたって実行されると、1つ以上のコンピューティングデ
バイスに、
拡張リソースグループを確立するための要求がプログラムインターフェースを介して提
出されていることを判定することであって、アウトバウンドコマンドコミュニケータは、
拡張リソースグループを確立するための要求に応答して確立される、判定することをさら
に行わせる、条項1~2のいずれか1つに記載のシステム。
4.1つ以上のコンピューティングデバイスは、命令をさらに含み、命令は、1つ以上
のプロセッサ上またはそれらにわたって実行されると、1つ以上のコンピューティングデ
バイスに、
安全なネットワークチャネルを確立するための要求が受信されることを判定する前に、
アウトバウンドコマンドコミュニケータをインスタンス化することをさらに行わせる、条
項1~3のいずれか1つに記載のシステム。
5.アウトバウンドコマンドコミュニケータは、別の仮想化ホスト上の仮想マシンで実
行され、他の仮想化ホストは、第1のネットワークアドレス範囲内の第2のネットワーク
アドレスが割り当てられる、条項1~4のいずれか1つに記載のシステム。
6.方法であって、
プロバイダネットワークの1つ以上のコンピューティングデバイスによって、
プロバイダネットワークのコンピューティングサービスのコントロールプレーンで、計
算インスタンスを確立するための要求を受信することと、
プロバイダネットワークの第1のアウトバウンドコマンドコミュニケータで、要求に応
答して、計算インスタンスがターゲットホストで確立されるという表示を取得することで
あって、ターゲットホストは、クライアントプレミスに配置されたプロバイダネットワー
クの第1の拡張リソースグループの一部であり、第1のネットワークアドレスは、コント
ロールプレーンでターゲットホストに関連付けられ、第1のアウトバウンドコマンドコミ
ュニケータは、少なくとも第1のネットワークアドレスが割り当てられる、取得すること
と、
第2のネットワークアドレスをデスティネーションとして示すメッセージを送信するこ
とであって、第2のネットワークアドレスは、クライアントプレミスで確立された第1の
ネットワークの一部であり、メッセージは、ターゲットホストで計算インスタンスを確立
するためのコマンドを含み、第1のネットワークアドレスは、クライアントプレミスで確
立された第2のネットワーク内のターゲットホストに割り当てられ、ターゲットホストで
のコマンドの処理は、計算インスタンスの確立をもたらす、送信することと、を実行する
ことを含む、方法。
7.計算インスタンスは、仮想マシンを含む、条項6に記載の方法。
8.プロバイダネットワークの1つ以上のコンピューティングデバイスによって、
プログラムインターフェースを介して、プロバイダネットワーク内のホストでサポート
される仮想マシンカテゴリのセットの表示を提供することであって、計算インスタンスは
、セットの特定の仮想マシンカテゴリに属する、提供することを実行することをさらに含
む、条項6~7のいずれか1つに記載の方法。
9.第1のアウトバウンドコマンドコミュニケータで取得された、計算インスタンスが
確立されるという表示は、第1のセキュリティアーティファクトを含み、方法は、プロバ
イダネットワークの1つ以上のコンピューティングデバイスによって、
第2のネットワークアドレスに送信されるメッセージに、第2のセキュリティアーティ
ファクトを含めることであって、第2のセキュリティアーティファクトは、第1のアウト
バウンドコマンドコミュニケータで生成される、含めることを実行することをさらに含む
、条項6~8に記載の方法。
10.プロバイダネットワークの1つ以上のコンピューティングデバイスによって、
第1のアウトバウンドコマンドコミュニケータを第1の仮想ネットワークインターフェ
ースおよび第2の仮想ネットワークインターフェースにプログラムで接続することであっ
て、第1の仮想ネットワークインターフェースは、コントロールプレーンから、計算イン
スタンスが確立されるという表示を取得するために使用され、第2の仮想ネットワークイ
ンターフェースは、メッセージが第1の拡張リソースグループに送信される安全なネット
ワークチャネルにアクセスするために使用される、プログラムで接続することを実行する
ことをさらに含む、条項6~9に記載の方法。
11.安全なネットワークチャネルは、(a)仮想プライベートネットワーク(VPN
)トンネル、または(b)クライアントプレミスとプロバイダネットワークとの間の専用
の物理リンクのうちの1つ以上を含む、条項10に記載の方法。
12.第1のアウトバウンドコマンドコミュニケータは、少なくとも部分的に仮想マシ
ンを使用して実装される、条項6~10のいずれか1つに記載の方法。
13.第1の拡張リソースグループは、プロバイダネットワークのコンピューティング
サービスの第1のクライアントに代わって確立され、第1のアウトバウンドコマンドコミ
ュニケータは、コンピューティングサービスの分離仮想ネットワーク内に構成され、分離
仮想ネットワークは、コンピューティングサービスの第2のクライアントに代わって確立
された第2の拡張リソースグループと通信するために確立された少なくとも第2のアウト
バウンドコマンドコミュニケータを含む、条項6~10または12のいずれか1つに記載
の方法。
14.第1の拡張リソースグループは、プロバイダネットワークのコンピューティング
サービスのクライアントに代わって確立され、方法は、1つ以上のコンピューティングデ
バイスによって、
計算インスタンスに、クライアントに代わってプロバイダネットワーク内に確立された
分離仮想ネットワークのネットワークアドレス範囲からネットワークアドレスを割り当て
ることを実行することをさらに含む、条項6~10または12~13のいずれか1つに記
載の方法。
15.計算インスタンスを確立するための要求は、プロバイダネットワークのコンピュ
ーティングサービスのパブリックアプリケーションプログラミングインターフェースに関
連付けられた第1のネットワークパスを介して受信され、メッセージは、第2のネットワ
ークパスを介して第2のネットワークアドレスに送信される、条項6~10または12~
14のいずれか1つに記載の方法。
16.システムであって、
サービスプロバイダ環境の1つ以上のコンピューティングデバイス上で実行されるコン
トロールプレーンと、
サービスプロバイダ環境の第1のネットワークに結合されたアウトバウンドコマンドコ
ミュニケータであって、第1のネットワークは、ネットワークアドレスの範囲を使用し、
アウトバウンドコマンドコミュニケータは、ネットワークアドレスの範囲内の第1のネッ
トワークアドレスが割り当てられ、サービスプロバイダ環境の第1のネットワークは、計
算インスタンスをホストするように構成された複数のサーバを含む、アウトバウンドコマ
ンドコミュニケータと、を含み、
コントロールプレーンは、
計算インスタンスを起動するための要求を含む第1のメッセージを、第1のネットワ
ークアドレスに送信するように構成されており、
アウトバウンドコマンドコミュニケータは、
第1のメッセージを受信することと、
第2のネットワークアドレスが割り当てられたデバイスに第2のメッセージを送信す
ることであって、第2のメッセージは、計算インスタンスを起動するための要求の少なく
とも一部分を含み、第2のネットワークアドレスは、顧客データセンターで確立された第
2のネットワークの一部であり、デバイスは、顧客データセンター内に確立された第3の
ネットワークに結合されたターゲットサーバに、第2のメッセージを送信するように構成
されており、第3のネットワークは、ネットワークアドレスの範囲の少なくとも一部分を
使用し、ターゲットサーバは、第1のネットワークアドレスが割り当てられる、送信する
ことと、を行うように構成されている、システム。
17.第2のメッセージは、(a)VPNトンネル、または(b)顧客データセンター
とサービスプロバイダ環境との間の専用の物理リンクのうちの1つ以上を介して、第2の
ネットワークアドレスに送信される、条項16に記載のシステム。
18.計算インスタンスは、ベアメタル計算インスタンスを含む、条項16~17に記
載のシステム。
19.アウトバウンドコマンドコミュニケータは、
第2のネットワークアドレスに送信される第2のメッセージに、ターゲットサーバによ
って認証され得るセキュリティオブジェクトを含めるように、さらに構成されている、条
項16~18のいずれか1つに記載のシステム。
20.第2のネットワークアドレスが割り当てられたデバイスは、第2のネットワーク
および第3のネットワークの両方に結合されており、デバイスは、
第2のメッセージのデスティネーションを第1のネットワークアドレスにさせることと

第2のメッセージをターゲットサーバに送信することと、を行うようにさらに構成され
ている、条項16~19のいずれか1つに記載のシステム。
21.システムであって、
ネットワークマネージャと、
プロバイダネットワークの仮想化コンピューティングサービスの拡張リソースグループ
の1つ以上のコンピューティングデバイスであって、拡張リソースグループは、耐タンパ
ー性ストレージデバイスおよびトラステッドプラットフォームモジュールを含む仮想化ホ
ストを少なくとも含み、仮想化ホストは、プロバイダネットワークの外部のプレミスに配
置され、プレミスで構成された第1のネットワークは、ネットワークアドレスの第1の範
囲を含み、プロバイダネットワークの1つ以上のデータセンターに配置された仮想化コン
ピューティングサービスの仮想化ホストは、ネットワークアドレスの第2の範囲からそれ
ぞれのネットワークアドレスが割り当てられる、1つ以上のコンピューティングデバイス
と、を含み、
ネットワークマネージャは、命令を含み、命令は、1つ以上のプロセッサ上またはそれ
らにわたって実行されると、ネットワークマネージャに、
安全なネットワークチャネルを介して、拡張リソースグループに関連付けられたアウト
バウンドコマンドコミュニケータから送信された、仮想マシン起動コマンドを含むメッセ
ージを取得することであって、仮想マシン起動コマンドは、仮想化されたコンピューティ
ングサービスのパブリックアプリケーションプログラミングインターフェースを介して提
出された要求に応答して生成され、ネットワークマネージャに割り当てられたメッセージ
のデスティネーションアドレスは、ネットワークアドレスの第1の範囲内にある、取得す
ることと、
仮想マシン起動コマンドをネットワークマネージャから拡張リソースグループの仮想化
ホストに送信することであって、仮想化ホストでの仮想マシン起動コマンドの処理は、仮
想化ホストでの仮想マシンのインスタンス化をもたらし、拡張リソースグループで確立さ
れたプライベートネットワーク内で、仮想化ホストは、第2の範囲のアドレスが割り当て
られる、送信することと、を行わせる、システム。
22.ネットワークマネージャの少なくとも一部分は、(a)拡張リソースグループの
特定のデバイスでの電源投入信号、または(b)拡張リソースグループの特定のデバイス
がインターネットにアクセスしているという表示のうちの1つ以上に応答して開始される
、条項21に記載のシステム。
23.ネットワークマネージャは、命令をさらに含み、命令は、1つ以上のプロセッサ
上またはそれらにわたって実行されると、ネットワークマネージャに、
仮想マシンで生成されたネットワークパケットに対して1つ以上の変換操作を実行する
ことと、
ネットワークパケットの変換されたバージョンをネットワークエンドポイントに送信す
ることであって、ネットワークエンドポイントは、(a)プロバイダネットワークの一部
ではなく、および(b)拡張リソースグループの一部ではない、送信することと、を行わ
せる、条項21~22のいずれか1つに記載のシステム。
24.ネットワークマネージャは、命令をさらに含み、命令は、1つ以上のプロセッサ
上またはそれらにわたって実行されると、ネットワークマネージャに、
仮想化ホストでブートストラップ操作を開始させる、条項21~23のいずれか1つに
記載のシステム。
25.ネットワークマネージャの少なくとも一部分は、拡張リソースグループの周辺カ
ードに実装される、条項21~24のいずれか1つに記載のシステム。
26.方法であって、
プロバイダネットワークの拡張リソースグループのネットワークマネージャで、拡張リ
ソースグループのホストで計算インスタンスを起動するためのコマンドを含むメッセージ
を取得することであって、ホストは、プロバイダネットワークの外部のプレミスに配置さ
れ、メッセージは、プレミスで構成された第1のネットワークの第1のアドレス範囲内の
アドレスでネットワークマネージャによって取得される、取得することと、
ネットワークマネージャからホストにコマンドを送信して、ホストに計算インスタンス
をインスタンス化させることであって、プレミスで構成された第2のネットワーク内で、
ホストは、第2のアドレス範囲内のアドレスが割り当てられ、第2のアドレス範囲の1つ
以上のアドレスは、プロバイダネットワークのコントロールプレーンによってプロバイダ
ネットワーク内のそれぞれのホストに割り当てられる、送信することと、を含む方法。
27.
計算インスタンスをインスタンス化する前に、ホストのセキュリティモジュールを使用
して、ホストが受け入れ基準を満たしていることを確認することをさらに含む、条項26
に記載の方法。
28.ホストは、ストレージデバイスを含み、方法は、
計算インスタンスの状態情報の暗号化されたバージョンをストレージデバイスに記憶す
ることであって、暗号化されたバージョンの復号化は、ストレージデバイスがホストに物
理的に接続されることを必要とする、記憶することをさらに含む、条項26~27のいず
れか1つに記載の方法。
29.拡張リソースグループは、計算インスタンスイメージキャッシュを含み、計算イ
ンスタンスをインスタンス化することは、
キャッシュから取得した特定の計算インスタンスイメージを利用することを含む、条項
26~28のいずれか1つに記載の方法。
30.
拡張リソースグループ内の計算インスタンスの起動を要求することを許可された1つ以
上のエンティティの表示を取得することと、
計算インスタンスをインスタンス化する前に、計算インスタンスが1つ以上のエンティ
ティのうちのエンティティによって要求されたことを確認することと、をさらに含む、条
項26~29のいずれか1つに記載の方法。
31.ネットワークマネージャの少なくとも一部分は、周辺インターフェースを介して
拡張リソースグループのホストに接続されたカードに実装される、条項26~30のいず
れか1つに記載の方法。
32.ホストは、拡張リソースグループのラック内に組み込まれ、ネットワークマネー
ジャの少なくとも一部分は、ラック内に組み込まれていない1つ以上のデバイスに実装さ
れる、条項26~31のいずれか1つに記載の方法。
33.1つ以上のトリガ信号に応答して、ネットワークマネージャをインスタンス化す
ることと、
ネットワークマネージャによって、プロバイダネットワークの少なくとも一部分と通信
するための安全なネットワークチャネルの構成を開始することと、をさらに含む、条項2
6~32のいずれか1つに記載の方法。
34.1つ以上のトリガ信号は、(a)拡張リソースグループの特定のデバイスでの電
源投入信号、または(b)拡張リソースグループの特定のデバイスがインターネットにア
クセスしているという表示のうちの1つ以上を含む、条項33に記載の方法。
35.
ネットワークマネージャによって、ホストでブートストラップ操作を開始することをさら
に含む、条項26~33のいずれか1つに記載の方法。
36.システムであって、
プロバイダネットワークの拡張リソースグループの1つ以上のコンピューティングデバ
イスであって、拡張リソースグループの少なくともホストは、プロバイダネットワークの
外部のプレミスに配置され、
1つ以上のコンピューティングデバイスは、命令を含み、命令は、1つ以上のプロセッ
サ上またはそれらにわたって実行されると、1つ以上のコンピューティングデバイスに、
拡張リソースグループのネットワークマネージャで、計算インスタンスを起動するため
のコマンドを含むメッセージを取得することであって、メッセージは、プレミスで構成さ
れた第1のネットワークの第1のアドレス範囲内のアドレスで、ネットワークマネージャ
によって取得される、取得することと、
ネットワークマネージャからホストにコマンドを送信することであって、コマンドの処
理は、ホストでの計算インスタンスのインスタンス化をもたらし、プレミスで構成された
第2のネットワーク内で、ホストは、第2のアドレス範囲内のアドレスが割り当てられ、
第2のアドレス範囲の1つ以上のアドレスは、プロバイダネットワークのコントロールプ
レーンによって、プロバイダネットワーク内のそれぞれのホストに割り当てられる、送信
することと、を行わせる、1つ以上のコンピューティングデバイスを含む、システム。
37.1つ以上のコンピューティングデバイスは、命令をさらに含み、命令は、1つ以
上のプロセッサ上またはそれらにわたって実行されると、1つ以上のコンピューティング
デバイスに、
計算インスタンスのインスタンス化の前に、ホストのセキュリティモジュールを使用し
て、ホストが受け入れ基準を満たしていることを確認させる、条項36に記載のシステム

38.1つ以上のコンピューティングデバイスは、命令をさらに含み、命令は、1つ以
上のプロセッサ上またはそれらにわたって実行されると、1つ以上のコンピューティング
デバイスに、
計算インスタンスの状態情報の暗号化されたバージョンをストレージデバイスに記憶す
ることであって、暗号化されたバージョンの復号化は、ストレージデバイスがホストに物
理的に接続されることを必要とする、記憶することをさらに行わせる、条項36~37の
いずれか1つに記載のシステム。
39.拡張リソースグループは、計算インスタンスイメージキャッシュを含み、計算イ
ンスタンスをインスタンス化することは、
キャッシュから取得した特定の計算インスタンスイメージを利用することを含む、条項
36~38のいずれか1つに記載のシステム。
40.メッセージは、(a)プレミスをプロバイダネットワークに接続する専用の物理
リンク、または(b)仮想プライベートネットワーク(VPN)トンネルのうちの1つ以
上を介して、ネットワークマネージャで取得される、条項36~39のいずれか1つに記
載のシステム。
結論
様々な実施形態は、コンピュータアクセス可能媒体上で前述の説明に従って実装された
命令および/またはデータを受信、送信、または記憶することをさらに含むことができる
。一般的に言えば、コンピュータアクセス可能媒体は、磁気または光媒体、例えば、ディ
スクまたはDVD/CD-ROM、RAM(例えば、SDRAM、DDR、RDRAM、
SRAMなど)、ROMなどの揮発性または不揮発性媒体などのストレージ媒体またはメ
モリ媒体、ならびにネットワークおよび/または無線リンクなどの通信媒体を介して伝達
される、電気信号、電磁気信号、またはデジタル信号などの伝送媒体または信号を含むこ
とができる。
図面に例解され、本明細書に記載されるような様々な方法は、方法の例示的な実施形態
を表す。方法は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装するこ
とができる。方法の順序は、変更されてもよく、様々な要素は、追加、並べ替え、結合、
省略、修正などされてもよい。
本開示の利益を有する当業者に明らかであるように、様々な修正および変更がなされ得
る。そのような修正および変更をすべて包含し、したがって上記の説明を限定的な意味で
はなく例示的な意味で見なすことを意図する。

Claims (15)

  1. システムであって、
    プロバイダネットワークの仮想化コンピューティングサービスの1つ以上のコンピュー
    ティングデバイスであって、前記プロバイダネットワークは、1つ以上のデータセンター
    を含み、前記1つ以上のデータセンターに配置された前記仮想化コンピューティングサー
    ビスの仮想化ホストのセットは、第1のネットワークアドレス範囲内のそれぞれのネット
    ワークアドレスが割り当てられ、
    前記1つ以上のコンピューティングデバイスは、命令を含み、前記命令は、1つ以上の
    プロセッサ上またはそれらにわたって実行されると、前記1つ以上のコンピューティング
    デバイスに、
    拡張リソースグループに関連付けられたアウトバウンドコマンドコミュニケータで仮想
    マシン起動コマンドを取得することであって、前記アウトバウンドコミュニケータは、前
    記第1のネットワークアドレス範囲内の第1のネットワークアドレスを有し、前記拡張リ
    ソースグループは、前記1つ以上のデータセンターの外部のプレミスに配置された1つ以
    上の仮想化ホストを含み、前記仮想マシン起動コマンドは、前記第1のネットワークアド
    レスの表示を含む、取得することと、
    安全なネットワークチャネルを介して、前記拡張リソースグループに、前記仮想マシン
    起動コマンドを示し、前記第1のネットワークアドレスを示すメッセージを送信すること
    であって、前記メッセージのデスティネーションアドレスは、前記プレミスで使用されて
    いる第2のネットワークアドレス範囲の一部であり、ターゲット仮想化ホストは、前記拡
    張リソースグループで確立されたプライベートネットワーク内の前記第1のネットワーク
    アドレスが割り当てられ、前記ターゲット仮想化ホストでの前記仮想マシン起動コマンド
    の処理は、前記ターゲット仮想化ホストでの仮想マシンのインスタンス化をもたらす、送
    信することと、を行わせる、1つ以上のコンピューティングデバイスを含む、システム。
  2. 前記安全なネットワークチャネルは、前記1つ以上のデータセンターと前記拡張リソー
    スグループとの間に確立され、前記安全なネットワークチャネルは、(a)VPNトンネ
    ル、または(b)前記プレミスと前記プロバイダネットワークとの間の専用の物理リンク
    のうちの1つ以上を含む、請求項1に記載のシステム。
  3. 前記1つ以上のコンピューティングデバイスは、命令をさらに含み、前記命令は、前記
    1つ以上のプロセッサ上またはそれらにわたって実行されると、前記1つ以上のコンピュ
    ーティングデバイスに、
    前記拡張リソースグループを確立するための要求がプログラムインターフェースを介し
    て提出されていることを判定することであって、前記アウトバウンドコマンドコミュニケ
    ータは、前記拡張リソースグループを確立するための前記要求に応答して確立される、判
    定することをさらに行わせる、請求項1に記載のシステム。
  4. 前記1つ以上のコンピューティングデバイスは、命令をさらに含み、前記命令は、前記
    1つ以上のプロセッサ上またはそれらにわたって実行されると、前記1つ以上のコンピュ
    ーティングデバイスに、
    前記安全なネットワークチャネルを確立するための要求が受信されることを判定する前
    に、前記アウトバウンドコマンドコミュニケータをインスタンス化することをさらに行わ
    せる、請求項1に記載のシステム。
  5. 前記アウトバウンドコマンドコミュニケータは、別の仮想化ホスト上の仮想マシンで実
    行され、前記他の仮想化ホストは、前記第1のネットワークアドレス範囲内の第2のネッ
    トワークアドレスが割り当てられる、請求項1に記載のシステム。
  6. 方法であって、
    プロバイダネットワークの1つ以上のコンピューティングデバイスによって、
    前記プロバイダネットワークのコンピューティングサービスのコントロールプレーンで
    、計算インスタンスを確立するための要求を受信することと、
    前記プロバイダネットワークの第1のアウトバウンドコマンドコミュニケータで、前記
    要求に応答して前記計算インスタンスがターゲットホストで確立されるという表示を取得
    することであって、前記ターゲットホストは、クライアントプレミスに配置された前記プ
    ロバイダネットワークの第1の拡張リソースグループの一部であり、第1のネットワーク
    アドレスは、前記コントロールプレーンでの前記ターゲットホストに関連付けられ、前記
    第1のアウトバウンドコマンドコミュニケータは、少なくとも前記第1のネットワークア
    ドレスが割り当てられる、取得することと、
    第2のネットワークアドレスをデスティネーションとして示すメッセージを送信するこ
    とであって、前記第2のネットワークアドレスは、前記クライアントプレミスで確立され
    た第1のネットワークの一部であり、前記メッセージは、前記ターゲットホストで前記計
    算インスタンスを確立するためのコマンドを含み、前記第1のネットワークアドレスは、
    前記クライアントプレミスで確立された第2のネットワーク内の前記ターゲットホストに
    割り当てられ、前記ターゲットホストでの前記コマンドの処理は、前記計算インスタンス
    の確立をもたらす、送信することと、を実行することを含む、方法。
  7. 前記第1のアウトバウンドコマンドコミュニケータで取得された、前記計算インスタン
    スが確立されるという前記表示は、第1のセキュリティアーティファクトを含み、前記方
    法は、前記プロバイダネットワークの前記1つ以上のコンピューティングデバイスによっ
    て、
    前記第2のネットワークアドレスに送信される前記メッセージに、第2のセキュリティ
    アーティファクトを含めることであって、前記第2のセキュリティアーティファクトは、
    前記第1のアウトバウンドコマンドコミュニケータで生成される、含めることを実行する
    ことをさらに含む、請求項6に記載の方法。
  8. 前記プロバイダネットワークの前記1つ以上のコンピューティングデバイスによって、
    前記第1のアウトバウンドコマンドコミュニケータを第1の仮想ネットワークインター
    フェースおよび第2の仮想ネットワークインターフェースにプログラムで接続することで
    あって、前記第1の仮想ネットワークインターフェースは、前記コントロールプレーンか
    ら、前記第1の計算インスタンスが確立されるという前記表示を取得するために使用され
    、前記第2の仮想ネットワークインターフェースは、前記メッセージが前記第1の拡張リ
    ソースグループに送信される安全なネットワークチャネルにアクセスするために使用され
    る、プログラムで接続することを実行することをさらに含む、請求項6に記載の方法。
  9. 前記第1の拡張リソースグループは、前記プロバイダネットワークのコンピューティン
    グサービスの第1のクライアントに代わって確立され、前記アウトバウンドコマンドコミ
    ュニケータは、前記コンピューティングサービスの第1の分離仮想ネットワーク内に構成
    され、前記第1の分離仮想ネットワークは、前記コンピューティングサービスの第2のク
    ライアントに代わって確立された第2の拡張リソースグループと通信するために確立され
    た少なくとも第2のアウトバウンドコマンドコミュニケータを含む、請求項6に記載の方
    法。
  10. 前記第1の拡張リソースグループは、前記プロバイダネットワークのコンピューティン
    グサービスのクライアントに代わって確立され、前記方法は、前記1つ以上のコンピュー
    ティングデバイスによって、
    前記計算インスタンスに、前記クライアントに代わって前記プロバイダネットワーク内
    に確立された分離仮想ネットワークのネットワークアドレス範囲からネットワークアドレ
    スを割り当てることを実行することをさらに含む、請求項6に記載の方法。
  11. 前記計算インスタンスを確立するための前記要求は、前記プロバイダネットワークのコ
    ンピューティングサービスのパブリックアプリケーションプログラミングインターフェー
    スに関連付けられた第1のネットワークパスを介して受信され、前記メッセージは、第2
    のネットワークパスを介して、前記第2のネットワークアドレスに送信される、請求項6
    に記載の方法。
  12. システムであって、
    サービスプロバイダ環境の1つ以上のコンピューティングデバイス上で実行されるコン
    トロールプレーンと、
    前記サービスプロバイダ環境の第1のネットワークに結合されたアウトバウンドコマン
    ドコミュニケータであって、前記第1のネットワークは、ネットワークアドレスの範囲を
    使用し、前記アウトバウンドコマンドコミュニケータは、ネットワークアドレスの前記範
    囲内の第1のネットワークアドレスが割り当てられ、前記サービスプロバイダ環境の前記
    第1のネットワークは、計算インスタンスをホストするように構成された複数のサーバを
    含む、アウトバウンドコマンドコミュニケータと、を含み、
    前記コントロールプレーンは、
    計算インスタンスを起動するための要求を含む第1のメッセージを、前記第1のネッ
    トワークアドレスに送信するように構成されており、
    前記アウトバウンドコマンドコミュニケータは、
    前記第1のメッセージを受信することと、
    第2のネットワークアドレスが割り当てられたデバイスに第2のメッセージを送信す
    ることであって、前記第2のメッセージは、前記計算インスタンスを起動するための前記
    要求の少なくとも一部分を含み、前記第2のネットワークアドレスは、顧客データセンタ
    ーで確立された第2のネットワークの一部であり、前記デバイスは、前記顧客データセン
    ター内に確立された第3のネットワークに結合されたターゲットサーバに、前記第2のメ
    ッセージを送信するように構成されており、前記第3のネットワークは、ネットワークア
    ドレスの前記範囲の少なくとも一部分を使用し、前記ターゲットサーバは、前記第1のネ
    ットワークアドレスが割り当てられる、送信することと、を行うように構成されている、
    システム。
  13. 前記計算インスタンスは、ベアメタル計算インスタンスを含む、請求項12に記載のシ
    ステム。
  14. 前記アウトバウンドコマンドコミュニケータは、
    前記第2のネットワークアドレスに送信される前記第2のメッセージに、前記ターゲッ
    トサーバによって認証され得るセキュリティオブジェクトを含めるように、さらに構成さ
    れている、請求項12に記載のシステム。
  15. 前記第2のネットワークアドレスが割り当てられた前記デバイスは、前記第2のネット
    ワークおよび前記第3のネットワークの両方に結合されており、前記デバイスは、
    前記第2のメッセージのデスティネーションを前記第1のネットワークアドレスにさせ
    ることと、
    前記第2のメッセージを前記ターゲットサーバに送信することと、を行うようにさらに構
    成されている、請求項12に記載のシステム。
JP2023002875A 2018-11-20 2023-01-12 プロバイダネットワークサービス拡張 Pending JP2023040221A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US16/196,736 US10833949B2 (en) 2018-11-20 2018-11-20 Extension resource groups of provider network services
US16/196,723 US20200159555A1 (en) 2018-11-20 2018-11-20 Provider network service extensions
US16/196,723 2018-11-20
US16/196,736 2018-11-20
PCT/US2019/062243 WO2020106740A1 (en) 2018-11-20 2019-11-19 Provider network service extensions
JP2021526284A JP7212158B2 (ja) 2018-11-20 2019-11-19 プロバイダネットワークサービス拡張

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021526284A Division JP7212158B2 (ja) 2018-11-20 2019-11-19 プロバイダネットワークサービス拡張

Publications (1)

Publication Number Publication Date
JP2023040221A true JP2023040221A (ja) 2023-03-22

Family

ID=68835383

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021526284A Active JP7212158B2 (ja) 2018-11-20 2019-11-19 プロバイダネットワークサービス拡張
JP2023002875A Pending JP2023040221A (ja) 2018-11-20 2023-01-12 プロバイダネットワークサービス拡張

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021526284A Active JP7212158B2 (ja) 2018-11-20 2019-11-19 プロバイダネットワークサービス拡張

Country Status (5)

Country Link
EP (1) EP3884628A1 (ja)
JP (2) JP7212158B2 (ja)
KR (1) KR102441860B1 (ja)
CN (2) CN115185699A (ja)
WO (1) WO2020106740A1 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10164304B4 (de) * 2001-12-28 2004-05-13 Wacker Construction Equipment Ag Kabelrolle mit Frequenzumformereinrichtung
US8532108B2 (en) * 2009-09-30 2013-09-10 Alcatel Lucent Layer 2 seamless site extension of enterprises in cloud computing
US9331938B2 (en) * 2012-04-13 2016-05-03 Nicira, Inc. Extension of logical networks across layer 3 virtual private networks
SG11201505650QA (en) * 2013-01-22 2015-08-28 Amazon Tech Inc Instance host configuration
US9553809B2 (en) * 2013-04-16 2017-01-24 Amazon Technologies, Inc. Asymmetric packet flow in a distributed load balancer
US9686121B2 (en) * 2013-09-23 2017-06-20 Amazon Technologies, Inc. Client-premise resource control via provider-defined interfaces
US9485323B1 (en) * 2013-09-23 2016-11-01 Amazon Technologies, Inc. Managing pooled client-premise resources via provider-defined interfaces
US9424067B2 (en) * 2014-12-11 2016-08-23 Amazon Technologies, Inc. Managing virtual machine instances utilizing an offload device
US10037221B2 (en) * 2015-12-28 2018-07-31 Amazon Technologies, Inc. Management of virtual desktop instance pools

Also Published As

Publication number Publication date
WO2020106740A1 (en) 2020-05-28
KR102441860B1 (ko) 2022-09-08
KR20210072816A (ko) 2021-06-17
CN115185699A (zh) 2022-10-14
CN113039757B (zh) 2022-08-30
JP7212158B2 (ja) 2023-01-24
JP2022507398A (ja) 2022-01-18
EP3884628A1 (en) 2021-09-29
CN113039757A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
US11469964B2 (en) Extension resource groups of provider network services
US11500670B2 (en) Computing service with configurable virtualization control levels and accelerated launches
US11088944B2 (en) Serverless packet processing service with isolated virtual network integration
US10785029B2 (en) Systems and methods for pairing on-premise clusters to clouds using identity service providers
US11372802B2 (en) Virtual RDMA switching for containerized applications
JP6771650B2 (ja) クラウドコンピューティングシステムにおいて仮想マシンが物理サーバにアクセスするための方法、装置、およびシステム
US20200159555A1 (en) Provider network service extensions
JP6333967B2 (ja) クラウドコンピューティング環境における分散ロック管理
US20190392150A1 (en) Network-accessible computing service for micro virtual machines
US11563799B2 (en) Peripheral device enabling virtualized computing service extensions
US11188374B2 (en) Data mobility for immobile storage services
US11520530B2 (en) Peripheral device for configuring compute instances at client-selected servers
US11296981B2 (en) Serverless packet processing service with configurable exception paths
CN114365087A (zh) 用于在客户端选择的服务器上配置计算实例的外围设备
JP7212158B2 (ja) プロバイダネットワークサービス拡張
US10848418B1 (en) Packet processing service extensions at remote premises
US11824943B1 (en) Managed connectivity between cloud service edge locations used for latency-sensitive distributed applications
US11573719B2 (en) PMEM cache RDMA security
US20230418650A1 (en) System and method for sharing secret with an agent running in a virtual computing instance

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240611