AWS 上で ArcGIS Enterprise を構築する際に Application Load Balancer を利用する場面がありますが、今回は設定のコツなどを説明します。この記事を参照する前に以前記載しました以下の 2 つの記事もあわせてご参照ください。
ArcGIS Enterprise を利用する際には、Portal for ArcGIS と ArcGIS Server の2つを参照できる形でクライアントに公開していく必要があります。この場合は以前紹介しましたブログ記事にあるとおりに Portal for ArcGIS 用にEC2にターゲットグループを作成し、ArcGIS Server 用にターゲットグループをもう1つ作成していきます。
この2つのターゲットグループを AWS で Application Load Balancer (以下 ALB) のルールを用いて 1 つの ALB で転送設定していくのが今回紹介するブログ記事のテーマです。
ホスト名による転送設定
Portal for ArcGIS と ArcGIS Server の 2 つのホスト名を用意して、それぞれのホスト名によって転送設定していくのが対応しやすいです。
以下にあるのは ALB のリスナールールの画面ショットです。ArcGIS Server のホスト名 (例: svr.service.jp など) の場合は ArcGIS Server のターゲットグループに転送し、Portal for ArcGIS のホスト名 (例:pl.service.jp など) の場合は Portal for ArcGIS のターゲットグループに転送しています。
補足ですが、ホスト名より AWS ALB にリクエストを送るには、Route53 などであらかじめ、ALB の DNS 名をCNAME として登録しておく必要があります。Portal for ArcGIS のホスト名と ArcGIS Server の CNAME の 2 つのレコードが必要です。
DNS CNAME レコード (Canonical Name Record) は、ドメイン名やホスト名の別名 (エイリアス) で、別のドメイン名にマッピングする DNS レコードのひとつです。
パスパターンによる転送設定
ArcGIS Web Adapter を使わず ALB のみで URL のパスパターンによる転送設定を行うこともできますが、Portal for ArcGIS と ArcGIS Server のホスト名を同一にする場合、ArcGIS Web Adapter により設定する方法を推奨しています。
例えば以下のようなパスパターンがあります。
- /arcgis/home* → Portal for ArcGIS へ転送
- /arcgis/sharing/* → Portal for ArcGIS へ転送
- /arcgis/rest* → ArcGIS Server へ転送
- 上記は例であり、すべてのパスパターンではありません。その他にもパスパターン設定があります。
ArcGIS ヘルプページに明確なパスパターンによる設定ガイドが明確に存在しておらず、また長期的な運用の視点ですが、ArcGIS Enterprise の製品をバージョンアップした際に考慮すべきパスパターンが増える可能性もあるので、やむを得ない場合など利用ケースを踏まえて慎重に決定してください。
まとめ
ArcGIS Server や Portal for ArcGIS のパスを変更したい場合は通常 ArcGIS Web Adapter を ALB と ArcGIS Server や Portal for ArcGIS との間に配置することで対応できます。また、ArcGIS Web Adapter を直接公開する方法などもあります。ただし、AWS 上で ArcGIS Enterprise を構築する際は、ArcGIS Enterprise Hardening Guide に記載のある通り、ArcGIS Web Adapter はなるべく利用しない形での構築を推奨しております。Web 層での認証があるケースや、やむを得ず /arcgis 以外でのパスによるサービス運用を行う必要があるケースなどの特別な理由がない場合は、ALB などを利用しての ArcGIS Enterprise の構築をお勧めいたします。
Portal for ArcGIS で ArcGIS Pro の指定ユーザーライセンスの管理も検討されている場合は次の点をご注意下さい。バージョン 11.3 以下では HTTPS (443) 以外の TCPポート (27000 など) を使用します。Application Load Balancer は HTTP/HTTPS のみしか使用できない制約があるのでご注意下さい。バージョン 11.4 以降では HTTPS のみで指定ユーザー ライセンスが管理できるようになりました。

