地理的に分散された複数の VMware Cloud Director インストール環境またはサーバ グループとその組織を単一のエンティティとして管理および監視するには、VMware Cloud Director マルチサイト機能を使用します。
マルチサイトの効果的な実装
2 つの VMware Cloud Director サイトを関連付けると、これらのサイトを単一のエンティティとして管理できます。これらのサイトにある複数の組織を相互に関連付けることもできます。VMware Cloud Director でのサイトの関連付けの作成を参照してください。組織が関連付けのメンバーである場合、組織ユーザーは VMware Cloud Director Tenant Portal を使用して、任意のメンバーのサイトにある組織の資産にアクセスできます。ただし、各メンバー組織とその資産は使用するサイトにローカルに配置されます。
サイトの VMware Cloud Director API バージョンは同じであるか、メジャー バージョンの差が 1 である必要があります。たとえば、VMware Cloud Director 10.1(API バージョン 34.0)のサイトを VMware Cloud Director サイト バージョン 10.0、10.1、10.2、または 10.2.2(それぞれ API バージョンは 33.0、34.0、35.0、または 35.2)に関連付けることができます。
2 つのサイトを関連付けた後、VMware Cloud Director API または VMware Cloud Director Tenant Portal を使用して、それらのサイトを使用する組織を関連付けることができます。『VMware Cloud Director API プログラミング ガイド』または『VMware Cloud Director テナント ガイド』のマルチサイト展開の構成と管理トピックを参照してください。
サイトまたは組織がピアと作成できる関連付けの数には上限がありませんが、各関連付けには必ず 2 つのメンバーを含めます。各サイトまたは組織には、独自のプライベート キーを設定する必要があります。関連付けの各メンバーはパブリック キーを交換して信頼関係を確立します。パブリック キーはメンバー間の署名要求を確認するために使用されます。
関連付けられた各サイトは、VMware Cloud Director サーバ グループ(VMware Cloud Director データベースを共有するサーバのグループ)の範囲によって定義されます。関連付けられた各組織は、1 つのサイトを使用します。組織管理者は、各メンバー サイトにある資産への組織ユーザーおよびグループによるアクセスを制御します。
サイトのオブジェクトとサイトの関連付け
インストールまたはアップグレード プロセスでは、ローカルの VMware Cloud Director サーバ グループを表す Site オブジェクトが作成されます。複数の VMware Cloud Director サーバ グループで管理権限を持つシステム管理者は、VMware Cloud Director サイトの関連付けとして、これらのサーバ グループを構成できます。
サイト名
GET https://Site-B.example.com/api/site ... <Site name="b5920690-fe13-4c31-8e23-9e86005e7a7b" ...> ... <RestEndpoint>https://Site-A.example.com/api/org/Org-A</RestEndpoint> <RestEndpointCertificate>-----BEGIN CERTIFICATE----- MIIDDTCCAfWgAwIBAgI...Ix0eSE= -----END CERTIFICATE----- </RestEndpointCertificate> ... </Site>サイト名が API エンドポイントのホスト名と一致する必要はありませんが、システム管理者は、 VMware Cloud Director API ユーザーの管理上の便宜のためにサイト名を次のような要求で更新できます。
PUT https://Site-B.example.com/api/site content-type: application/vnd.vmware.vcloud.site+xml ... <Site name="Site-B" ...> ... <RestEndpoint>https://Site-A.example.com/api/org/Org-A</RestEndpoint> <RestEndpointCertificate>-----BEGIN CERTIFICATE----- MIIDDTCCAfWgAwIBAgI...Ix0eSE= -----END CERTIFICATE----- </RestEndpointCertificate> ... </Site>要求の本文内の Site 要素は、
GET .../site
要求によって返された形式を保持する必要があります。証明書の前後に追加の文字、特にキャリッジリターン、ラインフィード、またはスペースがあると、システムは不正な要求の例外を返す可能性があります。
組織の関連付け
承認ヘッダーと要求のファンアウト
成功したログイン要求に対する Session 応答には、X-VMWARE-VCLOUD-ACCESS-TOKEN ヘッダーが含まれ、その値はエンコードされたキーになります。この値は X-VMWARE-VCLOUD-TOKEN-TYPE ヘッダーの値とともに、関連付けメンバーへの認証ができない廃止された x-vcloud-authorization ヘッダーの代わりに、以降の要求に含められる JWT Authorization ヘッダーを作成するために使用できます。VMware Cloud Director API へのログインの詳細については、「VMware Cloud Director API セッションの作成」を参照してください。
Accept ヘッダーで multisite=value ペアを指定することにより、複数の関連付けメンバーをファンアウトする要求の作成が可能です。要求をファンアウトする場合、value は global またはコロン区切りのリスト形式のロケーション ID となります。ロケーション ID の取得方法については、承認済みの場所 を参照してください。value を local に設定すると、要求はファンアウトしませんが、ファンアウトで含まれるマルチサイト メタデータが含まれます。
Accept: application/*;version=30.0;multisite=global
ロケーション ID を multisite=ID-a:ID-b:ID-x のようなコロン区切りのリスト形式で指定できます。Accept ヘッダーにこの値を指定する場合を除き、要求に対して、要求の対象である組織が所有するリソースのみが返されます。認証した組織への要求をする場合を除き、要求に対応する組織の名前を指定した X-VMWARE-VCLOUD-AUTH-CONTEXT ヘッダーを追加する必要もあります。
- rel="fanout:failed"
- メンバーのステータスは ACTIVE ですが、何らかの理由でメンバーでの認証が失敗しました。
- rel="fanout:skipped"
- 関連付けのステータスが ASYMMETRIC または UNREACHABLE であったため、メンバーでの認証がスキップされました。
承認済みの場所
- Site-A.example.com と Site-B.example.com が関連付けられています。
- ユーザーはシステム管理者としてサイト A にログインします。
POST https://Site-A.example.com/api/sessions Authorization: Basic ... Accept: application/*;version=30.0 ...
200 OK ... X-VMWARE-VCLOUD-ACCESS-TOKEN: eyJhbGciOiJSUzI1NiJ9....Rn4Xw X-VMWARE-VCLOUD-TOKEN-TYPE: Bearer Content-Type: application/vnd.vmware.vcloud.session+xml;version=30.0;multisite=global ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Session ... ... <AuthorizedLocations> <Location> <LocationId>a93c9db9-7471-3192-8d09-a8f7eeda85f9@9a41... </LocationId> <SiteName>Site-A</SiteName> <OrgName>System</OrgName> <RestApiEndpoint>https://site-a.example.com </RestApiEndpoint> <UIEndpoint>https://site-a.example.com </UIEndpoint> <AuthContext>System</AuthContext> </Location> <Location> <LocationId>a93c9db9-7471-3192-8d09-a8f7eeda85f9@4f56... </LocationId> <SiteName>Site-B</SiteName> <OrgName>System</OrgName> <RestApiEndpoint>https://site-b.example.com </RestApiEndpoint> <UIEndpoint>https://site-b.example.com </UIEndpoint> <AuthContext>System</AuthContext> </Location> </AuthorizedLocations> </Session>
ユーザーおよびグループの ID
サイトおよび組織の関連付けでは、同じ ID プロバイダ (IDP) を使用することに同意する必要があります。関連付けられたすべての組織のユーザーおよびグループの ID は、この IDP が管理する必要があります。
関連付けでは、最適な IDP を自由に選択できます。VMware Cloud Director での ID プロバイダの管理を参照してください。
VMware Cloud Director 10.4.1 以降では、サービス アカウントはマルチサイト機能を使用して、地理的に分散された複数の VMware Cloud Director インストール環境またはサーバ グループとその組織を単一エンティティとして管理および監視できます。サービス アカウントが、認証の対象となる組織とは異なる組織に要求を行う場合は、サービス アカウントが関連付けられた組織に存在し、同じ名前とソフトウェア ID を保持していることを確認します。VMware Cloud Director でのサービス アカウントの管理を参照してください。
組織のユーザーおよびグループのサイト アクセス コントロール
組織管理者は、各自の IDP を設定して、ユーザーまたはグループのアクセス トークンを生成できます。このアクセス トークンはすべてのメンバー サイトで有効にすることも、一部のメンバー サイトのみで有効にすることもできます。ユーザーおよびグループの ID は、すべてのメンバー組織で同じにする必要がありますが、ユーザーおよびグループの権限は、各メンバー組織内でユーザーおよびグループが割り当てられているロールによって制約されます。ユーザーまたはグループへのロールは、作成したカスタム ロールと同様に、メンバー組織にローカルで割り当てられます。
ロード バランサの要件
マルチサイト展開を効果的に実装するには、ロード バランサを設定して、組織のエンドポイント(https://vcloud.example.com など)に送信される要求を、サイト関連付けの各メンバーのエンドポイント(https://us.vcloud.example.com や https://uk.vcloud.example.com など)に分散する必要があります。サイトに複数のセルがある場合は、受信する要求をすべてのセルで分散するロード バランサも設定する必要があります。これにより、https://us.vcloud.example.com への要求を、https://cell1.us.vcloud.example.com、https://cell2.us.vcloud.example.com などで処理できます。
VMware Cloud Director 10.3 以降では、マルチサイト展開のロードバランシング エンドポイントに送信されたすべてのクライアント要求がリダイレクトされます。要求がロード バランシング エンドポイントに送信されると、要求が送信されたサイトが正しいサイトである場合もリダイレクトが実行され、ユーザーに表示される URL に反映されるため、要求が正しい場所に転送されたことがわかります。
たとえば、グローバル ロードバランシング エンドポイント https://us.vcloud.example.com の背後に、https://site1.vcloud.example.com と https://site2.vcloud.example.com の 2 つのサイトで構成された展開を配置できます。VMware Cloud Director 10.3 以降では、サイト 1 (https://us.vcloud.example.com/org1) にある組織のロード バランシング エンドポイントに要求が送信された場合、サイトは要求がサイト 1 に到着した時点で要求を https://site1.vcloud.example.com/org1 に転送して、自身へのリダイレクトを実行します。VMware Cloud Director 10.2.x 以前のバージョンでは、ロード バランサが同じ場所にある組織の要求を受信して、この要求がパブリック エンドポイントの URL (https://us.vcloud.example.com/org1) を介して処理される場合、リダイレクトは実行されません。
ネットワーク接続の要件
マルチサイト機能を使用する場合は、各サイトの各セルが、すべてのサイトの REST API エンドポイントに REST API 要求を実行できる必要があります。「ロード バランサの要件」セクションの例を使用する場合は、cell1.us.vcloud.example.com および cell2.us.vcloud.example.com から uk.example.com の REST API エンドポイントにアクセスできる必要があります。その逆は、uk.example.com のすべてのセルで成立します。つまり、セルは自身の REST API エンドポイントに REST API 呼び出しを実行できる必要があるため、cell1.us.vcloud.example.com から https://us.vcloud.example.com への REST API 呼び出しが可能である必要があります。
REST API のファンアウトを行うには、すべてのサイトの REST API エンドポイントに対して REST API 要求を行う必要があります。たとえば、ユーザー インターフェイスまたは API クライアントがマルチサイト要求を行い、すべてのサイトから組織のページを取得して、cell1.us.vcloud.example.com で要求を処理する場合を考えます。セル cell1
は REST API 呼び出しを行って、各サイトに構成された REST API エンドポイントを使用してサイトから組織のページを取得する必要があります。すべてのサイトから組織のページが返されたら、cell1
は結果を照合し、他のすべてのサイトのデータを含む結果を 1 ページにまとめて返します。
サイトと証明書
サイトが他のサイトに関連付けられている場合に、証明書を更新する場合、他のサイトへの変更の通知が必要になることがあります。他のサイトに証明書の変更を知らせない場合、マルチサイトのファンアウトが影響を受ける可能性があります。
サイトの証明書を適切に署名された有効な証明書に置き換える場合は、他のサイトに通知する必要はありません。証明書は有効で、適切に署名されているため、他のサイトのセルは中断することなく、安全な方法で接続し続けることができます。
関連付けメンバーのステータス
Service Provider Admin Portal および Tenant Portal では、ステータスは Connected
、Partially Connected
、Unreachable
と表示されます。
メンバー ステータスの「ハートビート」は、マルチサイト システムのユーザー ID、つまり VMware Cloud Director のインストール中にシステム組織で作成したローカルの VMware Cloud Director ユーザー アカウントを使用して実行されます。このアカウントはシステム組織のメンバーですが、システム管理者の権限はありません。このアカウントには、Multisite: System Operations
という権限のみが付与されています。これにより、サイト関連付けのリモート メンバーのステータスを取得する VMware Cloud Director API 要求を行うことができます。