高可用性は、システムの稼働時間を確保し、コンピューターの故障時にデータ損失を最小限に抑えるか防止するための手法です。ArcGIS Server は、他の ArcGIS Enterprise コンポーネントと同様に、サードパーティ製ネットワーク ロード バランサーを使用した高可用性構成に配置することができます。
アクティブ/パッシブ アーキテクチャは、単一コンピューターのサイトのクローンを作成して、そのサイトの複数のインスタンスをロード バランサーの内側に独立して配置します。ロード バランサーの内側にあるすべてのサイトが稼働中で、サービス リクエストをいつでも受け付けることができる間、ロード バランサーは、サイトの中でプライマリ サイトとして指定されているサイトにのみリクエストを渡します。プライマリ サイトが使用不可であることをロード バランサーが検出した場合、受信したリクエストは、フェイルオーバーまたはスタンバイ サイトにリダイレクトされます。
フェイルオーバー プロセスは ArcGIS Server の外部で完全に処理されます。通常、このプロセスは、ArcGIS Server コンピューターが完全に使用不可である場合 (ネットワークまたはハードウェアの障害)、または時として、特定のサービスまたは操作が失敗した場合に起動されるように構成できます。
メモ:
追加コストなしで、スタンバイまたはフェイルオーバー サイトのためのライセンス ファイルを My Esri に要求することができます。
この配置パターンでは ArcGIS Server をホストするために複数台のコンピューターが使用されていますが、この構成を技術的に複数コンピューターのサイトと呼ぶことはできません。その理由は、ロード バランサーの内側にあるそれぞれのサイトが互いに独立しているからです。それぞれのサイトは 1 台の ArcGIS Server コンピューターから構成され、独自の構成ストアとサーバー ディレクトリを備えています。
アクティブ/パッシブ フェイルオーバー構成では、追加のライセンス料金なしで、冗長性のある ArcGIS Server 層を構築できます。追加のコストなしで、スタンバイ サーバーのライセンスを取得できます。ただし、独立した各サーバー サイトはそれぞれ独自のローカル構成ストアとサーバー ディレクトリを備えており、別々に管理する必要があります。このため、サイトのサービスまたはデータの変更頻度が高い場合は、管理上のオーバーヘッドが大幅に増加する可能性があります。さらに、フェイルオーバー中にスタンバイ サイトに切り替わると、プライマリ サイトのアクティブなリクエストはすべて失われます。
ArcGIS Server コンピューター、サーバー ディレクトリ、および構成ストア
この場合、「単一コンピューターの配置」に記載されたものと同じ懸念事項が適用されます。ArcGIS Server は、それぞれが独自のサーバー ディレクトリと構成ストアをローカルに保持しています。これにより、最大限のパフォーマンスが保証され、相互依存性を最小限に維持できます。
Data
GIS サービスでファイルベースのデータ ソースを使用する場合は、サービスのパフォーマンスを最大化するために、これらのデータ ソースを、ネットワーク共有ではなく ArcGIS Server コンピューターごとにローカルに保存することをお勧めします。大量の画像を処理する場合など、ネットワーク上でファイルを共有するしか現実的な方法がない場合があります。ネットワーク上で共有されたリソースのファイルを使用する場合、高可用性向けに構成されたストレージ デバイスを選択することが極めて重要です。
データベースを使用する場合は、それぞれのサイトに 1 つのデータベースを割り当てることができます (プライマリ サイトに 1 つとスタンバイ サイトに 1 つのデータベース)。データベースを同期した状態に保つために、データベース レプリケーション、または必要に応じてジオデータベース レプリケーション手法を利用できます。あるいは、データベース プロバイダーから提供された他の高可用性技術を利用できます。
リバース プロキシ サーバー
この構成では、サードパーティ製のロード バランサーが必要です。少なくとも、サイト間で負荷を処理するためや必要に応じてフェイルオーバーを実施するためにこのコンポーネントが使用されます。通常、ロード バランサーが、リバース プロキシ サーバーの役割も果たします。場合によっては、すでにリバース プロキシ サーバーをロード バランサーから独立して構成している場合があります。
ネットワーク ロード バランサーが状態チェック機能に対応している場合は、REST API の ArcGIS Server サイトの状態チェック エンドポイントを使用して、サイトがリクエストを受け取れるかどうかを確認できます。これは、サイトでソフトウェアまたはハードウェアの障害があるかどうかを迅速に確認する場合に便利です。
ArcGIS Web Adaptor の使用はオプションであり、通常、このシナリオで Web 層認証を利用したい場合にのみ必要になります。ArcGIS Web Adaptor は、ArcGIS Server と同じコンピューターあるいは、専用のコンピューターに構成することもできます。いずれの場合も、ArcGIS Web Adaptor を使用する場合は、サイトごとに個別の ArcGIS Web Adaptor を構成する必要があります。
アクティブ/パッシブ構成の考慮事項
高可用性のアクティブ/アクティブ構成の ArcGIS Server サイトを計画している場合、次の点に注意する必要があります。
サービスの同期
実際の複数コンピューターのサイトとは異なり、この構成では、ロード バランサーの内側にあるすべてのサイトがまったく同じコンテンツをホストし、同じセキュリティ モデルに従う必要があります。管理者は、ロード バランサーから見て、すべてのサイトがまったく同じになるようにする必要があります。
プライマリ サイトとフェイルオーバー サイト間で ArcGIS Server サービスの同期を維持するために役立つ方法がいくつかあります。
- スクリプト: ArcGIS Server は、サービスの公開やサービスのセキュリティ設定の変更などの管理タスクのスクリプトを作成するための REST API を備えています。ユーザーは独自のスクリプトを作成して、配置に関係するすべての ArcGIS Server コンピューターに一貫して変更を適用することができます。スクリプトは、サービスのセキュリティの変更や上書きなど、微調整を行う必要がある場合に特に便利です。
メモ:
スクリプトを使用して初期サイトを作成しないでください。仮想コンピューター イメージに最初のサイトを手動で作成し、このベース イメージから追加のサイトを作成するスクリプトを作成します。同じ仮想コンピューター イメージからすべてのコンピューターを作成すると、すべてのコンピューターが同じ暗号化キーを使用するようになります。
- 仮想化: 仮想環境で操作を行う場合、仮想コンピューターのテンプレートを作成および使用して、新しいサイトを立ち上げることができます。各テンプレートには、GIS サービスで必要なデータのコピーが含まれます (データベースが使用されている場合を除く)。また、テンプレートには、公開および構成されているすべてのサービスも含まれます。既存のサービスの追加や更新などの変更が必要な場合、新しいテンプレートを作成し、後で新しい仮想コンピューターを起動して、ロード バランサーの下で使用されている既存の ArcGIS Server コンピューターのプールをこれらの新しいコンピューターで置き換えることができます。仮想コンピューターのテンプレートは、古くなった ArcGIS Server コンピューターを迅速に復元するためにも使用できます。
この配置パターンで変更をサイトに適用する場合に推奨される手順は以下のとおりです。
- 管理上の変更は、まず、スタンバイ モードにあるサイトに対して行います。たとえば、アクティブにリクエストを処理していないサイトで新しいサービスを追加し、別のサービスのセキュリティを変更します。これにより、プライマリ サイトを使用しているアプリケーションには何も影響がないことが保証されます。
- 変更を行ったスタンバイ サイトにすべてのリクエストを渡すようロード バランサーを手動で構成します。
- アイドル状態のサイトに同じ変更を適用します。
- リクエストが元のプライマリ サイトに送られるようにロード バランサーの構成を元に戻して、スタンバイ サイトをスタンバイ モードのままにします。
上記の手順でサイトに対して行った変更は、ArcGIS Server Manager、スクリプト、または仮想イメージを使用して手動で適用できます。
非同期ジオプロセシング タスクおよび実行時間の長いタスク
ロード バランサーがスタンバイ サイトに切り替わると、プライマリ サイトのアクティブなリクエストはすべて失われます。たとえば、ジオプロセシング タスクなど、実行時間の長いリクエストがフェイルオーバーの発生時に実行されている場合、そのタスクは、クライアント アプリケーションによってスタンバイ サイトで再開される必要があります。
トークンベースのセキュリティの使用
トークンベースの認証 (サーバー層認証とも呼ばれる) を使用している場合、この構成内のすべてのサイトがまったく同じ共有トークン鍵を使用することが重要です。それ以外の場合、プライマリ サイトで生成されたトークンは、スタンバイ サイトに対して使用されるときに機能しません。複数のサイトで共有トークン鍵を複製するには、ArcGIS Server Manager でトークン設定を編集できます。