はじめに
この記事は、プリプロダクション環境でよくある基本的なユースケースについて説明します。すべてのArcGIS Enterpriseコンポーネント(Portal、Server、およびData Store)は、内部ネットワーク上の単一マシンに存在します。BIG-IPリバースプロキシは、すべてのクライアントトラフィックをBIG-IPアプライアンス経由でルーティングしながら、システムを別のネットワーク(内部クライアントネットワークまたはパブリックネットワーク)に提示できるようにします。

この記事は3つの主要なセクションに分かれています。最初のセクションはArcGIS Enterprise管理者向けで、彼らが理解する言語と用語でタスクの方向付けを行います。2番目のセクションはBIG-IP管理者向けで、彼らが理解する言語と用語で説明しています。最後のセクションは両方の管理者に適した追加のオプションと詳細について述べています。
この記事の目的は、ArcGISとF5の管理者が協力して作業できるように、協力のための実証済み手順セットを説明することです。この記事はArcGIS管理者がF5を自分で設定できるようにすること(またはその逆)を目的としていません。ArcGIS管理者はArcGISの専門家であり、詳細についてはEsriのドキュメントに依存していると想定しています。同様に、F5管理者はBIG-IPの専門家であり、詳細についてはF5のドキュメントに依存していると想定しています。
ユースケースは「基本的」ですが、取り組みは「単純」ではありません。成功には複数の専門分野(Esri技術、F5技術、ネットワーキング、証明書など)の技術と知識を統合する必要があります。この記事の手順があなたの組織環境で実行可能なほど明確でない場合、それは外部コンサルティング支援が有益であることを示しているかもしれません。
この記事は以下のユースケース仕様に基づいています:
- F5のBIG-IPを「OSI Layer 7」または「フルプロキシ」として使用すること
- Windowsオペレーティングシステム上のIISでWeb Adaptorを展開したArcGIS Enterpriseを使用すること
ArcGIS管理者向け指示
ArcGIS管理者の焦点は、F5 BIG-IPリバースプロキシによってプロキシされる準備ができた状態でArcGIS Enterpriseを展開することです。展開目標は以下の図に示されています。

特定の要件によっては、リバースプロキシを使用する場合にWeb Adaptorsを展開する必要がない場合もあります。しかし、以下の理由から展開することを推奨します:
- Web Adaptorsを使用するとBIG-IPリバースプロキシ内の構成複雑性が軽減されます。
- Web Adaptorsによりリバースプロキシとは独立してArcGIS Enterpriseシステムの正確性を検証できるため、トラブルシューティング時に非常に有用です。
- Web AdaptorsはJava Web Serverを使用してLinuxベースシステム上にも展開できますが、この初期ガイドではWindows上のIISで展開される頻度が高いため、そのパターンに焦点を当てています。
ステップ1:設計決定とF5管理者との連携
この構成では、クライアントはリバースプロキシ経由でArcGIS Enterpriseにアクセスします。リバースプロキシはCNAME(「DNSエイリアス」、下図では緑色)を提示し、クライアントからのHTTPSセッションを終了します。その後、自身からWeb AdaptorsをホストするWebサーバーへの新しいHTTPSセッションを再開始します。Webサーバーは通常、BIG-IPリバースプロキシから来るHTTPSセッションを終了するAレコード(ホスト名、下図では赤色)名義の証明書を提示します。

システム展開前に以下の決定が必要です:
- リバースプロキシがArcGIS Enterpriseシステムを表す(「DNSエイリアス」)は何か?
- Portal for ArcGISおよびArcGIS Server Sites用の「コンテキスト」(「Web Adaptor名」、下図では青色)は何か?
CNAMEについて合意し、そのCNAME上でHTTPS通信を終了できるTLS証明書があることをF5管理者と協力して確認する必要があります。同時に、Webサーバーが稼働し要求が転送されるマシン名(Aレコード)もF5管理者と共有できます。
ステップ2:TLS証明書付きWebサーバーの展開
ArcGIS Enterprise自体に直接手を付ける前に、まずWebサーバーを展開しHTTPSトラフィック用TLS証明書で構成することが有用です。これによりWebサーバーでHTTPSが機能していることを確認でき、F5管理者も早期にリバースプロキシ設定が可能になります。TLS証明書とHTTPS経路の早期検証につながります。
WebサーバーでHTTPSを構成する
HTTPS有効化手順はWebサーバーブランドによって異なります。IISは非常に一般的なWebサーバーなので、EsriはWeb Adaptorインストールガイド内でIIS向けHTTPS構成手順を提供しています:https://enterprise.arcgis.com/en/web-adaptor/latest/install/iis/enable-https-on-your-web-server-server-.htm.
WebサーバーでHTTPSを有効化するときにはTLS証明書が必要です。証明書にはSubjectやSubject Alternative Names (SAN)など属性があります。証明書SubjectはBIG-IPリバースプロキシがWebサーバーへアクセスするときに使う名前と一致すべきです。これは多くの場合Aレコード(図中ではmachine1.domain.local)です。SANには代替名一覧があります。SANとして含める良い慣行例:
- Subject名(例:machine1.domain.local)
- Subject名短縮版(例:machine1)
- 可能ならばリバースプロキシが提示するCNAME(例:gis.domain.com)
組織ごとの認証局やポリシーによってSANへCNAME記載可否が異なります。記載するとリバースプロキシとは独立してArcGIS Enterprise検証能力が向上します。
検証
WebサーバーがHTTPS対応になったら設定検証してください。まずブラウザから直接HTTPSプロトコルでWebサーバーへアクセスし検証します。次にF5管理者がBIG-IPリバースプロキシ設定済みならばブラウザからリバースプロキシ仮想サーバーエンドポイントへもHTTPSアクセスし検証します。それぞれの場合とも証明書警告なし・ページ正しく表示されること確認してください。
通常Webサーバーにはルートアクセス時返却されるデフォルトページがあります。それでも良いですがより良い方法として状況把握しやすいページ展開があります。showHeadersページ(ASPX/IIS用とJSP用あり:https://github.com/dannykrouk/showHeaders)では多く有用な詳細情報が返されます:

showHeadersページをWebサーバールートへ展開し、それをWebサーバーおよびリバースプロキシ両方テスト対象として利用することをご検討ください。ルート配下へ展開した場合テストURL例:
ステップ3:ArcGIS Enterprise の展開および構成
ここで扱うArcGIS Enterprise展開は「単一マシンベース展開」です(https://enterprise.arcgis.com/en/get-started/latest/windows/base-arcgis-enterprise-deployment.htm#ESRI_SECTION1_690F8D4A3ABE4FB8AE926C118E9F8299)。
基本のインストールと構成
インストール手順を案内するドキュメントはEsriのウェブサイトで入手可能です:https://enterprise.arcgis.com/en/documentation/install/。
この記事では、Portal for ArcGISのWeb Adaptor名(「コンテキスト」)は「/portal」であり、Hosting ServerのWeb Adaptor名は「/server」です。ホスティングサーバーサイトをPortal for ArcGISとフェデレートするとき、Web Tier認証を使用していない限り、サービスURLと管理URLの両方にWeb Adaptorを使用できます(https://enterprise.arcgis.com/en/portal/latest/administer/windows/configure-servers.htm)。Web Tier認証を使用している場合、管理URLは次のパターンに従う必要があります:https://machine1.domain.local:6443/arcgis。
基本の検証;「システム信頼性チェック」
Web Adaptorsが構成され、Hosting Serverがフェデレートされたら、コア機能が正しく動作することを確認するために簡単な「システム信頼性チェック」を実行すべきです。
典型的なシステム信頼性チェックには以下が含まれます:
- /portaladminにログイン
- フェデレーションの検証
- サービスの公開
- サービスの共有
これらのステップで確立される「信頼」は、展開されたシステムに基本的な操作を妨げる根本的な構成上の欠陥がないことを意味します。
システム信頼性チェックで作成したもの(例:公開したサービス)は続行前に削除してください。
リバースプロキシの最終構成
最終構成ステップはPortalとHosting ServerのWebContextURLを設定することです。このプロパティは各EsriサーバーがクライアントがBIG-IPリバースプロキシ経由でアクセスする名前を知る方法です。
Portal for ArcGIS: https://enterprise.arcgis.com/en/portal/latest/administer/windows/using-a-reverse-proxy-server-with-portal-for-arcgis.htm#ESRI_SECTION1_7C753FB1F19349A398E5FFCC6079A821
{
"WebContextURL": "https://gis.domain.com/portal"
}ArcGIS for Server: https://enterprise.arcgis.com/en/server/latest/deploy/linux/using-a-reverse-proxy-server-with-arcgis-server.htm#ESRI_SECTION1_13680C9069E14B1F8AE5793BE1ED25A6
{
"WebContextURL": "https://gis.domain.com/server"
}ステップ4:システム検証
ArcGIS管理者にとって4番目で最後のステップはBIG-IPリバースプロキシとは独立した「システム検証」です。この方法で検証し、リクエストがリバースプロキシ経由で流れる際に何か問題があれば、その原因はリバースプロキシ構成にあります。この方法で検証しないと問題の原因特定が非常に複雑になる可能性があります。
Webサーバーマシン上で名前解決を一時的に変更する
この検証のコツはCNAME(gis.domain.com)がArcGIS Enterpriseマシン(machine1.domain.local)にあると一時的にシステムに認識させることです。machine1.domain.localマシンのローカル管理者権限があればhostsファイルを編集できます。machine1.domain.localのIPアドレスが10.0.0.10の場合、hostsファイルエントリは次のようになります:
10.0.0.10 gis.domain.com
これは「gis.domain.comは10.0.0.10にあります」と示しています。
このファイル(通常はC:\Windows\System32\drivers\etc\hosts)への編集完了後、コマンドプロンプトを開きpingコマンドで設定が有効か確認してください:
C:\>ping gis.domain.com
Pinging gis.domain.com [10.0.0.10] with 32 bytes of data:
Reply from <machine1のIPアドレス>: bytes=32 time=22ms TTL=124
…
pingコマンド結果はhostsファイル内のIPアドレス(上記で強調表示されたプレースホルダー値)であるべきです。
Webサーバーマシン上のブラウザでテストする
次にmachine1.domain.local上でウェブブラウザを開き、「システム信頼性チェック」を再度実行します。今回はCNAME(https://gis.domain.com/portal/home/)でシステムにアクセスします。
この方法でシステムが正常に動作すればhostsファイル変更を元に戻し、F5管理者に設定作業完了を依頼してください。
F5管理者向け指示書
BIG-IP視点から見るとこれは単純な構成です。ArcGIS Enterpriseシステムには複数コンポーネントがありますが、リバースプロキシから見るとHTTPS/443で待機する単一バックエンドウェブサーバーノードがあります。他のシステムと異なる可能性がある唯一の構成要素はArcGIS EnterpriseがX-Forwarded-Hostヘッダーをリバースプロキシに含める必要があることです。
大まかには、プロキシ構成はすべてのHTTPSトラフィックをgis.domain.comCNAMEへ終端し、単一バックエンドノードmachine1.domain.localへHTTPSを再開始します。このアドレス上のウェブサーバーはArcGIS Enterprise主要コンポーネントそれぞれ用の2つの「コンテキスト」、すなわち/portalと/serverをサポートしています。

この記事冒頭で説明したように、BIG-IPプロキシにはクライアントネットワーク、サーバーネットワーク、および管理ネットワークという3つのネットワークが関連付けられていると仮定しています。
この記事ではBIG-IP管理者として専門家であり、この仮想サーバーおよびバックエンドプールを最適な順序で設定するための手順だけを示すことを想定しています。
ステップ1:ウェブサーバーへのプロキシ設定
このシステム用CNAMEはあなたにより確立済みか通知済みであるべきです。そのCNAME用TLS証明書も提供されているべきです。証明書発行機関はこのシステムクライアントから信頼されている必要があります。
TLS証明書のインストール
BIG-IP内仮想サーバー用TLS証明書(例:Subject gis.domain.com)をインストールします。
System > Certificate Management > Traffic Certificate Management > SSL Certificate List > Import SSL Certificate

クライアントSSLプロファイル作成
gis.domain.com名用証明書上でクライアントTLS接続を終了するためクライアントプロファイルを作成します。
Local Traffic > Profiles > SSL > Client > Create

Simple Monitor付きプール作成
(例:https://machine1.domain.local/)ウェブサーバー用バックエンドプールを作成し、ノードリソースが「稼働中」か「停止中」か判定するSimple Monitorを設定します。
Local Traffic > Pools > Pool List > Create
<\/span><\/H3> <\/P>HTTP Services Profile の作成(X-Forwarded-Host ヘッダーの追加)<\/H3>X-Forwarded-Host ヘッダーは、ArcGIS Enterprise が BIG-IP に到着した Host ヘッダーの値を認識できるようにします。 ArcGIS Enterprise システムは、この値を設定と照合し、クライアントが適切な方法でアクセスしていることを確認します。 X-Forwarded-Host ヘッダーが存在しないか、誤った値が含まれている場合、ArcGIS Enterprise は HTTP リダイレクトを発行して、どのようにアクセスすべきかを示そうとします。これによりリダイレクトループが発生する可能性があります。ArcGIS Enterprise がリダイレクトループを検出した場合、それを解除してエラーを返します。<\/P>iRule を使って X-Forwarded-Host ヘッダーを含めることができます:<\/P>when HTTP_REQUEST {
HTTP::header insert X-Forwarded-Host [HTTP::host]
}<\/PRE> <\/P>このディレクティブは、到着したリクエストの Host ヘッダーの値を取得し、それをデフォルトプールへの X-Forwarded-Host ヘッダー値として設定します。<\/P>仮想サーバーの作成<\/H3>Local Traffic > Virtual Servers > Create<\/P>仮想サーバーのタイプとして「Standard」を選択します。以前に作成した SSL 証明書付きの SSL Profile (Client) を指定します。サーバープロファイルを指定する際の目的は、バックエンドへの TLS トンネルを確立することです。これは BIG-IP のデフォルト設定「serverssl」で実現できます。「Source Address Translation」は Auto Map に設定してください。<\/P>
<\/span><\/P> Resources タブで、先に作成したプールを選択します。<\/P>
<\/span><\/P> <\/P>ステップ 2: ArcGIS Enterprise へのプロキシ検証<\/H2>この構成の有効性を検証するには 2 つのステップがあります。 <\/P>信頼性とヘッダーの検証<\/H3>バックエンド Web サーバーに showHeaders.aspx ページが展開されていると仮定し、Web ブラウザで https:\/\/gis.domain.com\/showHeaders.aspx<\/A> にアクセスしてください。ブラウザには証明書の信頼警告が表示されないはずです。このページのレスポンスボディは、X-Forwarded-Host ヘッダー構成の有効性を証明します。<\/P>
<\/span><\/P> <\/P>この時点で、ヘッダーがバックエンドに正しく流れていることが確認できたため、showHeaders.aspx ツールは不要になります。本番環境や情報公開が望ましくない環境では、このツールは削除すべきです。<\/P>
謝辞<\/>H3>この記事は Esri プロフェッショナルサービス コンサルタント Roger Schlogel の業績に基づいて作成されました。<\/>P> <\/>P> <\/>