Amazon EC2(Elastic Compute Cloud)インスタンスは、ネットワーク トラフィックをセキュリティ グループ内に定義されているソースとポートのみに制限できます。Amazon EC2 を使用する場合、EC2 インスタンスでの処理の種類に応じたセキュリティ グループを設定する必要があります。このトピックでは、ArcGIS Server のさまざまな構成に対して構成できる一般的なセキュリティ グループについて説明します。
デフォルトでは、セキュリティ グループは完全にロックされています。セキュリティ グループにルールを追加して、許可するトラフィックのタイプ、トラフィックに使用するポート、通信を受け付けるコンピュータを指定します。開くポートと許可する必要のあるトラフィックのタイプは、インスタンスでの処理の内容によって異なります。
AWS Management Console で構成できるセキュリティ グループの名前とルールの推奨事項を以下に示します。許可するポートとプロトコルは、組織の IT ポリシーによって変化する場合があります。以下の推奨事項は、最も一般的なポート番号を使用しています。組織に IT の専門家がいる場合は、EC2 インスタンスに最も適したセキュリティについて相談してください。
開発用 ArcGIS Server
開発およびテスト用に使用されている EC2 インスタンスには、専用のセキュリティ グループを作成することを検討してください。このタイプのグループでは、次のアクセスを許可することになります。
- 組織内の IP アドレスまたは承認済み IP アドレスの範囲に対するポート 3389 での RDP アクセス(Windows のみ)。Windows リモート デスクトップを使用して EC2 インスタンスを管理できるようになります。接続できる IP アドレスの範囲(または 1 つの IP アドレス)を指定するには、CIDR(Classless Inter-Domain Routing)表記を使用する必要があります。たとえば、0.0.0.0/0 はすべてのユーザによる接続を許可しますが、92.23.32.51/32 は 1 つの特定の IP アドレスによる接続を許可します。ローカル コンピュータのグローバル IP アドレスを取得できない場合は、システム管理者に確認してください。
- 組織内の IP アドレスまたは承認済み IP アドレスの範囲に対するポート 22 での TCP アクセス(Linux のみ)。ポート 22 を開くと、SSH を使用して Linux インスタンスを操作できます。
- 全ユーザ(ELB(Elastic Load Balancer)を使用していない場合)、または ELB のセキュリティ グループ(ELB を使用している場合)に対するポート 6080 での TCP アクセス。ArcGIS Server との通信には、ポート 6080 が使用されます。サイトの前面に ELB を配置していない場合、ArcGIS Server の Web サービスを使用するすべてのユーザに対してポート 6080 を開く必要があります。ELB を使用している場合、ELB のセキュリティ グループに対してポート 6080 を開く必要があります(ELB のセキュリティ グループは AWS Management Console から検出可能で、通常は amazon-elb/amazon-elb-sg などの値です)。
- このグループ内の他のコンピュータからのアクセスこれは、GIS サーバ コンピュータ同士が通信するために必要です。これは、ファイル共有にも役立ちます。このタイプのアクセスを許可するルールを追加するには、[All ICMP] ルール タイプを選択し、セキュリティ グループ ID(sg-xxxxxxxx など)を [Source] ボックスに入力して、[Add Rule] をクリックします。この方法を使用すると、グループ内のコンピュータ同士がすべてのポートとプロトコルを介して通信できます。
ArcGIS Server の実運用
アプリケーションの開発とテストが終了し、実運用フェーズに移行できるようになったら、リモート デスクトップ アクセスを無効にすることをお勧めします。問題が発生してコンピュータにログインする必要がある場合は、アクセスできるようにセキュリティ グループの構成を一時的に変更できます。ArcGIS Server 実運用のためのグループは、次のアクセスを許可できます。
- 全ユーザ(ELB(Elastic Load Balancer)を使用していない場合)、または ELB のセキュリティ グループ(ELB を使用している場合)に対するポート 6080 での TCP アクセス
- このグループ内の他のコンピュータからのアクセス
実運用 ArcGIS Server のセキュリティ
コンピュータとの通信を暗号化する必要がある場合、SSL での暗号化通信に通常使用されるポート 443 でトラフィックを受信できるように、サイト上の ELB を構成する必要があります。次に、トラフィックをポート 6443 に転送するようにロード バランサを構成します。セキュリティ グループで、実運用 ArcGIS Server に対して、前述したポートを開きます。
エンタープライズ ジオデータベース
ArcGIS Server インスタンスとは異なるインスタンス上にエンタープライズ ジオデータベースを配置する場合、次のアクセスを許可するエンタープライズ ジオデータベース専用のセキュリティ グループを構成できます。
- 組織内の IP アドレスまたは承認済み IP アドレスの範囲に対するポート 22 での TCP アクセス(Linux)。PostgreSQL のデフォルト パスワードを変更するために、コンピュータに少なくとも一度、リモートから接続する必要があります。変更後は、必要に応じて、セキュリティ グループからこのリモート アクセス ルールを削除できます。
- ポート 3389 での RDP アクセス(Windows)。このルールは、たとえばユーザやジオデータベースを追加するために、SQL Server または SQL Server Express インスタンスにリモートから接続する必要がある場合に追加して、完了したら削除できます。
- ArcGIS Server のセキュリティ グループ内にあるコンピュータからのアクセス。ArcGIS for Server を実行しているインスタンスから、エンタープライズ ジオデータベースのインスタンスを参照できます。セキュリティ グループに参加していないコンピュータがジオデータベースに接続する必要がある場合は、PostgreSQL と通信できるようにポート 5432 を明示的に開く必要があります。
一般的に使用されるポート
セキュリティ グループを作成するときに操作する最も一般的なポートを以下に示します。これらのポートのいくつかは明示的に開く必要がなく、セキュリティ グループ内のコンピュータ同士が制限なくアクセスできるように設定すればよいだけです。セキュリティ グループに参加していないコンピュータ(オフィス内のデスクトップ ワークステーションなど)からアクセスを許可する場合は、特定のポート番号を開く必要があります。
Port | 一般的な目的 |
---|---|
80 | IIS Web サーバまたはロード バランサへの HTTP アクセス |
443 | IIS Web サーバまたはロード バランサへの HTTPS アクセス |
445 | Windows のファイル共有 |
1433 | Microsoft SQL Server への接続 |
3389 | Windows リモート デスクトップへの接続 |
5432 | PostgreSQL への接続 |
6080 | ArcGIS Server への HTTP アクセス |
6443 | ArcGIS Server への HTTPS アクセス |
Cloud Builder を使用して構築したサイトを含む、Esri が提供する AMI を使用して起動したインスタンスでは、Windows ファイアウォールが有効になっています。上記以外のポートが必要なサードパーティのアプリケーションをインストールしている場合は、Windows ファイアウォールもそのポートが使用できるように構成されていることを確認してください。