ArcGIS Enterprise の作業センターである ArcGIS Server は、ユーザーが管理するインフラストラクチャを使用して、組織の地理情報、解析、および製品を Web に公開します。
マップ ドキュメント、ジオプロセシング ツール、住所ロケーターなどのデスクトップ製品は、ArcGIS Server に公開すると GIS サービスとしてファイアウォール内の組織から使用でき、オプションでインターネットからもアクセスすることができます。これらのサービスは、マップ ビューアーからモバイル アプリケーションまでを含む Web クライアントで使用でき、特別な GIS ソフトウェアをインストールすることなく、クライアント間でリソースを簡単に共有できます。
このトピックでは、ArcGIS Server の構造と機能を管理者の観点から説明します。
スタンドアロンおよびフェデレートされたサイト
ArcGIS Server をスタンドアロン システムとして配置してユーザーに GIS サービスを提供したり、インフラストラクチャ内の包括的な Web GIS 配置として ArcGIS Enterprise プラットフォームと統合したりできます。
この統合を実現するには、1 つ以上の ArcGIS Server サイトを ArcGIS Enterprise ポータルとフェデレートします。この配置により、ArcGIS Server サービス上に強力かつ魅力的な製品を構築し、ArcGIS Enterprise ポータルとネイティブ アプリを使用して簡単に配布できます。
たとえば、GIS の専門家が ArcGIS Pro にマルチレイヤー マップを作成し、(ArcGIS Server マップ サービスを利用して) Web マップとして ArcGIS Enterprise ポータルに共有できます。このポータルで数個のレイヤーから Web アプリを作成し、Web サイトにパブリック コンテンツとして埋め込むこともできます。また、GIS 部門が現場の作業者に Esri モバイル アプリ (ArcGIS Collector など) を提供し、ArcGIS Server フィーチャ サービスを利用して、共通の Web マップ上でフィーチャを追加および更新させることもできます。
セキュリティとアクセス
スタンドアロン システムとして配置した場合、ArcGIS Server がシステムの共有およびセキュリティ モデルを制御します。管理者は、ArcGIS Server Manager、ArcGIS Server と一緒にインストールされたブラウザーベースのアプリケーション、および ArcGIS Server Administrator Directory を使用してプログラム的にアクセス制御、公開権限、Web トラフィック プロトコルなどの設定を変更できます。ビルトインの ArcGIS Server アイデンティティ ストアか、組織の外部 ID プロバイダーを使用して、スタンドアロン サイトに対するユーザーの許可および認証を行うことができます。
ArcGIS Server が ArcGIS Enterprise ポータルとフェデレートされている場合、ポータルの共有およびセキュリティ モデルが採用されます。ただし、一部のセキュリティ設定は引き続き ArcGIS Server 層から構成できます。
フェデレーションおよびフェデレートされた ArcGIS Server サイトの動作の詳細については、「サーバーと ArcGIS Enterprise との統合」をご参照ください。
ArcGIS Server のコンポーネント
ArcGIS Server サイトは、複数のコンポーネントから構成されています。これらは、処理性能を向上させるために、必要に応じて複数のコンピューターに分散することができます。サイト内の各コンポーネントは、一連のサービスに割り当てられたリソースを管理するプロセスにおいて定められた役割を果たします。
ArcGIS Server サイトのコンポーネントは次のようにまとめることができます。
- Web サーバー - Web アプリケーションをホストし、ArcGIS Server にオプションのセキュリティ機能と負荷分散機能を提供します。
- ArcGIS Web Adaptor - ArcGIS Server をエンタープライズ Web サーバーと統合し、送信されてくるリクエストをさまざまな ArcGIS Server コンピューターに転送します。
- ArcGIS Server - GIS Web サービスに発行されたリクエストに対する処理を実行します。ArcGIS Server は、マップの描画、ツールの実行、画像の提供、データベースの同期、ジオメトリの投影、データの検索、その他 ArcGIS が提供する多くの処理を実行できます。
Web サーバー
Web サーバーは Web アプリケーションをホストし、ArcGIS Server サイトにオプションのセキュリティ機能と負荷分散機能を提供します。ArcGIS Server は、IIS (インターネット インフォメーション サービス)、WebSphere、および WebLogic といった多くの一般的な Web サーバーと互換性があります。
ArcGIS Web Adaptor
ArcGIS Web Adaptor は、リクエストを Web サーバーから ArcGIS Server に転送する Web アプリケーションです。ArcGIS Web Adaptor は、サイトに追加されたコンピューター (とサイトから削除されたコンピューター) を追跡し、トランザクションを適切に転送します。ArcGIS Web Adaptor では、デフォルトのサイト名 arcgis を使用する代わりに、サイトに独自の名前を設定できます。ArcGIS Web Adaptor はまた、Web サーバーのセキュリティのネイティブ機能を活用したり、ArcGIS Server Manager や ArcGIS Server Administrator Directory への外部からの接続を遮断したりすることもできます。
ArcGIS Web Adaptor は Web サービス リクエストを受信すると、リクエストを ArcGIS Server コンピューターの 1 つに転送します。ArcGIS Web Adaptor は、ある ArcGIS Server コンピューターが利用できないと判断すると、そのサーバーへのリクエストの転送を停止します。
その他の Web ゲートウェイ オプション
ArcGIS Web Adaptor は、サイトへの Web ゲートウェイまたはエントリ ポイントを構成するための唯一の方法ではありません。その他の Web ゲートウェイ テクノロジとしては、物理的な HTTP ロード バランサーやネットワーク ルーター デバイス、または負荷分散用に設計されたサードパーティ ソフトウェアなどがあります。たとえば、Amazon Web Services (AWS) クラウド環境では、Amazon Elastic Load Balancer (ELB) が Web ゲートウェイの役割を果たすことができます。Web ゲートウェイの役割を果たすテクノロジが組織内にすでにある場合でも、ほとんどの場合は ArcGIS Server と一緒に動作するように設定できます。
ArcGIS Web Adaptor またはサードパーティ製のロード バランサーであるかにかかわらず、ユーザーが常に Web ゲートウェイを使用して ArcGIS Server サイトにアクセスすることが、セキュリティを確保するためのベスト プラクティスです。ユーザーは直接ポート 6443 または 6080 を使用して、ArcGIS Server に接続しないでください。
ArcGIS Server
マップ、住所の座標、ジオプロセシング ジョブなど、送信されてくる Web サービス リクエストは、それぞれサイト内の利用可能な ArcGIS Server コンピューターに割り当てられます。リクエストを割り当てられた ArcGIS Server は、マップの描画、住所座標の検索、ジオプロセシング ツールの実行などを行い、処理結果をクライアントに返します。本質的に、ArcGIS Server コンピューターはサイト内の作業センターとなります。
1 つの ArcGIS Server コンピューターが利用できなくなった場合でもダウンタイムを防ぐために、複数台の ArcGIS Server コンピューターを使用するように ArcGIS Server サイトを構成する必要がある場合があります。あるコンピューターが (計画的または予定外に) オフラインになった場合、ArcGIS Web Adaptor は送信されてくるリクエストをサイト内の残りの ArcGIS Server コンピューターに引き続き配信することができます。
ArcGIS Server サイトの上記のコンポーネントは、開発やテスト、あるいは小規模な配置用に、物理的に同じコンピューター上に配置することができます。小規模および大規模なサイトで推奨されるアーキテクチャの詳細については、「配置シナリオ」をご参照ください。
構成ストア
ArcGIS Server サイトには、構成ストアとして指定されたフォルダーがあります。このフォルダーには、サイトとそのサービスのすべてのプロパティが格納されます。構成ストアの場所は、サイトの作成時に指定します。サイトに複数のコンピューターがある場合、ArcGIS Server コンピューターは共有ネットワーク ディレクトリを使用して構成ストアにアクセスします。複数の ArcGIS Server コンピューターがあるサイトでは、構成ストアを (ArcGIS Server コンピューターとは異なる) 専用のフォールトトレラント ファイル サーバーに配置することをお勧めします。
サーバー ディレクトリ
サーバー ディレクトリは、ArcGIS Server サイトが特定種類の情報を格納および書き込むために専用に設計された、ネットワーク上の物理ディレクトリを表します。キャッシュ、出力、ジョブ、システム ファイル、アップロード、入力データ、KML、およびインデックスを格納するためのサーバー ディレクトリがあります。これらのサーバー ディレクトリは、サイトの作成時に指定した場所に作成されます。サイトに複数のコンピューターがある場合、これは共有ネットワーク ディレクトリである必要があります。
各サーバー ディレクトリの詳細については、「サーバー ディレクトリについて」をご参照ください。
サーバー ロール
さまざまなサーバー ロールを付加した ArcGIS Server ライセンスを取得できます。これらのサーバー ロールは、特殊な解析と処理タスクを実現する独自のサーバー アーキテクチャとフィーチャを活用します。たとえば、ArcGIS GeoAnalytics Server は、大量のデータ セットの解析を早めるために、タスク処理を複数のサーバー コンピューターに分散します。サーバー ロールは、追加でソフトウェアをインストールする必要はありません。ArcGIS Server を認証するときにライセンス ファイルで指定されています。
ArcGIS Server によって開始されるプロセス
サイトに参加している ArcGIS Server コンピューターでは、次のオペレーティングシステム プロセスが開始されます。
- 1 つの ArcGISServer.exe プロセス
- 実行中の各サービス インスタンスの 1 つの ArcSOC.exe プロセス ジオプロセシング サービスは例外です。実行インスタンスごとに 2 つの ArcSOC.exe プロセスがあります。一部のプロセスは内部システム サービス向けのもので、ユーザーが公開したサービスでないことに注意してください。
- 1 つの rmid.exe プロセス
- 2 つの javaw.exe プロセス これらは、基本アプリケーション サーバー機能と Web サービスをホストする機能を提供します。
- 2 つの conhost.exe プロセスと 1 つの cmd.exe プロセス。これらは Windows によって開始される補助プロセスで、ArcGIS Server プロセスにコンソール サービスを提供します。
Windows のタスク マネージャーの [コマンド ライン] 列を見ると、javaw.exe が ArcGIS Server と関連付けられていることがわかります。パスに ArcGIS のインストール ディレクトリが含まれていれば、それが ArcGIS Server と関連付けられているプロセスです。各プロセスの詳細情報は、コマンドすべてを調べることでわかります。
Windows サービスの ArcGIS Server は ArcGIS Server 自体を表しています。このサービスを停止すると、コンピューター上の ArcGIS Server を停止して、実行中のサービス インスタンスをシャット ダウンすることができます。
ArcGIS Server サイト
ArcGIS Server サイトは、同等の条件で連携するように構成された個々のコンピューターの組み合わせです。サイトを最初に作成する際、サイトは 1 台のコンピューターで構成されています。[サイトに参加] または [コンピューターの登録] 操作を使用して、追加のコンピューターをサイトに追加できます。
サイトの各コンピューターは、そのサイトに公開されているすべてのサービスを実行します。サイトの Web Adaptor またはロード バランサーによっていずれかのサービスにリクエストが割り当てられると、各サービスがそのリクエストを処理できるようになります。個々のリクエストは、割り当てられたコンピューターによって完全に処理されます。コンピューターがリクエストを完了できない場合、未完了のリクエストをサイト内の別のコンピューターに渡さずに、イニシアティブが失敗します。
「1 台のコンピューターに 1 つの要求」パターンの例外として、ArcGIS GeoAnalytics Server および ArcGIS Image Server ロールがあります。これらのロールは、大規模な解析タスクを実行するために、サービス リクエストの処理を複数のコンピューターに分散します。
サービス インスタンス
サービス リクエストを処理するため、割り当て済みの ArcGIS Server コンピューターは Esriサーバー プロセス (ArcSOC.exe) のインスタンスを使用します。このプロセスにより、コンピューター上のリクエストが実行されます。ArcGIS Server サイトのコンピューターで [タスク マネージャー] を開くと、そのコンピュータで現在実行されている ArcSOC.exe のインスタンスを表示できます。
注: ジオプロセシング サービスは、実行インスタンスごとに 2 つの ArcSOC.exe プロセスを使用しています。その他すべてのサービス タイプは 1 つのみ使用します。
ArcSOC サービス インスタンスはプール別に整理され、トラフィックに対応できるようにサイズを調整できます。サービスに、リクエストの処理のみを行う独自の専用インスタンス プールを含めることができます。10.7 以降、ArcGIS Server サイトに複数のサービスを追加できるインスタンスの共有プールが追加されました。インスタンス プールのサイズは、管理者が ArcGIS Server Manager で設定できる 2 つの設定値 (最小インスタンス数と最大インスタンス数) によって決まります。特定の時間に実行されている実際のインスタンス数は、この設定範囲内に収まるものの、その数は現在のトラフィックによって異なります。
共有インスタンス プールは、サイトのコンピューターで実行されている未使用の ArcSOC インスタンス数を減らすことで、ArcGIS Server によるコンピューターのメモリ使用量を節約するソリューションを提供します。このプールは、一定のリクエストや大量の同時リクエストを受信しないサービスが使用することを目的としています。
共有インスタンス プールを導入する前は、実行中の不要なインスタンスを減らすには、専用プール内のインスタンスの最小数を 0 に設定していました。この設定を行うと、直近でリクエストを受信していないサービスは、サーバー サイトのコンピューター上で ArcSOC インスタンスを実行しなくなるため、メモリ使用量を節約できます。ただし、これにより「コールド スタート」問題が発生します。新しい ArcSOC インスタンスを起動している間、サービスへの次のリクエストに対する応答時間が遅延します。共有インスタンス プールを使用すると、そのサービスで使用できる ArcSOC インスタンスが常に存在する状態になるため、「コールド スタート」問題は解消されます。
詳細については、「共有インスタンス」をご参照ください。
以前のクラスター アーキテクチャ
レガシー:
以下の 2 つのセクションでは、廃止予定の機能について説明します。
ArcGIS Server 10.1 では、サーバー サイトとともにサーバー クラスターが導入されました。クラスターは単一サイトのサブエレメントです。各クラスターは特定のサービス タイプのサービスをホストしたり、特定サイズのリクエストを処理したりできるよう、特別に構成されています。組織は単一の ArcGIS Web Adaptor を使用してアクセスする単一の ArcGIS Server サイト内に、画像サービスを処理するクラスター、ジオプロセシング サービスを処理するクラスターなどを含めることができました。
複数クラスター サイトのパフォーマンスの問題から、10.4 以降では単一クラスター モードで ArcGIS Server を使用することをお勧めしていました。サイトに複数クラスターを構成する機能は 10.7 で削除されました。
複数クラスターが存在しない ArcGIS Server サイトでは、サイト内のどのコンピューターでも任意のリクエストを受け取ることができます。ArcGIS Server コンピューター間で負荷分散は行われません。代わりに、ArcGIS Server サイトで構成された Web Adaptor またはサードパーティ製のロード バランサーによって負荷分散が行われます。サービスは、公開および管理操作のパフォーマンス向上のために 10.6 で導入された、最適化された内部アプリケーション サーバーによって管理されます。
クラスター アーキテクチャの代替手法
ArcGIS Server 10.8.1 の管理者として、以前のクラスターの場合と同様に、種類やサイズによってサービスを分離することができます。
たとえば、複数の ArcGIS Server サイトを設定できます。このオプションは、サイト内の各コンピューターで実行する必要がある ArcSOC インスタンスの数が増えるため、多数のサービスを展開し、そのほぼすべてのサービスが定期的に利用されている場合に特に有効です。
一方、各サービスが受信するトラフィック レベルが大きく異なる場合があります。たとえば、1 つのサービスが複数の同時リクエストを常に処理し、他のサービスがリクエストを受信する頻度が低いような場合です。ここでは、10.7 で導入された共有インスタンス プールを使用して、低頻度のリクエストに対するメモリ使用量を節約しながら、高トラフィックのサービスに共有プールから分離された専用のインスタンス プールを割り当てます。共有インスタンス プールを使用すると、サイトのパフォーマンスが低下したり運用コストが高くなることなく、サイト上で低トラフィックのサービスを大量に実行できます。
複数クラスターの ArcGIS Server サイトを 10.8.1 にアップグレードする手順の詳細については、「複数クラスター サイトのアップグレード」をご参照ください。