(57)【要約】      （修正有）【課題】リソース追加による管理上の負担を増加させずに複数のディレクトリの維持する。【解決手段】仮想コンピュータシステムサービスによって提供されるインターフェースを活用して、仮想マシンインスタンスをプロビジョニングし、ディレクトリに結合する。仮想コンピュータシステムサービスは、マネージドディレクトリサービスと通信して、仮想マシンインスタンスの結合を可能にするための要求をディレクトリに送信するために使用され得る仮の認証情報のセットを取得する。インスタンスのプロビジョニングで、インスタンス内で動作しているエージェントは、ディレクトリのためのドメイン名とインターネットプロトコルアドレスとを取得して、ディレクトリとの接続を確立する。エージェントは、仮の認証情報のセットを取得して、要求を、インスタンスを結合するためのディレクトリに送信する。【選択図】図１
2018110003.tif 000002
【特許請求の範囲】
【請求項１】
ディレクトリのネットワークアドレス情報に対する要求をサーバに送信することと、
前記ネットワークアドレス情報を受信することと、
仮想マシンインスタンスをプロビジョニングすることと、
前記ネットワークアドレス情報及び前記仮想マシンインスタンスが前記ディレクトリと結合するための認証情報のセットを受信することと、を備え、
前記仮想マシンインスタンスは前記ディレクトリとの接続を確立するために前記ネットワークアドレス情報を使用し、前記仮想マシンインスタンスを前記ディレクトリに結合するために前記認証情報のセットを活用するように構成されている、コンピュータ実装方法。
【請求項２】
前記仮想マシンインスタンスは、前記ディレクトリとの接続を確立するように構成された前記ネットワークアドレス情報を活用するエージェントを備え、前記認証情報のセットを活用して前記仮想マシンインスタンスを前記ディレクトリに結合する、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記ネットワークアドレス情報は、前記ディレクトリに関連する、完全修飾ドメイン名及び１つ又は複数のドメイン名システムインターネットプロトコルアドレスを備える、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記仮想コンピュータシステムサービスは、
前記ディレクトリに関連する前記ネットワークアドレス情報と、前記認証情報のセットとをメタデータとして格納し、
前記仮想マシンインスタンスが前記ネットワークアドレス情報を活用して前記ディレクトリとの接続を確立する前に、前記メタデータを前記仮想マシンインスタンスに提供する、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記仮想コンピュータシステムサービスで前記ネットワークアドレス情報を受信する前に、ディレクトリのセットに前記ネットワークアドレス情報の要求を送信することを更に備え、前記ディレクトリのセットは前記仮想マシンインスタンスを結合するディレクトリを少なくとも含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記認証情報のセットの要求の送信は前記仮想マシンインスタンスで実行される、請求項１に記載のコンピュータ実装方法。
【請求項７】
１つまたは複数のプロセッサと、
命令のセットを集合的に格納するメモリと、を備え、前記１つまたは複数のプロセッサで実行されることにより、コンピュータシステムに少なくとも、
ディレクトリとの接続を確立するために使用するネットワークアドレス情報に対する第１の要求を受信させ、
コンピュータシステムインスタンスに前記ネットワークアドレス情報を送信させ、
前記コンピュータインスタンスを前記ディレクトリに結合するために使用可能な認証情報のセットに対する第２の要求を受信させ、
前記コンピュータシステムインスタンスに、前記コンピュータシステムインスタンスを前記ディレクトリに結合させるための前記認証情報のセットを送信させる、コンピュータシステム。
【請求項８】
前記コンピュータシステムインスタンスは、前記ディレクトリを管理するマネージドディレクトリサービスとは異なるコンピュータシステムサービスによってホスティングされる、請求項７に記載のコンピュータシステム。
【請求項９】
前記ネットワークアドレス情報は、前記ディレクトリに関連する、完全修飾ドメイン名と、１つ又は複数のドメイン名システムインターネットプロトコルアドレスと、を備える、請求項７に記載のコンピュータシステム。
【請求項１０】
前記コンピュータシステムインスタンスは、前記ディレクトリとの接続を確立するように構成された前記ネットワークアドレス情報を活用するエージェントを備え、前記認証情報のセットを活用して前記コンピュータシステムインスタンスを前記ディレクトリに接続する、請求項７に記載のコンピュータシステム。
【請求項１１】
前記コンピュータシステムインスタンスはアプリケーションプログラムインターフェースコマンドを送信するように構成された認証情報のセットを使用し、前記ディレクトリを維持するためのマネージドディレクトリサービスが前記コンピュータシステムインスタンスを前記ディレクトリに結合させる、請求項７に記載のコンピュータシステム。
【請求項１２】
前記コンピュータシステムインスタンスは、アプリケーションプログラミングインターフェースコマンドを前記コンピュータシステムに提出し、
前記アプリケーションプログラミングインターフェースコマンドは前記コンピュータシステムに、
前記ネットワークアドレス情報を前記コンピュータシステムインスタンスに送信させ、
前記認証情報のセットを前記ディレクトリに送信させる、請求項７に記載のコンピュータシステム。
【請求項１３】
前記ディレクトリは、１つまたは複数のコンピュータシステムインスタンスが前記ディレクトリに結合することを可能にする関連ポリシーを有する、請求項７に記載のコンピュータシステム。
【請求項１４】
ネットワークアドレス情報に対する前記第１の要求は、前記コンピュータシステムインスタンスをプロビジョニングする要求に含まれている、請求項７に記載のコンピュータシステム。
【請求項１５】
コンピュータシステムの１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに対し、
コンピュータシステムインスタンスをプロビジョニングしてディレクトリに結合するために、ディレクトリに関連するネットワークアドレス情報に対する第１の要求を送信し、
前記コンピュータシステムインスタンスをプロビジョニングし、
前記コンピュータシステムインスタンスを前記ディレクトリに結合するための認証情報に対する第２の要求を送信し、
前記ネットワークアドレス情報及び前記認証情報を受信し、
前記ディレクトリのための前記ネットワークアドレス情報及び前記コンピュータシステムインスタンスを前記ディレクトリに結合するための前記認証情報を提供することと、を備え、命令のセットを集合的に格納する、コンピュータ可読ストレージ媒体。
【請求項１６】
前記コンピュータシステムインスタンスは、前記ディレクトリを管理するマネージドディレクトリサービスとは異なるコンピュータシステムサービスによってホスティングされる、請求項１５に記載のコンピュータ可読ストレージ媒体。
【請求項１７】
前記第１の要求及び前記第２の要求は、前記コンピュータシステムインスタンスによって受信される、請求項１５に記載のコンピュータ可読ストレージ媒体。
【請求項１８】
前記第１の要求及び前記第２の要求に応答し、前記コンピュータシステムインスタンスに対し前記ネットワークアドレス情報及び前記認証情報が提供される、請求項１７に記載のコンピュータ可読ストレージ媒体。
【請求項１９】
前記命令は、前記コンピュータシステムに対し、前記ディレクトリの前記認証、前記ネットワーク情報及び前記認証情報をメタデータとして少なくとも格納させる、請求項１５に記載のコンピュータ可読ストレージ媒体。
【請求項２０】
前記ディレクトリは、１つまたは複数のコンピュータシステムインスタンスを前記ディレクトリと結合するための関連ポリシーを有する、請求項１５に記載のコンピュータ可読ストレージ媒体。
【請求項２１】
前記命令のセットは、前記１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、
前記インターフェースから前記コンピュータシステムインスタンスのプロビジョニングに対する第３の要求を受信させ、前記ディレクトリを作成させ、前記コンピュータシステムインスタンスがプロビジョニングされた後、前記コンピュータシステムインスタンスを作成されたディレクトリに結合させ、
前記ディレクトリを作成するための第４の要求を送信させ、
前記作成されたディレクトリに対する前記コンピュータシステムインスタンスネットワークアドレス情報及び前記コンピュータシステムインスタンスを前記作成されたディレクトリに結合するための前記認証情報を提供するにあたり、前記作成されたディレクトリ及び前記コンピュータシステムインスタンスを前記作成されたディレクトリに結合する前記認証情報に対する前記ネットワークアドレス情報を受信させる、請求項１５に記載のコンピュータ可読ストレージ媒体。
【請求項２２】
前記インターフェースは、前記作成されたディレクトリを管理するマネージドディレクトリサービスとは異なるコンピュータシステムサービスによってホスティングされる、請求項２１に記載のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１３年１１月１１日に出願された、「ＭＡＮＡＧＥＤ  ＤＩＲＥＣＴＯＲＹ  ＳＥＲＶＩＣＥ」という題名の、Ｕ．Ｓ．Ｐａｔｅｎｔ  Ｐｒｏｖｉｓｉｏｎａｌ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．６１／９０２，７９０と、２０１３年１２月５日に出願された、「ＡＵＴＯＭＡＴＩＣ  ＤＩＲＥＣＴＯＲＹ  ＪＯＩＮ  ＦＯＲ  ＶＩＲＴＵＡＬ  ＭＡＣＨＩＮＥ  ＩＮＳＴＡＮＣＥＳ」という題名の、Ｕ．Ｓ．Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．１４／０９８，３２３との完全な開示を、全ての目的のために、参照により組み込む。
【背景技術】
【０００２】
顧客は、ディレクトリサービスを活用して、データ管理と、一般的に、様々なリソースへのアクセスとのためのディレクトリ（たとえば、ファイルシステム、ファイル、ユーザ、セキュリティポリシー、ネットワークリソース、アプリケーション、システムストレージ、など）を作成し、維持する。ディレクトリサービスは、顧客の事業ニーズによって、ディレクトリを、（たとえば、社内の）顧客によって運営されているデータセンタ内に、または（たとえば、社外の）遠隔ネットワーク内に、作成するように構成され得る。しかしながら、ディレクトリを、社内及び社外で維持したいと望む顧客は、多数の困難に遭遇することがある。たとえば、社内ディレクトリを活用する顧客は、社外に別のディレクトリを作成し、データを２つのディレクトリ間で同期して、同一セットのデータを維持する必要があり得る。これは、顧客に、ディレクトリの各ユーザのための複数のアカウントを維持することを要求し得る。さらに、複数のディレクトリの維持は、顧客の管理上の負担を増加させ得、それは、複数のディレクトリの維持及びセキュリティが、追加のリソースを必要とし得るからである。ユーザは、コンピュータシステムをディレクトリに結合するために、複雑な操作のセットを実行しなければならないことがあり、それが問題を悪化させている。
【発明の概要】
【０００３】
本開示による様々な実施形態を、図面を参照して説明する。
【図面の簡単な説明】
【０００４】
【図１】様々な実施形態を実装することができる環境の例示的な実施例の図である。
【図２】様々な実施形態を実装することができる環境の例示的な実施例の図である。
【図３】少なくとも一実施形態による、仮想コンピュータシステムサービスを備える１つまたは複数の構成要素の例示的な実施例の図である。
【図４】少なくとも一実施形態による、コンピュータシステムリソースがコンピュータシステムエンティティによってアクセスされ得る環境の例示的な実施例の図である。
【図５】少なくとも一実施形態による、仮想マシンインスタンスを自動結合しながら、新しいディレクトリと仮想マシンインスタンスとを作成する、例示的な実施例の図である。
【図６】少なくとも一実施形態による、新しい仮想マシンインスタンスの既存のディレクトリへの自動結合の例示的な実施例の図である。
【図７】少なくとも一実施形態による、新しい仮想マシンインスタンスの既存のディレクトリへの自動結合の例示的な実施例の図である。
【図８】少なくとも一実施形態による、新しい仮想マシンインスタンスを既存のディレクトリに結合するためのメニュー選択を含むインターフェースを提供するためのプロセスの、例示的な実施例の図である。
【図９】少なくとも一実施形態による、新しい仮想マシンインスタンスを、既存のディレクトリへの自動結合のために準備するためのプロセスの、例示的な実施例の図である。
【図１０】少なくとも一実施形態による、新しい仮想マシンインスタンスを既存のディレクトリに結合するためのプロセスの例示的な実施例の図である。
【図１１】様々な実施形態を実装することができる環境の図である。
【発明を実施するための形態】
【０００５】
以下の説明では様々な実施形態を説明する。説明目的のために、実施形態の完全な理解を提供するために、具体的な構成と詳細とを明記する。しかしながら、実施形態を具体的な詳細なしに実施することができる、ということも当業者には明白である。さらに、説明している実施形態を分かり難くしないために、良く知られている特徴は省略または簡略化され得る。
【０００６】
本明細書で説明し、提案する手法は、仮想マシンまたは他のインスタンスなどのコンピュータシステムインスタンスの、ディレクトリへの自動結合に関する。一実施形態では、エンティティ（たとえば、組織）は、仮想コンピュータシステムサービスと、サービスへの１つまたは複数の適切に構成されたアプリケーションプログラミングインターフェース（ＡＰＩ）コールなどを通して、通信して、ディレクトリに結合し得る仮想マシンインスタンスの作成を要求することができる。エンティティは、マネージドディレクトリサービス、オブジェクトベースのデータストレージサービス、データベースサービス、前述の仮想コンピュータシステムサービス、及び複数の他のサービスなどの、様々なサービスを運営するコンピューティングリソースサービスプロバイダの顧客であってよい。
【０００７】
様々な実施形態では、エンティティは、仮想コンピュータシステムサービスと、１つまたは複数の適切に構成されたＡＰＩコール（たとえば、ＡＰＩコールを受信するシステムによって実行可能であるように構成されたＡＰＩコール）をサービスに送信して、どのディレクトリに仮想マシンインスタンスを加えるべきかを特定するように構成されたグラフィカルユーザインターフェース（ＧＵＩ）を通して、インターフェース接続する。たとえば、一実施形態では、ＧＵＩは、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービスに送信して、仮想マシンインスタンスを追加するために使用され得る、１つまたは複数の利用可能なディレクトリのリストを取得するように構成されている。したがって、このリストを、エンティティに、ＧＵＩを通して、エンティティが適切なディレクトリをリストから選択することができる時点で、提示することができる。代替的に、エンティティが利用可能な既存のディレクトを有しない場合、ＧＵＩは、エンティティが仮想マシンインスタンスを追加するために使用され得る新しいディレクトリを作成することを可能にする、オプションを含むことができる。
【０００８】
一実施形態では、１つまたは複数の利用可能なディレクトリのリストに加えて、ＧＵＩは、さらに、ネットワークアドレス情報（たとえば、完全修飾ドメイン名（ＦＱＤＮ）及び１つまたは複数のドメイン名システム（ＤＮＳ）インターネットプロトコル（ＩＰ）アドレス）を、マネージドディレクトリサービスから、１つまたは複数の利用可能なディレクトリの各々のために取得することができる。したがって、エンティティがＧＵＩを使用して、新しい仮想マシンインスタンスを作成し、新しく作成された仮想マシンインスタンスを追加するために使用されることになるディレクトリを選択すると、ＧＵＩは、ＦＱＤＮとＤＮＳ  ＩＰアドレスとディレクトリ識別とを、仮想コンピュータシステムサービス内の管理サブシステムに送信することができる。したがって、管理サブシステムは、ＦＱＤＮとＤＮＳ  ＩＰアドレスとディレクトリ識別とを活用して、ディレクトリのための１つまたは複数の認証情報を取得し、これらのアイテムの全てをメタデータとして、仮想コンピュータシステムサービス内のメタデータサービス内に格納することができる。
【０００９】
一実施形態では、仮想マシンインスタンスが作成されると、仮想コンピュータシステムサービスは、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービスに送信して、仮想マシンインスタンスがディレクトリに結合するために必要になり得る、ディレクトリに固有の１つまたは複数の認証情報を取得する。いくつかの実施形態では、仮想コンピュータシステムサービスは、これらの１つまたは複数の取得した認証情報と、完全修飾ドメイン名（ＦＱＤＮ）とＤＮＳインターネットプロトコル（ＩＰ）アドレスとを、メタデータとして、仮想コンピュータシステムサービス内のメタデータサービス内に格納するように構成されている。したがって、新しく作成された仮想マシンインスタンス内のエージェントは、このメタデータサービスにアクセスし、メタデータを読み出して、前述の情報を取得するように構成され得る。したがって、仮想マシンインスタンス内で動作しているエージェントは、この情報を活用して、１つまたは複数の適切に構成されたＡＰＩコールを生成し、それをディレクトリに送信して、インスタンスをディレクトリに追加することができる。
【００１０】
このようにして、顧客は、ＧＵＩを活用して、仮想マシンインスタンスを作成し、その仮想マシンインスタンスを、新しいディレクトリまたは既存のディレクトリに自動的に結合することができる。加えて、本明細書で説明し提案する手法は、追加の技術的利点をもたらす。たとえば、仮想マシンインスタンスはディレクトリに自動的に結合するので、顧客は、仮想マシンインスタンスをディレクトリに手動で結合するために、認証情報の追加のセットを読み出すことをもはや必要としなくてよい。これは、今度は、顧客に、他のユーザが利用可能なディレクトリをより短時間で作成することを可能にし、したがって、ディレクトリの実装の遅れから生じるダウンタイムを削減することができる。さらに、これは、顧客及び他のユーザが、新しいディレクトリまたは既存のディレクトリにアクセスするための認証情報のセットを使用して、新しく作成された仮想マシンインスタンスにアクセスすることを可能にする。
【００１１】
図１は、様々な実施形態を実施し得る環境１００の例示的な実施例を示している。環境１００では、コンピューティングリソースサービスプロバイダ１０２は、様々なコンピューティングリソースサービスを、コンピューティングリソースサービスプロバイダの顧客に提供する。コンピューティングリソースサービスプロバイダ１０２は、１つまたは複数の顧客のために様々なコンピューティングリソースをホストする組織であってよい。たとえば、コンピューティングリソースサービスプロバイダ１０２は、ハードウェアサーバ、データストレージデバイス、ネットワークデバイス、及び、サーバラック、ネットワークケーブルなどの他の設備などの様々なコンピューティングハードウェアリソースをホストするために使用される、１つまたは複数の施設を運営することができる。コンピューティングリソースサービスプロバイダ１０２は、そのコンピューティングハードウェアリソースを活用して、１つまたは複数のサービスを運営することができる。そのようなサービスは、コンピューティングリソースサービスプロバイダ１０２の顧客がコンピューティングリソースを遠隔管理して、顧客の事業をサポートしながら、顧客が物理的な装置に投資する必要性を減少させる、または除去さえすることを可能にするサービスを含むことができる。例示的なサービスは、様々なデータストレージサービス（オブジェクトベースのデータストレージサービス、アーカイバルデータストレージサービス、データベースサービスなど）と、プログラム実行サービスと、他のサービスとを含むが、これらに限定されない。サービスは、顧客によって使用されて、ウェブサイトを運営すること、組織をサポートする企業システムを運営すること、分散計算活動、及び／または他の活動などの多種多様な活動をサポートすることができる。
【００１２】
したがって、図１に例示した通り、環境１００は、顧客１０４を含む。顧客１０４は、コンピューティングリソースサービスプロバイダ１０２によって提供される１つまたは複数のサービスを活用して、彼または彼女の事業をサポートするためのディレクトリ１０６を運営、管理することができる、個人、組織、または自動プロセスであってよい。ディレクトリ１０６を運営、管理するために、たとえば、顧客１０４は、仮想マシンインスタンス１１０を作成し、それをディレクトリ１０６に結合することを要求され得る。たとえば、仮想マシンインスタンス１１０は、顧客１０４が、ディレクトリ１０６の追加ユーザのための認証情報を作成し、提供することと、様々なアプリケーションを展開することと、ディレクトリ１０６のための１つまたは複数のセキュリティポリシーを適用することと、を可能にすることができる。したがって、顧客１０４は、顧客コンピュータシステムデバイスを通して、コンピューティングリソースサービスプロバイダ１０２によって提供されている仮想コンピュータシステムサービス１０８に、仮想マシンインスタンス１１０を構成し、仮想マシンインスタンス１１０をディレクトリ１０６に追加することを要求するための１つまたは複数の要求を、提出することができる。
【００１３】
以下でより詳細に説明する通り、仮想コンピュータシステムサービス１０８は、グラフィカルユーザインターフェース（ＧＵＩ）を含むことができ、グラフィカルユーザインターフェース（ＧＵＩ）は、顧客１０４が１つまたは複数の要求を仮想コンピュータシステムサービス１０８に提出することを可能にすることができる。たとえば、一実施形態では、ＧＵＩは、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービス１１２に送信して、顧客１０４が現在アクセスを有する全ての利用可能なディレクトリ１０６のリストと、そのリスト内のディレクトリ１０６の各々に対するネットワークアドレス情報（たとえば、完全修飾ドメイン名（ＦＱＤＮ）及びドメイン名システム（ＤＮＳ）インターネットプロトコル（ＩＰ）アドレス）とを要求するように構成されている。全ての利用可能なディレクトリ１０６のリストを使用して、仮想マシンインスタンス１０６を追加するために使用されることになるディレクトリ１０６を選択するために顧客１０４が使用することができるメニューを、ＧＵＩ内に追加することができる。したがって、いったん顧客１０４が、新しく作成された仮想マシンインスタンス１１０のためにどのディレクトリ１０６を使用するかを特定すると、ＧＵＩは、ディレクトリ１０６の識別とＦＱＤＮとＤＮＳ  ＩＰアドレスとを、仮想コンピュータシステムサービス１０８内の管理サブシステムに送信することができる。
【００１４】
いったん仮想マシンインスタンス１１０が作成されると、仮想コンピュータシステムサービス１０８は、１つまたは複数の適切に構成されたＡＰＩコールなどを通して、マネージドディレクトリサービス１１２と通信して、仮想マシンインスタンス１１０をディレクトリ１０６に結合するために必要な認証情報のセットを取得することができる。仮想コンピュータシステムサービス１０８は、認証情報のセットと追加情報（たとえば、ＦＱＤＮ、ＤＮＳ  ＩＰ、ディレクトリ識別、など）とを、メタデータとしてサービス内に格納し、それを仮想マシンインスタンス１１０に対して利用可能にするように構成され得る。したがって、仮想マシンインスタンス１１０は、メタデータを仮想コンピュータシステムサービス１０８から取得し、ディレクトリ１０６に結合するために必要な認証情報のセットと追加情報とを抽出するように構成され得る。仮想マシンインスタンス１１０は、追加情報を活用してディレクトリ１０６との接続を確立し、さらに、認証情報のセットを活用して仮想マシンインスタンス１１０をディレクトリ１０６に結合するように構成され得る。いったん仮想マシンインスタンス１１０がディレクトリ１０６に結合すると、顧客１０４及び任意の他の代表ユーザは、ディレクトリ１０６にアクセスするための認証情報のセットを活用して、仮想マシンインスタンス１１０にもアクセスすることができる。
【００１５】
図２は、本開示の様々な実施形態を実施することができる環境２００の例示的な実施例を示している。環境２００では、コンピューティングリソースサービスプロバイダ２０６は、様々なサービスを顧客２０２に提供することができる。顧客２０２は、コンピューティングリソースサービスプロバイダ２０６によって提供される様々なサービスを活用して、１つまたは複数のディレクトリと、１つまたは複数のディレクトリを運営するのに必要な仮想マシンインスタンスとを、遠隔で生成し、テストし、維持することができる組織であってよい。図２に例示する通り、顧客２０２は、コンピューティングリソースサービスプロバイダ２０６と、インターネットなどの１つまたは複数の通信ネットワーク２０４を通して通信することができる。顧客２０２からコンピューティングリソースサービスプロバイダ２０６へのいくつかの通信は、コンピューティングリソースサービスプロバイダ２０６を、本明細書で説明する様々な手法またはそれらの変形に従って動作させることができる。
【００１６】
上述の通り、コンピューティングリソースサービスプロバイダ２０６は、様々なコンピューティングリソースサービスをその顧客に提供することができる。たとえば、本特定の例示的な実施例では、コンピューティングリソースサービスプロバイダ２０６は、少なくとも２つの種類のサービスを提供する。コンピューティングリソースサービスプロバイダによって提供されるサービスは、本実施例では、マネージドディレクトリサービス２０８と、仮想コンピュータシステムサービス２１０と、１つまたは複数の他のサービス２１２とを含むが、本開示の全ての実施形態が、全てのそのようなサービスを含むわけではなく、追加的なサービスを、本明細書で明示的に説明するサービスに加えて、またはその代替物として、提供することができる。
【００１７】
マネージドディレクトリサービス２０８は、様々なサービスを提供して、コンピュータシステム及び／またはコンピュータシステムクライアントデバイスが顧客ディレクトリにアクセスすることを可能にすることができ、様々なサービスには、認証サービスと、権限付与サービスと、ディレクトリサービスとが含まれるが、これらに限定されない。たとえば、マネージドディレクトリサービス２０８は、認証サービスを提供することができ、認証サービスは、ユーザ、コンピュータシステム、プロセス、自動プロセス、または他のそのようなエンティティの認証情報を認証して、そのエンティティが、マネージドディレクトリサービス２０８及び／またはマネージドディレクトリサービス２０８に関連する顧客ディレクトリにアクセスする権限を与えられているかどうかを、少なくとも判断することができる。いくつかの実施形態では、認証情報は、マネージドディレクトリサービス２０８自体によって認証され得、または認証情報は、マネージドディレクトリサービス２０８の制御下にあるプロセス、プログラム、またはサービスによって認証され得、または認証情報は、マネージドディレクトリサービス２０８が通信することができるプロセス、プログラム、またはサービスによって認証され得、または認証情報は、これら及び／または他のそのようなサービスまたはエンティティの組み合わせによって認証され得る。
【００１８】
マネージドディレクトリサービス２０８は、また、権限付与サービスを提供することができ、権限付与サービスは、ユーザ、コンピュータシステム、プロセス、自動プロセス、または他のそのようなエンティティに権限を与えて、１つまたは複数の可能性のあるアクションのうちのどのアクションをそのエンティティが実行することができるかを少なくとも決定することができる。エンティティが実行する権限を与えられているかもしれず、与えられていないかもしれないアクションの実施例は、ディレクトリを顧客ディレクトリ上に作成すること、ディレクトリを顧客ディレクトリ上で破棄すること、顧客ディレクトリ上のディレクトリを結合すること、顧客ディレクトリ上のディレクトリから分離すること、顧客ディレクトリ上のディレクトリへのアクセスリンクを提供すること、顧客ディレクトリ上のディレクトリへのアクセスリンクを再要求すること、顧客ディレクトリ上のディレクトリからの読み出しを可能にすること、顧客ディレクトリ上のディレクトリへの書き込みを可能にすること、及び／または他のそのようなアクションを含むが、これらに限定されない。
【００１９】
マネージドディレクトリサービス２０８は、また、ディレクトリサービスを提供することができ、ディレクトリサービスは、権限付与認証情報及び／またはポリシーに従って、認証されたエンティティに、顧客ディレクトリへのアクセスを提供することができる。たとえば、コンピュータシステムエンティティに、顧客ディレクトリ上に格納された特定のデータを読み書きする権限を与えることができる一実施形態では、そうする能力は、ディレクトリサービスによって提供され得る。ディレクトリサービスは、顧客ディレクトリへのアクセスを、統一リソース識別子（ＵＲＩ）オブジェクトまたはいくつかの他のそのようなリンクなどによって、顧客ディレクトリの場所へのリンクを提供することによって、提供することができる。検討され得る通り、ＵＲＩを、コンピュータシステムクライアントデバイスによって、またはデータセンタで動いているプロセスによって、またはデータセンタに接続されたコンピュータシステム上で動いているプロセスによって、またはマネージドディレクトリサービス２０８によって、またはこれら及び／または他のそのようなコンピュータシステムエンティティによって、提供することができる。
【００２０】
仮想コンピュータシステムサービス２１０は、仮想マシンインスタンスを仮想コンピュータシステム上にコンピューティングリソースサービスプロバイダ２０６の顧客２０２のためにインスタンス化するように構成された、コンピューティングリソースの集合であってよい。コンピューティングリソースサービスプロバイダ２０６の顧客２０２は、仮想コンピュータシステムサービス２１０と相互作用して、コンピューティングリソースサービスプロバイダ２０６によってホスト（たとえば、物理ホスト）され、運営されている物理コンピューティングデバイス上でインスタンス化された仮想コンピュータシステムをプロビジョニングし、運営することができる。仮想コンピュータシステムは、顧客ディレクトリをサポートするサーバとして動作するためなどの、様々な目的のために使用され得る。仮想コンピュータシステムのための他のアプリケーションは、データベースアプリケーション、電子商取引アプリケーション、ビジネスアプリケーション、及び／または他のアプリケーションをサポートするためのものであり得る。
【００２１】
顧客２０２が仮想コンピュータシステムサービス２１０と相互作用して、顧客ディレクトリに結合することになる仮想マシンインスタンスをプロビジョニングすると、顧客２０２は、様々なリソースへのアクセスを得ることができる。たとえば、仮想マシンインスタンスは、顧客のニーズにより、オペレーティングシステムと様々なアプリケーションとをプロビジョニングすることができる。仮想マシンインスタンスを、上述の通り、コンピューティングリソースサービスプロバイダ２０６によって運営され得る物理ホスト上にインスタンス化することができる。仮想マシンインスタンスは、エージェントを含むことができ、エージェントは、仮想コンピュータシステムサービス２１０にアクセスして、仮想マシンインスタンスを顧客ディレクトリに結合するのに必要なメタデータを取得するように構成され得る。したがって、仮想コンピュータシステムサービス２１０は、マネージドディレクトリサービス２０８と相互作用して、顧客ディレクトリに接続するために必要な情報と認証情報とを取得するように構成され得る。上述の通り、これは、ディレクトリへの結合を実行するために必要な、顧客ディレクトリ識別とＦＱＤＮとＤＮＳ  ＩＰアドレスと１つまたは複数のパスワードとを含むことができる。
【００２２】
コンピューティングリソースサービスプロバイダ２０６は、加えて、その顧客２０２のニーズに基づいて、１つまたは複数の他のサービス２１２を維持することができる。たとえば、コンピューティングリソースサービスプロバイダ２０６は、その顧客２０２のために、データベースサービスを維持することができる。データベースサービスは、１つまたは複数のデータベースを１つまたは複数の顧客２０２のために実行するように集合的に動作する、コンピューティングリソースの集合であってよい。コンピューティングリソースサービスプロバイダ２０６の顧客２０２は、データベースサービスからのデータベースを、サービスへの適切に構成されたＡＰＩコールを活用することによって、運営、管理することができる。これは、今度は、顧客２０２が、データベース内の動作を維持し、潜在的に大きさを変えることを可能にする。他のサービスは、オブジェクトレベルのデータストレージサービス、オブジェクトレベルのアーカイバルデータストレージサービス、他のサービスを管理するサービス、及び／または他のサービスを含むが、これらに限定されない。
【００２３】
上述の通り、仮想コンピュータシステムサービスは、１つまたは複数の顧客によって使用されて、仮想マシンインスタンスをプロビジョニングし、この仮想マシンインスタンスを顧客ディレクトリに結合することができる。したがって、図３は、少なくとも一実施形態による、仮想コンピュータシステムサービス３０２の様々な構成要素を含む環境３００の例示的な実施例を示している。仮想コンピュータシステムサービス３０２は、顧客に、インターフェース３０４を提供することができ、インターフェース３０４は、顧客が仮想コンピュータシステムサービス３０２にアクセスすることを可能にすることができる。顧客は、インターフェース３０４を、インターネットなどの１つまたは複数の通信ネットワークを通して活用することができる。インターフェース３０４は、顧客が仮想コンピュータシステムサービス３０２にアクセスするための権限を有することを保証する、特定のセキュリティ予防手段を含むことができる。たとえば、仮想コンピュータシステムサービス３０２にアクセスするために、顧客は、ユーザ名と、対応するパスワードまたは暗号化キーとを、インターフェース３０４を使用する時に提供する必要があり得る。加えて、インターフェース３０４に提出される要求（たとえば、ＡＰＩコール）は、電子署名が、（図示しない）権限付与システムによってなど、仮想コンピュータシステムサービス３０２によって証明可能であるように、暗号化キーを使用して生成した電子署名を要求することができる。
【００２４】
いったん顧客が、仮想コンピュータシステムサービス３０２へのアクセスを、インターフェース３０４を通して得ると、仮想コンピュータシステムサービス３０２は、顧客が、インターフェース３０４を通して、管理サブシステム３０６と相互作用することを可能にすることができる。たとえば、管理サブシステム３０６は、顧客が仮想マシンインスタンスを遠隔でプロビジョニングすることを可能にすることができる。顧客は、インターフェース３０４と管理サブシステム３０６とを使用して、顧客のニーズに合ったオペレーティングシステムと様々なアプリケーションとを含む仮想マシンインスタンスを生成することができる。オペレーティングシステムと様々なアプリケーションとを、データストレージ内に、マシン画像３０８という形で維持することができる。仮想コンピュータシステムサービス３０２は、管理サブシステム３０６で規定される通り、具体的な顧客の好みに基づいて、様々なマシン画像３０８を維持することができる。顧客が、仮想マシンインスタンスをプロビジョニングすることに対する要求を、管理サブシステム３０６を通して提出すると、仮想コンピュータシステムサービス３０２は、顧客が要求したマシン画像を特定し、マシン画像を処理するのに必要なリソース（たとえば、マシン画像の構成要素を動作させるのに必要なプロセッサとランダムアクセスメモリ（ＲＡＭ））を割り振ることができる。マシン画像を、インスタンスのための物理ホスト３１２として動作することができる、１つまたは複数の物理ストレージデバイス（たとえば、１つまたは複数のサーバまたはハードドライブ）上にインスタンス化することができる。
【００２５】
インターフェース３０４と管理サブシステム３０６とを活用して、仮想マシンインスタンスを遠隔でプロビジョニングすることに加えて、顧客は、インターフェース３０４を活用して、新しく作成された仮想マシンインスタンスを追加するために使用され得る顧客ディレクトリを指定することができる。したがって、以下でより詳細に説明する通り、インターフェース３０４は、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービスに送信して、仮想マシンインスタンスを追加するために使用され得る全ての利用可能な顧客ディレクトリのリストを取得するように構成され得る。マネージドディレクトリサービスへのＡＰＩコールに応答して、インターフェース３０４は、各顧客ディレクトリについて、ＦＱＤＮとＤＮＳ  ＩＰアドレスと顧客ディレクトリ識別とを取得することができる。顧客ディレクトリ識別を使用して、顧客に、仮想マシンインスタンスを結合するために使用され得る、利用可能な顧客ディレクトリのリストを提供することができる。使用されることになる顧客ディレクトリについての顧客の選択に少なくとも部分的に基づいて、インターフェース３０４は、管理サブシステム３０６に、選択された顧客ディレクトリ識別と、顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを送信することができる。
【００２６】
いったん管理サブシステム３０６が仮想マシンインスタンスを作成すると、管理サブシステム３０６は、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービスに送信して、仮想マシンインスタンスを選択された顧客ディレクトリに結合するのに必要であり得る、１つまたは複数の認証情報を取得することができる。管理サブシステム３０６は、その後、１つまたは複数の認証情報と、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを、メタデータサービス３１０に伝達することができる。これは、仮想マシンインスタンス内のエージェントが、このメタデータサービス３１０にアクセスすることと、１つまたは複数の認証情報と追加情報とを取得することと、仮想マシンインスタンスを選択された顧客ディレクトリに結合することと、を可能にすることができる。メタデータサービス３１０は、本開示を通して、１つまたは複数の認証情報と、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを格納するための機構を説明するために使用されるが、１つまたは複数の認証情報と同様に、この情報も、メタデータとして、別になっているメタデータサービスを活用しない他の方法で格納され得る。たとえば、ＦＱＤＮとＤＮＳ  ＩＰアドレスと１つまたは複数の認証情報とを、インスタンスに直接提供することができる。したがって、仮想コンピュータシステムサービス３０２は、メタデータサービス３１０を含む必要はなく、ＦＱＤＮとＤＮＳ  ＩＰアドレスと１つまたは複数の認証情報とを、使用される形式に従って格納するための代替的なサービスを含むことができる。
【００２７】
上述した通り、仮想コンピュータシステムサービスは、インターフェースと管理サブシステムとを含むことができ、インターフェース及び管理サブシステムは、両方とも、マネージドディレクトリサービスと通信して、新しく作成された仮想マシンインスタンスを顧客ディレクトリに結合するのに必要な、認証情報と追加情報とを取得するように構成され得る。したがって、図４は、少なくとも一実施形態による、ディレクトリサービスなどのコンピュータシステムサービスと、ディレクトリサービスに関連する、ユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソースとを含むが、これらに限定されないコンピュータシステムディレクトリリソースに、分散コンピュータシステム環境及び／または仮想コンピュータシステム環境上でアクセスするための環境４００と、その上で動いている関連コードとを示している。コンピュータシステムエンティティ、ユーザ、またはプロセス４０２は、コンピュータシステムに、コンピュータシステムクライアントデバイス４０４を通して接続することができ、接続４０６を介した１つまたは複数のサービス４２６へのアクセスを要求することができる。サービスへのアクセスを要求するコマンドまたは複数のコマンドは、外部のコンピュータシステム及び／またはサーバから生じることができ、または遠隔ネットワークの場所におけるエンティティ、ユーザ、またはプロセスから生じることができ、またはコンピュータシステムから生じることができ、コンピュータシステムクライアントデバイスのユーザから生じることができ、またはこれら及び／または他のこのようなオブジェクトの組み合わせの結果として生じることができる。サービスへのアクセスを要求するコマンドまたは複数のコマンドを、いくつかの実施形態では、特権ユーザによって、または非特権ユーザによって、または自動プロセスによって、または警告または条件の結果として、または、これら及び／または他の方法の組み合わせによって、発行することができる。
【００２８】
コンピュータシステムクライアントデバイスは、サービスへのアクセスを、１つまたは複数のネットワーク４１６、及び／または、ネットワークに直接または間接的に接続された他のサーバなどのそれに関連するエンティティを介して、要求することができる。コンピュータシステムクライアントデバイスは、コンピュータシステムとネットワークを介して接続することができる任意のデバイスを含むことができ、少なくとも、サーバ、ノートパソコン、スマートフォンまたはタブレットなどの携帯デバイス、スマートウォッチ、スマートテレビ、セットトップボックス、ビデオゲーム機及び他のそのようなネットワーク使用可能なスマートデバイスなどの他のスマートデバイス、分散コンピューティングシステム及びその構成要素、ゲストコンピュータシステムまたは仮想マシンなどの抽象化構成要素、及び／または他の種類のコンピューティングデバイス及び／または構成要素を含む。ネットワークは、たとえば、ローカルネットワーク、内部ネットワーク、インターネットなどの公衆ネットワーク、広域ネットワーク、無線ネットワーク、モバイルネットワーク、衛星ネットワーク、複数のネットワークノードを有する分散コンピューティングシステム、及び／または同様なものを含むことができる。ネットワークは、また、以下に挙げるものなどの様々なプロトコルに従って動作することができ、プロトコルは、Ｂｌｕｅｔｏｏｔｈ（登録商標）プロトコル、ＷｉＦｉ（登録商標）プロトコル、セルラーネットワークプロトコル、衛星ネットワークプロトコル、及び／または他のものである。
【００２９】
いくつかの実施形態では、コンピュータシステムは、１つまたは複数のローカルコンピュータシステムリソース４０８を含むことができ、ローカルコンピュータシステムリソース４０８は、顧客の施設に少なくとも部分的に配置され得、また、ファイル及び／または他のコンピュータシステムリソースをそこに格納することができ、ファイル及び／または他のコンピュータシステムリソースは、ディレクトリ、アプリケーション、データ、データベース、他のコンピュータシステムリソースへのリンク、システムドライバ、コンピュータオペレーティングシステム、仮想マシン、及び／または他のそのようなリソースを含むが、それらに限定されない。いくつかの実施形態では、ローカルコンピュータシステムリソースは、ローカルファイルシステムリソースであってよく、システムランダムアクセスメモリ（ＲＡＭ）、ディスクドライブ、半導体ドライブ、取り外し可能ドライブ、またはこれらの組み合わせ、及び／または他のそのようなストレージデバイスなどの、様々なストレージデバイス上に格納され得る。いくつかの実施形態では、ローカルコンピュータシステムリソースは、コンピュータシステムクライアントデバイスによって、たとえば、本明細書で説明するネットワーク接続などの１つまたは複数の接続を介してアクセスされ得る、データセンタ（一緒に配置され得る複数のコンピュータシステムリソース、サービス、及び／またはストレージデバイス）内に、少なくとも部分的に配置され得る。コンピュータシステムリソース及び／またはデータセンタは、ローカルに、またはローカルと遠隔とを組み合わせて、配置され得る。たとえば、いくつかの実施形態では、ファイルシステム及び／またはディレクトリは、ローカルのデータセンタ内に配置されたディスク上に配置され得、ファイルシステム及び／またはディレクトリの内容は、また、遠隔データセンタ内に配置されたディスクに複製され得る。いくつかの他の実施形態では、ファイルシステム及び／またはディレクトリは、ローカルであり得る１つのデータセンタ内に配置されたその内容の少なくとも一部と、ローカルまたは遠隔であり得る１つまたは複数の他のデータセンタ内に配置されたその内容の他の部分とを有することができる。ストレージデバイスは、本明細書で説明するものなどの物理デバイス、及び／または、そのような物理デバイスの仮想表示を含むことができる。たとえば、ファイルシステム及び／またはディレクトリストレージデバイスは、ある程度の量の物理メモリを含むことができ、そのうちの一部は、仮想ディスクドライブ上に作成されたファイルシステムを有する仮想ディスクドライブとして、ストレージ専用にされる。他のそのようなローカルストレージデバイスを、本開示の範囲内としてみなすことができる。
【００３０】
いくつかの実施形態では、サービス４２６は、本明細書で説明するものなどの、１つまたは複数のコンピュータシステムディレクトリリソースへアクセスする必要があり得る。サービス４２６は、いくつかの実施形態では、様々な他のコンピュータシステムエンティティを含むことができ、それには、ユーザ、他のコンピュータシステム、プロセス及び／または自動プロセス、及び／または他のそのようなコンピュータシステムエンティティが含まれるが、これらに限定されない。システムディレクトリリソースへのアクセス４１４は、いくつかの実施形態では、１つまたは複数のシステムリソースへのアクセスを提供することができる、マネージドディレクトリサービス４１８などのサービスによって提供され得る。マネージドディレクトリサービスは、様々なサービスを提供して、コンピュータシステム及び／またはコンピュータシステムクライアントデバイスがシステムリソースへアクセスすることを可能にすることができ、サービスは、認証サービス４２０と権限付与サービス４２２とディレクトリサービス４２４とを含むが、これらに限定されない。
【００３１】
たとえば、マネージドディレクトリサービスは、認証サービス４２０を提供することができ、認証サービス４２０は、ユーザ、コンピュータシステム、プロセス、自動プロセス、または他のそのようなエンティティの認証情報を認証して、そのエンティティが、マネージドディレクトリサービス及び／またはマネージドディレクトリサービスに関連するシステムリソースにアクセスする権限を与えられているかどうかを、少なくとも判断することができる。いくつかの実施形態では、認証情報は、マネージドディレクトリサービス自体によって認証され得、または認証情報は、マネージドディレクトリサービスの制御下のプロセス、プログラム、またはサービスによって認証され得、または認証情報は、マネージドディレクトリサービスが通信することができるプロセス、プログラム、またはサービスによって認証され得、または認証情報は、これら及び／または他のそのようなサービスまたはエンティティの組み合わせによって認証され得る。
【００３２】
マネージドディレクトリサービスは、また、権限付与サービス４２２を提供することができ、権限付与サービス４２２は、ユーザ、コンピュータシステム、プロセス、自動プロセス、または他のそのようなエンティティに権限を与えて、１つまたは複数の可能性のあるアクションのうちのどのアクションをそのエンティティが実行することができるかを、少なくとも判断することができる。たとえば、ファイルシステムリソースなどのコンピュータシステムリソースの場合では、エンティティが実行する権限を与えられるかもしれず、与えられないかもしれないアクションは、ファイルシステムをファイルシステムリソース上に作成すること、ファイルシステムをファイルシステムリソース上で破棄すること、システムリソース上のシステムに結合すること、ファイルシステムリソース上のシステムから切り離すこと、ファイルシステムリソース上のファイルシステムへのアクセスリンクを提供すること、ファイルシステムリソース上のファイルシステムへのアクセスリンクを再要求すること、ファイルシステムリソース上のファイルシステムからの読み出しを可能にすること、ファイルシステムリソース上のファイルシステムへの書き込みを可能にすること、及び／または他のそのようなファイルシステムリソースアクションを含むが、これらに限定されない。
【００３３】
システムリソースに対するアクションは、ディレクトリ、ファイル、アプリケーション、データ、データベース、他のリソースへのリンク、システムドライバ、オペレーティングシステム、仮想マシン、及び／またはそれらの上の他のそのようなシステムリソースオブジェクトに対するアクションを含むが、それらに限定されず、本明細書で述べるアクションなどのアクションを含むことができる。システムリソースを開始し、停止し、再要求し、破壊し、及び／またはそうでなければ管理するためのアクション、及び他のそのようなアクションは、また、利用可能なアクションの中に含まれ得る。アクションを実行する権限は、たとえば、特定のエンティティに関連する認証情報及び／またはポリシーのセットを維持し、認証情報及び／またはポリシーのセットに少なくとも部分的に基づいて、エンティティがどのアクションを実行する権限を与えられているかを判断することができるシステムなどの、認証情報システムまたはポリシーシステムなどのエンティティによって管理され得る。エンティティが実行する権限を与えられ得るアクションは、静的であり得、または、多数の要因に従って変化し得、要因には、時刻、認証情報の種類、システムポリシー、アクセスされているオブジェクトの性質、種類、または場所、またはこれら及び／または他のそのような権限付与要因の組み合わせを含むが、それらに限定されない。たとえば、コンピュータシステムエンティティは、ファイルシステム上の特定のファイルを読み出すことのみと、ファイルシステム上の特定の他のファイルを読み書きすることと、ファイルシステム上で特定の他のファイルを追加、削除することと、の権限を与えられ得る。異なるコンピュータシステムエンティティは、任意のアクションをファイルシステム上で実行する権限を与えられ得るが、それは、それらのアクションが、特定の場所で、特定の時間に生じた場合のみである。１つまたは複数のプロセスは、たとえば、システムログなどのファイルシステム上のファイルに書き込む権限のみを与えられ得、一方で、他のプロセスは、ファイルから読み出す権限のみを与えられ得る。検討され得る通り、これらは例示的な実施例である。他の種類の動作は、マネージドディレクトリサービス権限付与システムによって権限を与えられ得、そのような他の種類の動作は、また、本開示の範囲内であるとみなされる。
【００３４】
マネージドディレクトリサービスは、また、ディレクトリサービス４２４を提供することができ、ディレクトリサービス４２４は、権限付与認証情報及び／またはポリシーに従って、コンピュータシステムリソースへの認証されたエンティティアクセス４１４を提供することができる。たとえば、コンピュータシステムエンティティが、ファイルシステムリソースなどのコンピュータシステムリソース上の特定のデータストアを読み書きする権限を与えられ得る一実施形態では、そうする能力は、ディレクトリサービスによって提供され得る。ディレクトリサービスは、ファイルシステムリソースへのアクセスを、ＵＲＩオブジェクトまたはいくつかの他のそのようなリンクによってなど、ファイルシステムリソースの場所へのリンクを提供することによって、提供することができる。ＵＲＩは、コンピュータシステムクライアントデバイスによって、またはデータセンタで動いているプロセスによって、またはデータセンタに接続されたコンピュータシステム上で動いているプロセスによって、またはマネージドディレクトリサービスによって、またはこれら及び／または他のそのようなコンピュータシステムエンティティの組み合わせによって、提供され得る。
【００３５】
いくつかの実施形態では、コンピュータシステムリソースへのアクセスは、要求エンティティにはアクセスが見えない方法で提供され得る。たとえば、アクセス４１４は、要求エンティティに、ＵＲＩまたはローカルファイルシステム４０８上の場所４１０への他のそのようなリンクとして提供され得る。コンピュータシステムリソース上の場所は、ＵＲＩに、コンピュータシステム上で動いている１つまたは複数のプロセスによって変換４１２され得る。コンピュータシステムリソースへのアクセスを要求したサービスまたはエンティティ４２６は、受信ＵＲＩ４２８を使用して、コンピュータシステムリソースに、コンピュータシステムリソースの場所に依存する構成を必要とせずにアクセスすることができ、いくつかの実施形態では、ＵＲＩを使用してコンピュータシステムリソースにリンクし、あたかもサービスまたはエンティティ４２６がコンピュータシステムリソースに直接接続されているかのように動作することができる。たとえば、サービスまたはエンティティにとって、サービスまたはエンティティに対してローカルな場所に配置されているように見え得るファイルへデータのセットを書き込むように見える動作は、データをネットワークパケットに実際にパッケージ化することができ、その後、そのパケットを、ネットワーク４１６上で、アクセスリング４１４を介して伝達して、ローカルファイルシステム４０８上に配置されたファイルに実際に書き込むことができる。検討され得る通り、これらは例示的な実施例であり、マネージドディレクトリサービスによって実行され得る他の種類の動作も、また、本開示の範囲内とみなされ得る。
【００３６】
上述の通り、顧客は、仮想コンピュータシステムサービスによって提供されるインターフェースを活用して、仮想マシンインスタンスを作成し、仮想マシンインスタンスを結合するために使用されることになる顧客ディレクトリを指定することができる。しかしながら、顧客ディレクトリが利用可能でない場合、顧客は、新しい顧客ディレクトリを追加的に作成し、仮想マシンインスタンスをこの新しい顧客ディレクトリに結合するというオプションを提示され得る。したがって、図５は、少なくとも一実施形態による、新しく作成された仮想マシンインスタンス５１０を新しく作成された顧客ディレクトリ５２２に結合する環境５００の、例示的な実施例である。
【００３７】
顧客は、仮想コンピュータシステムサービス５０２に、インターフェース５０４を通してアクセスして、仮想マシンインスタンス５１０のプロビジョニングを要求することができる。ブラウザまたは他のアプリケーションを使用してインターフェース５０４を表示する場合、ブラウザまたは他のアプリケーションは、１つまたは複数の適切に構成されたＡＰＩコールを、インターフェース５０４から他のサービスに送信することができる、ということを理解すべきである。代替的に、インターフェース５０４を表示するために使用されるブラウザまたは他のアプリケーションは、顧客によって提供された情報を仮想コンピュータシステムサービス５０２に送信するように構成され得る。その後、仮想コンピュータシステムサービス５０２は、１つまたは複数の適切に構成されたＡＰＩコールを他のサービスに送信することができる。上述した通り、インターフェース５０４は、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービス５１４に送信して、顧客がアクセスを有し得る全ての利用可能な顧客ディレクトリ５２２のリストを取得するように構成され得る。したがって、インターフェース５０４からの１つまたは複数のＡＰＩコールに応答して、マネージドディレクトリサービス５１４は、利用可能な顧客ディレクトリ５２２のリストと、顧客ディレクトリ５２２の各々のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを、送信することができる。しかしながら、利用可能な顧客ディレクトリ５２２がない場合、マネージドディレクトリサービス５１４は、空リストをインターフェース５０４に送信することができる。したがって、インターフェース５０４は、顧客に、新しい顧客ディレクトリ５２２を作成し、仮想マシンインスタンス５１０をこの新しい顧客ディレクトリ５２２に結合するというオプションを提示するように構成され得る。
【００３８】
顧客が、インターフェース５０４を通して、新しい仮想マシンインスタンス５１０を新しい顧客ディレクトリ５２２に結合するべきであると指定する場合、インターフェース５０４は、（図５に例示した「ＣｒｅａｔｅＤｉｒｅｃｔｏｒｙ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービス５１４に送信して、新しい顧客ディレクトリ５２２を作成することができる。したがって、マネージドディレクトリサービス５１４内のディレクトリサービス５２０は、要求を処理し、顧客が新しい顧客ディレクトリ５２２を作成する権限を与えられているかどうかを判断することができる。顧客が新しい顧客ディレクトリ５２２を作成する権限を与えられている場合、ディレクトリサービス５２０は、顧客ディレクトリ５２２を、顧客の施設上に、ローカル許可を有して作成することができる（たとえば、顧客及び代理ユーザは、顧客ディレクトリ５２２に、顧客ディレクトリ５２２に固有の認証情報を活用してアクセスすることができる）。いくつかの実施形態では、顧客及び他のユーザが、彼らのコンピューティングリソースサービスプロバイダ認証情報を活用して顧客ディレクトリ５２２にアクセスすることができるように、顧客ディレクトリ５２２を作成することができる。
【００３９】
いったん新しい顧客ディレクトリ５２２が作成されると、マネージドディレクトリサービスは、顧客ディレクトリ５２２のための、顧客ディレクトリ５２２識別とＦＱＤＮとＤＮＳ  ＩＰアドレスとを、仮想コンピュータシステムサービス５０２内の管理サブシステム５０６に送信することができる。加えて、管理サブシステム５０６は、仮想マシンインスタンス５１０を新しく作成された顧客ディレクトリ５２２に結合するために使用され得る認証情報の仮のセットを、マネージドディレクトリサービス５１４から受信することができる。管理サブシステムは、この情報をメタデータサービス５０８に伝達し、いったん仮想マシンインスタンス５１０が作成されると、その情報を仮想マシンインスタンス５１０に対して利用可能にすることができる。上述の通り、管理サブシステム５０６は、さらに、図３に関連して説明した通り、新しい仮想マシンインスタンス５１０を作成するための顧客要求をさらに処理して、仮想マシンインスタンス５１０を物理ホスト内にインスタンス化することができる。
【００４０】
いったん仮想マシンインスタンス５１０がインスタンス化されると、仮想マシンインスタンス５１０内のエージェント５１２は、１つまたは複数の実行可能命令を、仮想コンピュータシステムサービス５０２内のメタデータサービス５０８へ送信して、仮想マシンインスタンス５１０を顧客ディレクトリ５２２に結合するのに必要な、ＦＱＤＮとＤＮＳ  ＩＰアドレスと認証情報の仮のセットとを取得することができる。したがって、仮想マシンインスタンス５１０内で動作しているエージェント５１２は、メタデータを活用して、ＦＱＤＮと、ＤＮＳ  ＩＰアドレスと、顧客ディレクトリ識別と、認証情報の仮のセットとを抽出することができる。その後、エージェント５１２は、（図５に例示した「ＪｏｉｎＤｉｒｅｃｔｏｒｙ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールを顧客ディレクトリ５２２に送信して、仮想マシンインスタンス５１０を顧客ディレクトリ５２２に結合することができる。したがって、顧客は、顧客ディレクトリ５２２にアクセスするための認証情報のセットを活用して、仮想マシンインスタンス５１０にもアクセスすることができる。
【００４１】
別の実施形態では、仮想コンピュータシステムサービスは、新しく作成された仮想マシンインスタンスを既存の顧客ディレクトリに結合するために使用され得る情報を、マネージドディレクトリサービスから取得するように構成され得る。したがって、図６は、少なくとも一実施形態による、仮想マシンインスタンス６１０を既存の顧客ディレクトリ６２２に自動的に結合する環境６００の例示的な実施例である。図５に例示した通り、顧客は、仮想コンピュータシステムサービス６０２にインターフェース６０４を通してアクセスして、新しい仮想マシンインスタンス６１０のプロビジョニングを要求することができ、さらに、新しい仮想マシンインスタンス６１０を既存の顧客ディレクトリ６２２に結合することを要求することができる。したがって、インターフェース６０４は、（図６に例示した「ＤｅｓｃｒｉｂｅＤｉｒｅｃｔｏｒｙ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービス６１４の権限付与サービス６１８構成要素に送信して、仮想マシンインスタンス６１０を結合するために使用され得る現在利用可能な顧客ディレクトリ６２２のリストを取得するように構成され得る。ブラウザまたは他のアプリケーションを使用してインターフェース６０４にアクセスする場合、現在利用可能な顧客ディレクトリ６２２のリストは、マネージドディレクトリサービス６１４によってブラウザまたは他のアプリケーションに送信され得る、ということを理解すべきである。代替的に、マネージドディレクトリサービス６１４は、現在利用可能な顧客ディレクトリ６２２のリストを仮想コンピュータシステムサービス６０２に送信することができ、仮想コンピュータシステムサービス６０２は、今度は、そのリストを、インターフェース６０４を表示するために使用されるブラウザまたは他のアプリケーションに送信することができる。
【００４２】
マネージドディレクトリサービス６１４の権限付与サービス６１８構成要素は、顧客が、仮想マシンインスタンス６１０を、利用可能な顧客ディレクトリ６２２のうちの任意のものに結合する権限を有しているかどうかを判断するように構成され得る。したがって、マネージドディレクトリサービス６１４の権限付与サービス６１８構成要素は、仮想マシンインスタンス６１０を結合するために使用され得る現在利用可能な顧客ディレクトリ６２２の識別と、顧客ディレクトリ６２２の各々のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを送信することができる。インターフェース６０４は、その後、顧客が適切な顧客ディレクトリ６２２を選択することを可能にするために、顧客ディレクトリ６２２の識別を顧客に提示することができる。しかしながら、一実施形態では、顧客が、仮想マシンインスタンス６１０を既存の顧客ディレクトリ６２２のうちの任意のものに結合する権限を有していない場合、マネージドディレクトリサービス６１４の権限許可構成要素６１８は、空リストを、インターフェースに、ＡＰＩコールに応答して送信することができる。したがって、インターフェース６０４は、図５に関連して上記で説明した通り、顧客に、新しい顧客ディレクトリ６２２を作成するというオプションを提示するように構成され得る。
【００４３】
いったん顧客が、仮想マシンインスタンス６１０を結合するために使用され得る既存の顧客ディレクトリ６２２を選択すると、インターフェース６０４は、顧客ディレクトリ６２２の識別と、顧客ディレクトリ６２２のＦＱＤＮとＤＮＳ  ＩＰアドレスとを、仮想コンピュータシステムサービス６０２内の管理サブシステム６０６に送信することができる。加えて、管理サブシステム６０６は、図３で説明した通り、要求された仮想マシンインスタンス６１０を物理ホスト内にインスタンス化するように構成され得る。管理サブシステム６０６は、（図６に例示する「ＧｅｔＤｉｒｅｃｔｏｒｙＪｏｉｎＰａｓｓｗｏｒｄ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールを、マネージドディレクトリサービス６１４の権限付与サービス６１８構成要素に送信して、仮想マシンインスタンス６１０を指定された顧客ディレクトリ６２２に結合するために使用され得る認証情報の仮のセットを要求するように構成され得る。
【００４４】
その後、管理サブシステム６０６は、権限付与構成要素６１８から取得した、ＦＱＤＮとＤＮＳ  ＩＰアドレスと認証情報の仮のセットとを、仮想コンピュータシステムサービス６０２内のメタデータサービス６０８に送信することができる。したがって、ＦＱＤＮとＤＮＳ  ＩＰアドレスと認証情報の仮のセットとを、仮想マシンインスタンス６１０に対して、メタデータサービス６０８内に格納されたメタデータという形式で、利用可能にすることができる。したがって、仮想マシンインスタンス６１０内で動作しているエージェント６１２は、１つまたは複数の適切に構成されたＡＰＩコールをメタデータサービス６０８に送信して、このメタデータを取得するように構成され得る。エージェント６１２は、顧客ディレクトリ６２２を結合するためのＦＱＤＮとＤＮＳ  ＩＰアドレスと認証情報の仮のセットとを、このメタデータから抽出するように構成され得る。
【００４５】
仮想マシンインスタンス６１０内で動作しているエージェント６１２は、ＦＱＤＮとＤＮＳ  ＩＰアドレスとを活用して、結合のためのターゲット顧客ディレクトリ６２２を見つけ、特定することができる。したがって、エージェント６１２は、（図６に例示した「ＪｏｉｎＤｉｒｅｃｔｏｒｙ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールを顧客ディレクトリ６２２に送信して、仮想マシンインスタンス６１０の顧客ディレクトリ６２２への結合を要求するように構成され得る。エージェント６１２は、認証情報の仮のセットを顧客ディレクトリ６２２に送信して、顧客ディレクトリ６２２への１つまたは複数のＡＰＩコールを確認し、仮想マシンインスタンス６１０の結合を可能にするように要求され得る。いったん仮想マシンインスタンス６１０が顧客ディレクトリ６２２に結合すると、顧客は、顧客ディレクトリ６２２にアクセスするための認証情報のセットを活用して、仮想マシンインスタンス６１０にもアクセスすることができる。
【００４６】
代替的な実施形態では、仮想コンピュータシステムサービスは、１つまたは複数のＡＰＩコールをマネージドディレクトリサービスに送信するように構成されないことがある。したがって、仮想マシンインスタンスが顧客ディレクトリに結合するために必要な顧客ディレクトリ情報に対する要求は、仮想マシンインスタンス自体から生じる必要があり得る。したがって、図７は、少なくとも一実施形態による、仮想マシンインスタンス７１０がマネージドディレクトリサービス７１４と通信して、既存の顧客ディレクトリ７２２に結合する環境７００の例示的な実施例である。
【００４７】
図５と図６とで説明した通り、顧客は、仮想コンピュータシステムサービス７０２にインターフェース７０４を通してアクセスして、新しい仮想マシンインスタンス７１０のプロビジョニングを要求することができる。しかしながら、本特定の実施形態では、インターフェース７０４は、顧客が新しい顧客ディレクトリ７２２を作成するオプション、または顧客が仮想マシンインスタンス７１０を既存の顧客ディレクトリ７２２に結合するオプションを含むことができない。代替的に、インターフェース７０４は、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービス７１４に送信して、顧客が仮想マシンインスタンス７１０を結合することができる利用可能な顧客ディレクトリ７２２の各々のための識別のリストを取得するように構成され得る。しかしながら、図７に例示した通り、インターフェース７０４は、利用可能な顧客ディレクトリ７２２のためのＦＱＤＮまたはＤＮＳ  ＩＰアドレスを、マネージドディレクトリサービス７１４から取得するように構成され得ない。
【００４８】
したがって、インターフェース７０４は、顧客からの要求に少なくとも部分的に基づいて、１つまたは複数の適切に構成されたＡＰＩコールを仮想コンピュータシステムサービス７０２内の管理サブシステム７０６に送信して、仮想マシンインスタンス７１０のプロビジョニングを要求するように構成され得る。したがって、インターフェース７０４が、仮想マシンインスタンス７１０を結合するために使用され得る利用可能な顧客ディレクトリ７２２の各々のための識別のリストを取得するように構成されている実施形態では、管理サブシステム７０６は、選択された顧客ディレクトリ７２２識別を仮想マシンインスタンス７１０に対して利用可能にするために、選択された顧客ディレクトリ７２２識別をメタデータサービス７０８に送信することができる。
【００４９】
一実施形態では、いったん仮想マシンインスタンス７１０がプロビジョニングされると、仮想マシンインスタンス７１０内で動作しているエージェント７１２は、１つまたは複数の適切に構成されたＡＰＩコールをメタデータサービス７０８に送信して、顧客によって選択された顧客ディレクトリ７２２の識別を、インターフェースを通して取得することができる。したがって、エージェント７１２は、この識別を活用して、（図５と図６とで説明した「ＤｅｓｃｒｉｂｅＤｉｒｅｃｔｏｒｉｅｓ（）」及び「ＧｅｔＤｉｒｅｃｔｏｒｙＪｏｉｎＰａｓｓｗｏｒｄ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービス７１４に送信して、仮想マシンインスタンス７１０を指定された顧客ディレクトリ７２２に結合するために使用され得る、ＦＱＤＮとＤＮＳ  ＩＰアドレスと認証情報の仮のセットとを取得するように構成され得る。したがって、エージェント７１２は、ＦＱＤＮとＤＮＳ  ＩＰアドレスとを活用して、顧客ディレクトリ７２２との接続を確立し、（図７に例示した「ＪｏｉｎＤｉｒｅｃｔｏｒｙ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールを顧客ディレクトリ７２２に送信して、仮想マシンインスタンス７１０を顧客ディレクトリ７２２に結合するように構成され得る。
【００５０】
代替的に、一実施形態では、インターフェース７０４が、全ての利用可能な顧客ディレクトリ７２２に関する詳細をマネージドディレクトリサービス７１４から取得するように構成されていない場合、仮想マシンインスタンス７１０は、仮想マシンインスタンス７１０が既存の顧客ディレクトリ７２２に結合することを顧客が要求することを可能にするように構成され得る。したがって、仮想マシンインスタンス７１０内で動作しているエージェント７１２は、（「ＤｅｓｃｒｉｂｅＤｉｒｅｃｔｏｒｉｅｓ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールを送信して、顧客が仮想マシンインスタンス７１０を結合するために使用し得る全ての利用可能な顧客ディレクトリ７２２のリストを取得するように構成され得る。したがって、エージェント７１２は、利用可能な顧客ディレクトリ７２２の各々のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを取得することができる。仮想マシンインスタンス７１０を活用している顧客が適切な顧客ディレクトリ７２２を選択した場合、エージェント７１２は、（「ＧｅｔＤｉｒｅｃｔｏｒｙＪｏｉｎＰａｓｓｗｏｒｄ（）」などの）第２の適切に構成されたＡＰＩコールをマネージドディレクトリサービス７１４に送信して、仮想マシンインスタンス７１０を選択された顧客ディレクトリ７２２に結合するために使用され得る認証情報の仮のセットを取得することができる。したがって、エージェント７１２は、選択された顧客ディレクトリ７２２のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを活用して、選択された顧客ディレクトリ７２２との接続を確立するように構成され得る。次に、エージェント７１２は、（「ＪｏｉｎＤｉｒｅｃｔｏｒｙ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールと、認証情報の仮のセットとを、顧客ディレクトリ７２２に送信して、仮想マシンインスタンス７１０を結合することができる。いったん仮想マシンインスタンス７１０を顧客ディレクトリ７２２に結合すると、顧客は、顧客ディレクトリ７２２にアクセスするための認証情報のセットを活用して、仮想マシンインスタンス７１０にもアクセスすることができる。
【００５１】
上述の通り、顧客は、仮想コンピュータシステムサービスによって提供されるインターフェースを活用して、仮想マシンインスタンスのプロビジョニングを要求することができ、また、この仮想マシンインスタンスを新しい顧客ディレクトリまたは既存の顧客ディレクトリのいずれかに結合することを要求することができる。したがって、図８は、少なくとも一実施形態による、新しい仮想マシンインスタンスを既存のディレクトリに結合するための選択メニューを含むインターフェースを提供するための、プロセス８００の例示的な実施例である。プロセス８００は、顧客要求を受信し、顧客ディレクトリに対する要求を送信し、いくつかの実施形態では、１つまたは複数のＡＰＩコールをマネージドディレクトリサービスに送信するように構成されたインターフェースに接続された、適切に構成された仮想または他のコンピュータシステムサービスによって実行され得る。したがって、マネージドディレクトリサービスは、プロセス８００内に提供されたアクションのうちのいくつかを実行するように構成され得る。
【００５２】
顧客は、仮想コンピュータシステムサービスに、インターフェースを通して、顧客にコンピューティングリソースサービスプロバイダによって提供される認証情報のセットを活用することによって、アクセスすることができる。したがって、仮想コンピュータシステムサービスは、顧客がインターフェースを起動したことを検出する８０２ことができ、インターフェースは、新しい仮想マシンインスタンスをプロビジョニングし、この新しい仮想マシンインスタンスを、新しい顧客ディレクトリまたは既存の顧客ディレクトリに結合するために使用され得る。顧客は、インターフェースを活用して、仮想マシンインスタンスの中に含まれことになるオペレーティングシステム及びアプリケーションと、仮想マシンインスタンスをインスタンス化するために使用されるべきコンピューティングリソースとを指定することができる。
【００５３】
顧客がこの仮想マシンインスタンスを既存の顧客ディレクトリに結合するための権限を有しているかどうかを判断するために、インターフェースは、受信した認証情報のセットを識別管理サービスに送信して、顧客の識別を決定する８０４ように構成され得る。たとえば、識別管理サービスは、顧客プロファイルを含むことができ、顧客プロファイルは、この特定の顧客に影響を与え得る１つまたは複数のポリシーを含むことができる。たとえば、顧客は、仮想マシンインスタンスを作成する権限のみを与えられ得るが、マネージドディレクトリサービスまたはコンピューティングリソースサービスプロバイダによって提供される他のサービスへのアクセスを有さないかもしれない。したがって、顧客がこれらのサービスへのアクセスを有しない場合、インターフェースは、仮想マシンインスタンスを活用してこれらのサービスと相互作用するためのオプションを含まないかもしれない。代替的に、識別管理サービスは、これらの追加のサービスにアクセスするために使用され得る、追加の顧客認証情報を含むことができる。したがって、インターフェースは、マネージドディレクトリサービス内での顧客のアクセスレベルを判断するために、マネージドディレクトリサービスにアクセスするために活用される、顧客識別と認証情報とを取得することができる。
【００５４】
インターフェースは、その後、要求と、顧客識別及び認証情報とを、マネージドディレクトリサービスに送信８０６して、新しい仮想マシンインスタンスを結合するために使用され得る既存の顧客ディレクトリのリストを取得するように構成され得る。いくつかの実施形態では、仮想コンピュータシステムサービスが、マネージドディレクトリサービスへの１つまたは複数の適切に構成されたＡＰＩコールを通して通信するように構成されている場合、インターフェースは、加えて、使用され得る既存の顧客ディレクトリの各々のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを要求することができる。しかしながら、一実施形態では、仮想コンピュータシステムサービスが、既存の顧客ディレクトリの各々のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを取得するように構成されている場合、インターフェースは、既存の顧客ディレクトリの各々の識別を要求することのみできる。
【００５５】
したがって、マネージドディレクトリサービスは、インターフェースからの、仮想コンピュータシステムサービスによって提供された要求を処理して、顧客が既存の顧客ディレクトリを有しているかどうかを判断する８０８ように構成され得る。顧客が、新しい仮想マシンインスタンスを結合するために使用され得る既存の顧客ディレクトリを有していない場合、マネージドディレクトリサービスは、空リストをインターフェースに送信することができる。したがって、インターフェースは、この空リストを顧客に提示し８１０、顧客に、新しい顧客ディレクトリを作成するオプションを提示するように構成され得る。
【００５６】
しかしながら、顧客が、利用可能な１つまたは複数の既存の顧客ディレクトリを有していない場合、マネージドディレクトリサービスは、顧客が、既存の顧客ディレクトリのうちの任意のものを活用して、新しい仮想マシンインスタンスを結合する権限を与えられているかどうかを判断する８１２ように構成され得る。したがって、マネージドディレクトリサービスは、顧客ディレクトリの各々の中に記載された顧客プロファイルとポリシーとを参照するために、受信した顧客認証情報を活用して、顧客がこれらのディレクトリに対して有するアクセスレベルを判断するように構成され得る。一実施例として、顧客は、特定のセキュリティの懸念のために、特定の顧客ディレクトリを仮想マシンインスタンスに追加することができない、ということを以前に規定しているかもしれない。したがって、顧客が既存の顧客ディレクトリのうちの任意のものを活用して、新しい仮想マシンインスタンスを結合する権限を与えられていないと、マネージドディレクトリサービスが判断した場合、ディレクトリは、空リストをインターフェースに送信して、インターフェースに、空リストを顧客に提示する８１０ことと、新しい顧客ディレクトリを作成するオプションを顧客に提示することと、を行わせることができる。
【００５７】
１つまたは複数の顧客ディレクトリが利用可能であり、顧客が、仮想マシンインスタンスをこれらの既存の顧客ディレクトリのうちの任意のものに結合することを許可されている場合、マネージドディレクトリサービスは、これらの顧客ディレクトリのリストをインターフェースに送信することができる。加えて、いくつかの実施形態では、マネージドディレクトリサービスは、これらの顧客ディレクトリの各々のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを、インターフェースに追加的に送信することができる。したがって、インターフェースは、リストをマネージドディレクトリサービスから受信し、新しい仮想マシンインスタンスを結合するために利用可能な既存のディレクトリのこのリストを、顧客に提示する８１４ことができる。このようにして、顧客は、新しい仮想マシンインスタンスのためのパラメータを指定するだけでなく、仮想マシンインスタンスを結合するために使用され得る顧客ディレクトリを特定することもできる。
【００５８】
上述した通り、仮想コンピュータシステムサービスは、仮想マシンインスタンスが既存の顧客ディレクトリまたは新しい顧客ディレクトリに結合するために必要な情報を取得するように構成され得る。したがって、図９は、少なくとも一実施形態による、新しい仮想マシンインスタンスを既存のディレクトリに自動的に結合するために準備するためのプロセス９００の例示的な実施例である。プロセス９００は、図６に例示し説明したものなどの、仮想または他のコンピュータシステムサービスの管理サブシステム構成要素によって実行され得る。加えて、プロセス９００の実行は、仮想コンピュータシステムサービス内のメタデータサービスを追加的に伴うことができる。プロセス９００は、図８に関連して上記で説明したプロセスの後に実行され得る。
【００５９】
顧客が、インターフェースを通して、新しい仮想マシンインスタンスをプロビジョニングし、この新しい仮想マシンインスタンスを新しい顧客ディレクトリまたは既存の顧客ディレクトリに結合する要求を提出した後、管理サブシステムは、この要求を受信する９０２ことができる。要求は、インスタンスをプロビジョニングするために使用されるべき顧客指定のコンピューティングディレクトリを含むことができる。したがって、図３に関連して例示した通り、管理サブシステムは、適切なマシン画像を仮想コンピュータシステムサービスから取得し、この画像を物理ホスト上にインスタンス化するように構成され得る。したがって、管理サブシステムは、この新しい仮想マシンインスタンスを物理ホスト上に割り当て９０４、それを顧客に対して利用可能にすることができる。
【００６０】
仮想マシンインスタンスをプロビジョニングするために使用されるべきコンピューティングリソースに加えて、要求は、仮想マシンインスタンスを結合するために使用されるべき顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを含むことができる。図８に例示した通り、インターフェースは、利用可能な、顧客ディレクトリの各々のためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを取得するように構成され得、顧客は、仮想マシンインスタンスを結合するための必須の許可を有する。したがって、いったん顧客が適切な顧客ディレクトリを選択すると、インターフェースは、その顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを、管理サブシステムに送信することができる。したがって、管理サブシステムは、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとをさらに取得する９０６ように構成され得る。一実施形態では、新しい顧客ディレクトリが、インターフェースから取得した要求の後に作成された場合、マネージドディレクトリサービスは、ＦＱＤＮとＤＮＳ  ＩＰアドレスとを直接管理サブシステムに送信することができる。
【００６１】
いったん管理サブシステムが、ＦＱＤＮとＤＮＳ  ＩＰアドレスとを、インターフェースから受信した顧客要求から、またはマネージドディレクトリサービスから直接、のいずれかで取得すると、管理サブシステムは、要求を、サービスへの１つまたは複数のＡＰＩコールを通してなど、マネージドディレクトリサービスに送信して９０８、仮想マシンインスタンスを選択された顧客ディレクトリに結合するために使用され得る仮の認証情報のセットを取得することができる。したがって、マネージドディレクトリサービスは、データベースを参照して、仮想マシンインスタンスを選択された顧客ディレクトリに結合するために使用され得る、仮の認証情報の適切なセットを決定することができる。仮の認証情報のこのセットは、限られた時間の間アクティブであることができ、使用されない場合は、失効し得る。これは、他の仮想マシンインスタンスが既存の顧客ディレクトリに結合しようと試みることを防ぐことができる。いったんマネージドディレクトリサービスが仮の認証情報のこのセットを取得すると、マネージドディレクトリサービスは、仮の認証情報のセットを管理サブシステムに送信することができる。
【００６２】
いったん管理サブシステムが仮の認証情報のセットをマネージドディレクトリサービスから取得すると、管理サブシステムは、これらの認証情報と、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを、仮想マシンインスタンスに対して、メタデータという形式で利用可能にする９１０。したがって、管理サブシステムは、仮の認証情報のセットと、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを、仮想コンピュータシステムサービス内のメタデータサービスに送信するように構成され得る。図１０に関連して以下に例示する通り、仮想マシンインスタンスは、このメタデータを取得して仮想マシンインスタンスを顧客ディレクトリに結合するように構成された、仮想マシンインスタンス内で動作しているエージェントを含むことができる。
【００６３】
仮想マシンインスタンスがプロビジョニングされ、動作可能になった後、仮想マシンインスタンス内で動作しているエージェントは、仮想マシンインスタンスを選択された顧客ディレクトリに結合することを要求することに進むことができる。したがって、図１０は、少なくとも一実施形態による、新しい仮想マシンインスタンスを既存の顧客ディレクトリに結合するためのプロセス１０００の例示的な実施例であるが、図１０に関連して、また本明細書のどこかで説明する手法は、必ずしも仮想でない他のコンピュータシステムインスタンスに関連する用途に適応可能である。プロセス１０００は、上述の通り、仮想マシンインスタンス内で動作しているエージェントによって実行され得る。エージェントは、１つまたは複数のＡＰＩコールを、仮想コンピュータシステムサービスとマネージドディレクトリサービスと顧客ディレクトリとに送信して、仮想マシンインスタンスを顧客ディレクトリに結合するために必要な情報を取得するように構成され得る。
【００６４】
したがって、仮想マシンインスタンス内で動作しているエージェントは、仮想マシンインスタンスを既存の顧客ディレクトリに結合するための要求を受信する１００２ことができる。一実施形態では、顧客は、新しい仮想マシンインスタンスをプロビジョニングし、このインスタンスを顧客ディレクトリに結合するための要求を、仮想コンピュータシステムサービスによって提供されるインターフェースを通して送信する。この要求は、仮想コンピュータシステムサービス内の管理サブシステムに送信され得、管理サブシステムは、新しい仮想マシンインスタンスをプロビジョニングし、仮想マシンインスタンスが顧客ディレクトリに結合するために必要な情報を、この情報をメタデータサービスに送信することによって準備するように構成され得る。仮想マシンインスタンスが顧客ディレクトリに結合するための要求は、仮想マシンインスタンス内で動作しているエージェントに送信され得る。代替的な実施形態では、仮想コンピュータシステムサービスが、仮想マシンインスタンスを顧客ディレクトリに結合するのに必要な情報を取得するように構成されていない場合、顧客は、仮想マシンインスタンスを顧客ディレクトリに結合するための要求を、仮想マシンインスタンス自体を通して提出することができる。この要求は、その後、仮想マシンインスタンス内で動作しているエージェントに伝達され得る。
【００６５】
いったんエージェントが、仮想マシンインスタンスを既存の顧客ディレクトリに結合するための要求を受信すると、エージェントは、顧客ディレクトリとの接続を確立し、仮想マシンインスタンスを顧客ディレクトリに結合するのに必要な、ＦＱＤＮとＤＮＳ  ＩＰアドレスと仮の認証情報のセットとを取得するための要求を、メタデータサービスに送信する１００４ことができる。上述の通り、仮想コンピュータシステムサービス内の管理サブシステム構成要素は、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを、インターフェースを通して行われた最初の顧客要求から取得するように構成され得る。加えて、管理サブシステムは、１つまたは複数の適切に構成されたＡＰＩコールをマネージドディレクトリサービスに送信して、仮想マシンインスタンスを顧客ディレクトリに結合するために使用され得る仮の認証情報のセットを取得することができる。したがって、管理サブシステムは、ＦＱＤＮとＤＮＳ  ＩＰアドレスと仮の認証情報のセットとを、エージェントに対して、メタデータという形式で、メタデータサービスを通して利用可能にすることができる。
【００６６】
しかしながら、一実施形態では、仮想コンピュータシステムサービスは、ＦＱＤＮとＤＮＳ  ＩＰアドレスと仮の認証情報のセットとを、マネージドディレクトリサービスから取得するように構成されないことがある。したがって、本実施形態では、メタデータサービスはこの情報を含まない。したがって、エージェントは、メタデータがメタデータサービスから利用可能であるかどうかを判断する１００６ように構成され得る。たとえば、エージェントからのこのメタデータに対する要求に応じて、メタデータサービスは、要求メタデータが利用可能でないことを示す、空リストまたはエラーメッセージを返すことができる。代替的に、仮想コンピュータシステムサービスが、ＦＱＤＮとＤＮＳ  ＩＰアドレスと仮の認証情報のセットとをマネージドディレクトリサービスから取得するように構成されている場合、メタデータサービスは、要求に応答して、この情報を、エージェントに、メタデータの形式で提供することができる。
【００６７】
メタデータがメタデータサービスから利用可能でない場合、仮想マシンインスタンス内で動作しているエージェントは、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとを取得するための要求と、仮想マシンインスタンスを顧客ディレクトリに結合するのに必要であり得る仮の認証情報のセットを取得するための要求とを、マネージドディレクトリサービスに送信する１００８ように構成され得る。それに応じて、マネージドディレクトリサービスは、顧客ディレクトリへの接続を確立するために、選択された顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスとをエージェントに送信することができる。加えて、マネージドディレクトリサービスは、要求に応答して、仮の認証情報のセットをエージェントに送信することができる。
【００６８】
いったんメタデータサービスまたはマネージドディレクトリサービスが、顧客ディレクトリのためのＦＱＤＮとＤＮＳ  ＩＰアドレスと、仮の認証情報のセットとをエージェントに送信すると、エージェントは、この情報を取得し１０１０、仮想マシンインスタンスを、顧客ディレクトリに結合するために準備する。たとえば、一実施形態では、エージェントが、要求に応答して、メタデータをメタデータサービスから受信すると、エージェントは、ＦＱＤＮとＤＮＳ  ＩＰアドレスと仮の認証情報のセットとを、メタデータから抽出する。したがって、エージェントは、ＦＱＤＮとＤＮＳ  ＩＰアドレスとを活用して、選択された顧客インスタンスとの接続を確立することができる。これは、エージェントが、１つまたは複数の適切に構成されたＡＰＩコールを顧客ディレクトリに送信して、１つまたは複数のアクションを実行することを可能にすることができる。
【００６９】
したがって、いったん接続が顧客ディレクトリと確立されると、エージェントは、仮想マシンインスタンスを顧客ディレクトリに結合するための要求を、顧客ディレクトリに送信する１０１２ことができる。上述の通り、エージェントは、この要求を、（上記で例示した「ＪｏｉｎＤｉｒｅｃｔｏｒｙ（）」などの）１つまたは複数の適切に構成されたＡＰＩコールを通して、顧客ディレクトリに送信することができる。加えて、この要求を送信するために、エージェントは、エージェントがＡＰＩコールを顧客ディレクトリに送信する権限を与えられていることを確認するために使用され得る、仮の認証情報のセットを活用することができる。要求に応答して、顧客ディレクトリは、仮想マシンインスタンスを顧客ディレクトリに結合する権限を与えることができ、顧客が、顧客ディレクトリのための認証情報のセットを活用して仮想マシンインスタンスにアクセスすることを可能にする。
【００７０】
図１１は、様々な実施形態による態様を実装するための、例示的な環境１１００の態様を示している。理解される通り、ウェブベースの環境が説明の目的のために使用されているが、必要に応じて、異なる環境を使用して様々な実施形態を実装することができる。環境は、電子クライアントデバイス１１０２を含み、電子クライアントデバイス１１０２は、要求、メッセージ、または情報を、適切なネットワーク１１０４を介して送信及び／または受信するように動作可能な、また、いくつかの実施形態では、情報を、デバイスのユーザに伝え返すように動作可能な、任意の適切なデバイスを含むことができる。そのようなクライアントデバイスの実施例は、パーソナルコンピュータと、携帯電話と、携帯型メッセージングデバイスと、ノートパソコンと、タブレットコンピュータと、セットトップボックスと、パーソナルデータアシスタントと、埋込コンピュータシステムと、電子書籍リーダなどとを含む。ネットワークは、任意の適切なネットワークを含むことができ、ネットワークには、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、衛星ネットワーク、または他のそのようなネットワーク、及び／またはそれらの組み合わせが含まれる。そのようなシステムのために使用される構成要素は、選択されるネットワーク及び／または環境の種類に、少なくとも部分的に基づき得る。そのようなネットワークを介して通信するためのプロトコル及び構成要素は、良く知られており、本明細書では詳細に説明しない。ネットワークを介した通信を、有線接続または無線接続と、それらの組み合わせとによって可能にすることができる。本実施例では、ネットワークはインターネットを含み、それは、環境が、要求を受信し、それに応答してコンテンツを供給するためのウェブサーバ１１０６を含むからであるが、当業者には明白な通り、他のネットワークでは、同様の目的を果たす代替的なデバイスを使用することができる。
【００７１】
例示の環境は、少なくとも１つのアプリケーションサーバ１１０８と、データストア１１１０とを含む。繋げられ得る、またはそうでなければ構成され得る、いくつかのアプリケーションサーバ、層または他の要素、プロセスまたは構成要素があり、それらが相互作用して、データを適切なデータストアから取得することなどのタスクを実行することができる、ということを理解すべきである。本明細書で使用するサーバを、ハードウェアデバイスまたは仮想コンピュータシステムなどの、様々な方法で実装することができる。いくつかの文脈では、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを指すことができる。本明細書で使用する通り、別段に述べるか、文脈から明らかでない限り、「データストア」という用語は、データを格納し、データにアクセスし、データを読み出すことができる任意のデバイスまたはデバイスの組み合わせを指し、データストアは、任意の規格の、分散環境、仮想環境またはクラスタ化環境における、任意の組み合わせ及び任意の数の、データサーバとデータベースとデータストレージデバイスとデータストレージ媒体とを含むことができる。アプリケーションサーバは、クライアントデバイスのための１つまたは複数のアプリケーションの態様を実行するために必要に応じて、データストアに統合するための、任意の適切なハードウェアとソフトウェアとファームウェアとを含むことができ、アプリケーションのためのデータアクセスとビジネス論理とのうちの一部または全部を扱う。アプリケーションサーバは、アクセス制御サービスを、データストアと協力して提供することができ、またコンテンツを生成することができ、コンテンツには、テキスト、グラフィックス、音声、ビデオ、及び／またはユーザに提供されるために使用可能な他のコンテンツが含まれるが、これらに限定されず、コンテンツは、ユーザに、ウェブサーバによって、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）、拡張マークアップ言語（「ＸＭＬ」）、ＪａｖａＳｃｒｉｐｔ（登録商標）、カスケーディングスタイルシート（「ＣＳＳ」）、または他の適切なクライアント側構造化言語の形式で提供され得る。クライアントデバイスに伝達されたコンテンツを、クライアントデバイスによって処理して、１つまたは複数の形式のコンテンツを提供することができ、形式には、音声で、視覚で、及び／または、触覚、味覚及び／または嗅覚を含む他の感覚を通して知覚可能な形式を含むが、これらに限定されない。全ての要求と応答との取り扱いと、クライアントデバイス１１０２とアプリケーションサーバ１１０８との間でのコンテンツの提供とを、ウェブサーバによって、ＰＨＰを使用して扱うことができ、ＰＨＰとは、本実施例では、ハイパーテキストプリプロセッサ（「ＰＨＰ」）、Ｐｙｔｈｏｎ、Ｒｕｂｙ、Ｐｅｒｌ、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬ、または、他の適切なサーバ側構造化言語である。ウェブサーバ及びアプリケーションサーバが必須ではなく、単に例示的な構成要素であり、それは、本明細書で説明する構造化コードは、本明細書のどこかで説明する任意の適切なデバイスまたはホストマシン上で実行され得るためである、ということを理解すべきである。さらに、１つのデバイスによって実行されているとして本明細書で説明する動作は、そうでないことが文脈から明白でない限り、複数のデバイスによって集合的に実行され得、複数のデバイスは、分散システム及び／または仮想システムを形成し得る。
【００７２】
データストア１１１０は、いくつかの別々のデータ表、データベース、データ文書、動的データストレージスキーム、及び／または本開示の特定の態様に関連するデータを格納するための他のデータストレージ機構及び媒体を含むことができる。たとえば、例示のデータストアは、生産側のためのコンテンツを提供するために使用され得る、生産データ１１１２とユーザ情報１１１６とを格納するための機構を含むことができる。データストアは、また、報告、分析、または他のそのような目的のために使用され得るログデータ１１１４を格納するための機構を含むように示されている。ページ画像情報及びアクセス権情報などの、データストア内に格納される必要があり得る多くの他の態様があり得、それは、必要に応じて、上記で挙げた機構のうちの任意のものの中に、またはデータストア１１１０内の追加機構内に格納され得る。データストア１１１０は、それに関連する論理を通して、命令をアプリケーションサーバ１１０８から受信し、それに応答して、データを、取得し、更新し、またはそうでない場合は処理するように動作可能である。アプリケーションサーバ１１０８は、受信した命令に応答して、静的データ、動的データ、または静的データと動的データとの組み合わせを提供することができる。ウェブログ（ブログ）、ショッピングアプリケーション、ニュースサービス、及び他のそのようなアプリケーション内で使用されるデータなどの動的データを、本明細書で説明する通りサーバ側構造化言語によって生成することができ、または、アプリケーションサーバ上で動作している、またはアプリケーションサーバの制御の下で動作している、コンテンツ管理システム（「ＣＭＳ」）によって提供することができる。一実施例では、ユーザは、ユーザによって操作されているデバイスを通して、特定の種類のアイテムに対する検索要求を提出することができる。この場合、データストアは、ユーザの識別を確認するためにユーザ情報にアクセスすることができ、その種類のアイテムについての情報を取得するためにカタログ詳細情報にアクセスすることができる。情報を、その後、ユーザがユーザデバイス１１０２上のブラウザを介して見ることができる、ウェブページ上の結果リスト内などで、ユーザに返すことができる。興味を持っている特定のアイテムについての情報を、ブラウザの専用ページまたはウィンドウで見ることができる。しかしながら、本開示の実施形態が、必ずしもウェブページのコンテンツに限定されておらず、要求が必ずしもコンテンツに対する要求ではない、一般的な要求を処理することにより広く適用され得る、ということに留意すべきである。
【００７３】
各サーバは、通常、そのサーバの一般管理と操作とのための実行可能プログラム命令を提供するオペレーティングシステムを含み、また、通常、サーバのプロセッサによって実行された時に、サーバがその意図された機能を実行することを可能にする命令を格納するコンピュータ可読ストレージ媒体（たとえば、ハードディスク、ランダムアクセスメモリ、リードオンリメモリ、など）を含む。サーバのオペレーティングシステムと一般的な機能とのための適切な実装形態は、良く知られており、または市販であり、特に本明細書の開示を踏まえて、当業者によって容易に実装される。
【００７４】
一実施形態では、環境は、１つまたは複数のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続された、いくつかのコンピュータシステムと構成要素とを活用する、分散コンピューティング環境及び／または仮想コンピューティング環境である。しかしながら、当業者は、そのようなシステムが、図１１に例示したものよりも少ない数または多い数の構成要素を有するシステムにおいても同じように良く動作することができる、ということを理解する。したがって、図１１のシステム１１００の描写は、本来例示として、本開示の範囲を限定しないものとして受け取られるべきである。
【００７５】
様々な実施形態を、さらに、多種多様な動作環境で実装することができ、動作環境は、いくつかの場合では、任意の数のアプリケーションを動かすために使用され得る、１つまたは複数のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含むことができる。ユーザまたはクライアントデバイスは、標準オペレーティングシステムを実行しているデスクトップ、ノートパソコン、またはタブレットコンピュータなどの多数の汎用パーソナルコンピュータのうちの任意のものと、モバイルソフトウェアを実行し、多数のネットワーキングプロトコルとメッセージングプロトコルとをサポートすることができる、セルラーデバイスと無線デバイスと携帯型デバイスとを含むことができる。そのようなシステムは、また、様々な市販のオペレーティングシステムのうちの任意のものと、開発及びデータベース管理などの目的のための他の知られているアプリケーションを実行している、多数のワークステーションを含むことができる。これらのデバイスは、また、ダミー端末、シンクライアント、ゲームシステム、及びネットワークを介して通信することができる他のデバイスなどの、他の電子デバイスを含むことができる。これらのデバイスは、また、仮想マシン、ハイパーバイザ、及びネットワークを介して通信することができる他の仮想デバイスなどの、仮想デバイスを含むことができる。
【００７６】
本開示の様々な実施形態は、通信制御プロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）、ユーザデータグラムプロトコル（「ＵＤＰ」）、オープンシステムインターコネクション（「ＯＳＩ」）モデルの様々な層内で動作しているプロトコル、ファイル転送プロトコル（「ＦＴＰ」）、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ（「ＵｐｎＰ」）、ネットワークリソース（「ＮＦＳ」）、Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｒｅｓｏｕｒｃｅ（「ＣＩＦＳ」）、及びＡｐｐｌｅＴａｌｋ（登録商標）などの、様々な市販のプロトコルのうちの任意のものを使用する通信をサポートするための、当業者に良く知られている、少なくとも１つのネットワークを活用する。ネットワークは、たとえば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、衛星ネットワーク、及びそれらの組み合わせであってよい。
【００７７】
ウェブサーバを活用する実施形態では、ウェブサーバは、様々なサーバまたは中間階層アプリケーションのうちの任意のものを実行することができ、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）サーバと、ＦＴＰサーバと、共通ゲートウェイインターフェース（「ＣＧＩ」）サーバと、データサーバと、Ｊａｖａ（登録商標）サーバと、Ａｐａｃｈｅサーバと、ビジネスアプリケーションサーバとが含まれる。サーバは、また、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、またはＣ＋＋などの任意のプログラミング言語、またはＲｕｂｙ、ＰＨＰ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、またはＴＣＬなどの任意のスクリプト言語、及びそれらの組み合わせで記述された１つまたは複数のスクリプトまたはプログラムとして実装され得る、１つまたは複数のウェブアプリケーションを実行するなどによって、プログラムまたはスクリプトを、ユーザデバイスからの要求に応答して、実行することができる。サーバは、また、データベースサーバを含むことができ、データベースサーバは、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）からの市販のものと、ＭｙＳＱＬ、Ｐｏｓｔｇｒｅｓ、ＳＱＬｉｔｅ、ＭｏｎｇｏＤＢなどのオープンソースサーバと、構造化データまたは非構造化データを格納し、読み出し、アクセスすることが可能な任意の他のサーバとを、限定せずに含む。データベースサーバは、表ベースのサーバ、文書ベースのサーバ、非構造化サーバ、関係型サーバ、非関係型サーバ、またはこれら及び／または他のデータベースサーバの組み合わせを含むことができる。
【００７８】
環境は、上記で説明した通り、様々なデータストアと他のメモリとストレージ媒体とを含むことができる。これらは、コンピュータのうちの１つまたは複数にローカルの（及び／または内在する）ストレージ媒体、またはネットワーク上のコンピュータのうちの任意のものまたは全部から遠隔のストレージ媒体など、様々な場所に存在することができる。特定のセットの実施形態では、情報は、当業者には知られている、ストレージエリアネットワーク（「ＳＡＮ」）内に存在することができる。同様に、コンピュータ、サーバ、または他のネットワークデバイスに起因する機能を実行するための必要ファイルは、必要に応じて、ローカルに、及び／または遠隔で格納され得る。システムがコンピュータ化デバイスを含む場合、各そのようなデバイスは、バスを介して電気的に連結され得るハードウェア要素を含むことができ、その要素は、たとえば、少なくとも１つの中央処理装置（「ＣＰＵ」または「プロセッサ」）と、少なくとも１つの入力デバイス（たとえば、マウス、キーボード、コントローラ、タッチ画面、またはキーパッド）と、少なくとも１つの出力デバイス（たとえば、表示デバイス、プリンタ、またはスピーカ）とを含む。そのようなシステムは、また、ディスクドライブ、光ストレージデバイス、及びランダムアクセスメモリ（「ＲＡＭ」）またはリードオンリメモリ（「ＲＯＭ」）などの半導体ストレージデバイスなどの、１つまたは複数のストレージデバイスと、取り外し可能媒体デバイス、メモリカード、フラッシュカードなどを含むことができる。
【００７９】
そのようなデバイスは、また、上記で説明した通り、コンピュータ可読ストレージ媒体リーダと、通信デバイス（たとえば、モデム、ネットワークカード（無線または有線）、赤外線通信デバイス、など）と、作業メモリとを含むことができる。コンピュータ可読ストレージ媒体リーダは、遠隔、ローカル、固定、及び／または取り外し可能なストレージデバイスと、コンピュータ可読情報を一時的及び／またはより永久的に含み、格納し、送信し、読み出すためのストレージ媒体とを代表する、コンピュータ可読ストレージ媒体に接続され得、またはコンピュータ可読ストレージ媒体を受け入れるように構成され得る。システム及び様々なデバイスは、また、通常、少なくとも１つの作業メモリデバイス内に配置された、多数のソフトウェアアプリケーション、モジュール、サービス、または他の要素を含み、それらは、オペレーティングシステムと、クライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムとを含む。代替的な実施形態が、上記で説明したものからの多数の変形物を有し得る、ということを理解すべきである。たとえば、カスタマイズされたハードウェアを、また、使用することができ、及び／または特定の要素を、ハードウェア、ソフトウェア（アプレットなどの携帯型ソフトウェアを含む）、またはその両方で実装することができる。さらに、ネットワーク入力／出力デバイスなどの他のコンピューティングデバイスへの接続を用いることができる。
【００８０】
コードまたはコードの一部を含むためのストレージ媒体及びコンピュータ可読媒体は、当技術分野で知られている、または使用されている、任意の適切な媒体を含むことができ、媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納及び／または送信のための任意の方法または技術で実装された、揮発性媒体及び非揮発性媒体、取り外し可能媒体及び固定媒体などであるが、これらに限定されないストレージ媒体と通信媒体とを含み、それらには、ＲＡＭ、ＲＯＭ、電気的消去可能プログラマブルリードオンリメモリ（「ＥＥＰＲＯＭ」）、フラッシュメモリまたは他のメモリ技術、コンパクトディスクリードオンリメモリ（「ＣＤ−ＲＯＭ」）、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または所望の情報を格納するために使用され得、システムデバイスによってアクセスされ得る任意の他の媒体を含む。本明細書で提供した開示と教示とに基づいて、当業者は、様々な実施形態を実装する、適切な他のやり方及び／または方法を理解する。
【００８１】
本開示の実施形態を、以下の条項を考慮して説明することができる。
第１項
仮想マシンインスタンスをプロビジョニングするための要求を実行し、いったんプロビジョニングされると、前記仮想マシンインスタンスをディレクトリに結合するための、コンピュータ実装方法であって、
実行可能命令を有して構成された１つまたは複数のコンピュータシステムの制御下において、
仮想コンピュータシステムサービスにおいて、前記ディレクトリに関連するネットワークアドレス情報を受信して、前記仮想マシンインスタンスをプロビジョニングし、前記ディレクトリに結合することを可能にすることと、
前記仮想マシンインスタンスをプロビジョニングすることと、
マネージドディレクトリサービスに、前記仮想マシンインスタンスを前記ディレクトリに結合するための仮の認証情報のセットに対する要求を送信することと、
仮の認証情報の前記セットを前記マネージドディレクトリサービスから受信することと、
を備え、
前記仮想マシンインスタンスが、前記ネットワークアドレス情報を活用して前記ディレクトリとの接続を確立し、仮の認証情報の前記セットを活用して前記仮想マシンインスタンスを前記ディレクトリに結合するように構成されている、
前記コンピュータ実装方法。
第２項
前記仮想マシンインスタンスが、前記ネットワークアドレス情報を活用して前記ディレクトリとの前記接続を確立し、仮の認証情報の前記セットを活用して前記仮想マシンインスタンスを前記ディレクトリに結合するように構成されたエージェントを備える、第１項に記載のコンピュータ実装方法。
第３項
前記ネットワークアドレス情報が、前記ディレクトリに関連する、完全修飾ドメイン名と、１つまたは複数のドメイン名システムインターネットプロトコルアドレスとを備える、第１項から第２項に記載のコンピュータ実装方法。
第４項
前記仮想コンピュータシステムサービスが、
メタデータとして、前記ディレクトリに関連する前記ネットワークアドレス情報と、前記マネージドディレクトリサービスからの仮の認証情報の前記セットとを格納することと、
前記メタデータを前記仮想マシンインスタンスに、前記仮想マシンインスタンスが前記ネットワークアドレス情報活用して前記ディレクトリとの前記接続を確立する前に、提供することと、
を行うように構成されたメタデータサービスを備える、第１項から第３項に記載のコンピュータ実装方法。
第５項
前記仮想コンピュータシステムサービスにおいて、前記ネットワークアドレス情報を受信する前に、前記マネージドディレクトリサービスに、ディレクトリのセットのうちの各ディレクトリのためのネットワークアドレス情報に対する要求を送信することであって、ディレクトリの前記セットが、少なくとも、前記仮想マシンインスタンスを結合することになる前記ディレクトリを含む、送信すること、をさらに備える、第１項から第４項に記載のコンピュータ実装方法。
第６項
仮の認証情報の前記セットに対する前記要求の、前記マネージドディレクトリサービスへの前記送信が、前記仮想マシンインスタンスによって実行される、第１項から第５項に記載のコンピュータ実装方法。
第７項
コンピュータシステムであって、
１つまたは複数のプロセッサと、
前記コンピュータシステムによって実行されると、前記コンピュータシステムに、
ディレクトリのセットのうちの１つまたは複数のディレクトリのためのネットワークアドレス情報に対する第１の要求を受信することであって、前記ネットワークアドレス情報が、ディレクトリの前記セットのうちの前記１つまたは複数のディレクトリの各々への接続を確立するのに使用可能である、受信することと、
コンピュータシステムインスタンスに、ディレクトリの前記セットのうちの前記１つまたは複数のディレクトリの各々のための前記ネットワークアドレス情報を送信することと、
前記コンピュータシステムインスタンスをディレクトリの前記セットから選択されたディレクトリに結合するのに使用可能な認証情報のセットに対する第２の要求を、前記コンピュータシステムインスタンスから受信することであって、前記第２の要求が、前記選択されたディレクトリの識別を備える、受信することと、
前記コンピュータシステムインスタンスに、前記コンピュータシステムインスタンスを前記選択されたディレクトリに結合するのに使用可能な認証情報の前記セットを送信することと、
を行わせる命令を、その中に集合的に格納して有するメモリと、
を備える、前記コンピュータシステム。
第８項
前記コンピュータシステムインスタンスが、コンピュータシステムサービスによって、前記コンピュータシステムサービスの顧客のためにホストされており、前記コンピュータシステムサービスが、前記ディレクトリを維持するマネージドディレクトリサービスとは異なる、第７項に記載のコンピュータシステム。
第９項
前記ネットワークアドレス情報が、前記ディレクトリに関連する、完全修飾ドメイン名と、１つまたは複数のドメイン名システムインターネットプロトコルアドレスとを備える、第７項から第８項に記載のコンピュータシステム。
第１０項
前記コンピュータシステムインスタンスが、前記ネットワークアドレス情報を活用して前記選択されたディレクトリとの接続を確立し、認証情報の前記セットを使用して前記コンピュータシステムインスタンスを前記選択されたディレクトリに結合するように構成されたエージェントを備える、第７項から第９項に記載のコンピュータシステム。
第１１項
前記コンピュータシステムインスタンスが、認証情報の前記セットを使用して、前記マネージドディレクトリサービスに前記コンピュータシステムインスタンスを前記選択されたディレクトリに結合させるように構成された、アプリケーションプログラミングインターフェースコマンドを提出するように構成されている、第７項から第１０項に記載のコンピュータシステム。
第１２項
前記コンピュータシステムインスタンスが、アプリケーションプログラミングインターフェースコマンドを前記コンピュータシステムに提出するように構成され、前記アプリケーションプログラミングインターフェースコマンドが、前記コンピュータシステムに、
ディレクトリの前記セットのうちの各ディレクトリのための前記ネットワークアドレス情報を、コンピュータシステムインスタンスに送信することと、
前記コンピュータシステムインスタンスをディレクトリの前記セットから選択された前記ディレクトリに結合するのに使用可能な認証情報の前記セットを送信することと、
を行わせるように構成されている、第７項から第１１項に記載のコンピュータシステム。
第１３項
ディレクトリの前記セットのうちの各ディレクトリが、１つまたは複数のコンピュータシステムインスタンスが前記ディレクトリに結合することを可能にする関連ポリシーを有する、第７項から第１２項に記載のコンピュータシステム。
第１４項
ネットワークアドレス情報に対する前記第１の要求が、前記コンピュータシステムインスタンスをプロビジョニングするための要求内に含まれる、第７項から第１３項に記載のコンピュータシステム。
第１５項
コンピュータシステムの１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、少なくとも、
コンピュータシステムインスタンスをプロビジョニングし、前記ディレクトリに結合することを可能にするために、ディレクトリに関連するネットワークアドレス情報に対する第１のウェブサービス要求を受信することと、
マネージドディレクトリサービスに、前記コンピュータシステムインスタンスを前記ディレクトリに結合するための認証情報に対する第２のウェブサービス要求を送信することと、
前記マネージドディレクトリサービスから、前記ディレクトリに関連する前記ネットワークアドレス情報と、前記コンピュータシステムインスタンスを前記ディレクトリに結合するための前記認証情報とを受信することと、
前記ディレクトリのための前記ネットワークアドレス情報と、前記コンピュータシステムインスタンスを前記ディレクトリに結合するための前記認証情報とを提供することと、
を行わせる実行可能命令を、その上に集合的に格納して有する、非一時的コンピュータ可読ストレージ媒体。
第１６項
前記コンピュータシステムインスタンスが、コンピュータシステムサービスによって、前記コンピュータシステムサービスの顧客のためにホストされ、前記コンピュータシステムサービスが、前記ディレクトリを維持する前記マネージドディレクトリサービスとは異なる、第１５項に記載の非一時的コンピュータ可読ストレージ媒体。
第１７項
前記ディレクトリに関連する前記ネットワークアドレス情報に対する前記第１のウェブサービス要求、及び前記コンピュータシステムインスタンスを前記ディレクトリに結合するための認証情報に対する前記第２のウェブサービス要求が、前記コンピュータシステムインスタンスから受信される、第１５項から第１６項に記載の非一時的コンピュータ可読ストレージ媒体。
第１８項
前記ディレクトリのための前記ネットワークアドレス情報、及び前記コンピュータシステムインスタンスを前記ディレクトリに結合するための前記認証情報が、前記第１のウェブサービス要求と前記第２のウェブサービス要求とに応答して、前記コンピュータシステムインスタンスに提供される、第１７項に記載の非一時的コンピュータ可読ストレージ媒体。
第１９項
前記命令が、さらに、前記コンピュータシステムに、メタデータとして、前記ディレクトリの識別と、前記ディレクトリのための前記ネットワークアドレス情報と、前記コンピュータシステムインスタンスを前記ディレクトリに結合するための前記認証情報とを少なくとも格納させる、第１５項から第１８項に記載の非一時的コンピュータ可読ストレージ媒体。
第２０項
前記インターフェースが、コンピュータシステムサービスによって、前記コンピュータシステムサービスの顧客のためにホストされ、前記コンピュータシステムサービスが、前記ディレクトリを維持する前記マネージドディレクトリサービスとは異なる、第１５項から第１９項に記載の非一時的コンピュータ可読ストレージ媒体。
第２１項
前記ディレクトリが、１つまたは複数のコンピュータシステムインスタンスを前記ディレクトリに結合することを可能にする関連ポリシーを有する、第１５項から第２０項に記載の非一時的コンピュータ可読ストレージ媒体。
第２２項
前記実行可能命令が、前記１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、
インターフェースから、前記コンピュータシステムインスタンスをプロビジョニングし、前記ディレクトリを作成し、いったん前記コンピュータシステムインスタンスがプロビジョニングされると、前記コンピュータシステムインスタンスを前記作成されたディレクトリに結合するための第３のウェブサービス要求を受信することと、
前記マネージドディレクトリサービスに、前記ディレクトリを作成するための第４のウェブサービス要求を送信することと、
前記コンピュータシステムインスタンスに、前記作成されたディレクトリのためのネットワークアドレス情報と、前記コンピュータシステムインスタンスを前記作成されたディレクトリに結合するための認証情報とを提供する前に、前記マネージドディレクトリサービスから、前記作成されたディレクトリのための前記ネットワークアドレス情報と、前記コンピュータシステムインスタンスを前記作成されたディレクトリに結合するための前記認証情報とを受信することと、
をさらに行わせる、第１５項から第２１項に記載の非一時的コンピュータ可読ストレージ媒体。
【００８２】
したがって、明細書及び図面は、限定的意味よりも、例示的な意味で考えられる。しかしながら、様々な改良と変更とを、それらに、特許請求の範囲に記載する本発明の広範囲な精神と範囲とから逸脱することなく行うことができる、ということは明らかである。
【００８３】
他の変形物は、本開示の精神に含まれる。したがって、開示する手法は、様々な改良物と代替的な構造物とを受け入れる余地があるが、それらの特定の例示的な実施形態が図面に示されており、上記で詳細に説明された。しかしながら、本発明を開示した具体的な形式または複数の形式に限定する意図はなく、反対に、意図は、添付の特許請求の範囲に定める本発明の精神と範囲とに含まれる、全ての改良物と代替的な構造物と同等物とを含むことである、ということを理解すべきである。
【００８４】
開示した実施形態を説明している文脈における（特に、以下の特許請求の範囲の文脈における）、「１つの（ａ）」、「１つの（ａｎ）」、及び「その（ｔｈｅ）」という用語と、同様の指示対象は、本明細書で別段に指示しない限り、または文脈が明らかに矛盾しない限り、単数形と複数形の両方を含むと解釈されるものである。「備える」、「有する」、「含む（ｉｎｃｌｕｄｉｎｇ）」、及び「含む（ｃｏｎｔａｉｎｉｎｇ）」という用語は、別段に記さない限り、オープンエンドな用語（つまり、「含むが、限定しない」を意味する）として解釈されるものである。「接続された」という用語は、未修飾で、物理的接続を指している時には、介在する何かがある場合でさえも、部分的または全体的に内部に含まれている、付着している、または共に接合している、として解釈されるものである。本明細書における値の範囲の列挙は、その範囲内に含まれる各別々の値を個別に指す簡単な方法としての役割を果たすことを単に意図しており、本明細書で別段に指示しない限り、各別々の値は、あたかもそれが本明細書で個別に列挙されたかのように、本明細書の中に組み込まれる。「セット」（たとえば、「アイテムのセット」）または「サブセット」という用語の使用は、別段に記さない限り、または文脈が矛盾しない限り、１つまたは複数のメンバを備える非空の集合として解釈されるものである。さらに、別段に記さない限り、または文脈が矛盾しない限り、対応するセットの「サブセット」という用語は、必ずしも対応するセットの適切なサブセットを意味しないが、サブセット及び対応するセットは、等しいことがある。
【００８５】
「ＡとＢとＣとのうちの少なくとも１つ」または「ＡとＢとＣとのうちの少なくとも１つ」という形式の表現などの接続言語は、具体的に反対のことを述べない限り、または別段に明確に文脈が矛盾しない限り、一般に、アイテム、期間、などが、ＡまたはＢまたはＣのいずれか、またはＡとＢとＣとから成るセットの任意の非空のサブセットであり得る、ということを示すために使用されるという文脈を用いて理解される。たとえば、３つのメンバを有するセットの例示的な実施例では、接続表現である、「ＡとＢとＣとのうちの少なくとも１つ」及び「ＡとＢとＣとのうちの少なくとも１つ」は、以下の、｛Ａ｝、｛Ｂ｝、｛Ｃ｝、｛Ａ、Ｂ｝、｛Ａ、Ｃ｝、｛Ｂ、Ｃ｝、｛Ａ、Ｂ、Ｃ｝というセットのうちの任意のものを指す。したがって、そのような接続言語は、一般に、特定の実施形態が、Ａのうちの少なくとも１つ、Ｂのうちの少なくとも１つ、及びＣのうちの少なくとも１つ、がそれぞれ存在することを必要とする、ということを暗示することを意図しない。
【００８６】
本明細書で説明したプロセスの動作を、本明細書で別段に指示しない限り、または明確に文脈が矛盾しない限り、任意の適切な順番で実行することができる。本明細書で説明したプロセス（またはそれらの変形物及び／または組み合わせ）を、実行可能命令を有して構成された１つまたは複数のコンピュータシステムの制御の下で実行することができ、１つまたは複数のプロセッサ上で、ハードウェアによって、またはそれらの組み合わせによって、集合的に動いているコード（たとえば、実行可能命令、１つまたは複数のコンピュータプログラム、または１つまたは複数のアプリケーション）として実装することができる。コードを、コンピュータ可読ストレージ媒体上に、たとえば、１つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形式で、格納することができる。コンピュータ可読ストレージ媒体は、非一時的であってよい。
【００８７】
本明細書で提供した、任意及び全ての実施例、または例示的言語（たとえば、「など」）の使用は、単に、本発明の実施形態をより良く明らかにすることを意図しており、別段に特許請求されない限り、本発明の範囲に制限を課さない。本明細書内のどの言葉も、非特許請求の要素が本発明の実施に必須であることを示している、と解釈されるべきでない。
【００８８】
本開示の好適な実施形態を本明細書で説明し、それには、本発明を実行するための、発明者達に知られている最良モードが含まれる。それらの好適な実施形態の変形物は、前述の説明を読むことで、当業者に明白になり得る。発明者達は、熟練の技術者がそのような変形物を必要に応じて用いることを予期し、発明者達は、本開示の実施形態が、本明細書で具体的に説明したものとは別の方法で実施されることを意図する。したがって、本開示の範囲は、本明細書に添付する特許請求の範囲で列挙する、適用法が許す本主題の全ての改良物と同等物とを含む。さらに、上述の要素の任意の組み合わせは、それらの全ての可能性のある変形物において、本明細書で別段に指示しない限り、または文脈が明確に矛盾しない限り、本開示の範囲によって包含される。
【図１】
2018110003.tif 000003
【図２】
2018110003.tif 000004
【図３】
2018110003.tif 000005
【図４】
2018110003.tif 000006
【図５】
2018110003.tif 000007
【図６】
2018110003.tif 000008
【図７】
2018110003.tif 000009
【図８】
2018110003.tif 000010
【図９】
2018110003.tif 000011
【図１０】
2018110003.tif 000012
【図１１】
2018110003.tif 000013