ユーザーの要求に応じて、ArcGIS Server サイトを調整できます。複数のインスタンスをサイトに追加し、Amazon Load Balancer の下でこれらのインスタンスを接続できます。リクエストが増加したら、手動またはプログラミングによってさらにインスタンスを追加できます。
ヒント:
ArcGIS Server Cloud Builder on Amazon Web Services を使用してサイトを構築するときは、サイトに含める最小インスタンス数および最大インスタンス数の設定と、サイトの自動スケーリングのトリガーとなる CPU 使用率レベルを選択できます。この方法で自動スケーリングを設定すると、ロード バランサーを設定するための自動スケーリング コマンドを記述する必要がないため簡単です。
Cloud Builder を使用しない場合は、インスタンスを自身で作成し、作成したインスタンスを、AWS Management Console または Amazon Auto Scaling API を使用してロード バランサーに手動で追加する必要があります。
ロード バランサーとスケーリング
1 つの EC2 インスタンスで提供できる能力よりもさらに能力が必要な場合は、追加の GIS サーバーとして新しいインスタンスを作成し、ロード バランサーの下に置いて、構成を拡張することができます。サーバーへのすべてのリクエストがこのロード バランサーを経由した後に、使用可能な EC2 インスタンスへと均一に分散されます。
AWS Management Console には [Load Balancers] リンクがあり、このリンクを使用して既存のロード バランサーの表示と、ウィザードの使用による新しい ELB の追加を行うことができます。ロード バランサーのプロパティを表示し、インスタンス名のリストの横にある一連のチェックボックスを更新して、いつでもロード バランサーへのインスタンスの追加または削除を行うことができます。
AWS Management Console を使用して起動し、ロード バランサーの下に配置した ArcGIS for Server インスタンスは、互いを認識しません。また、非同期ジオプロセシングや分散マップ キャッシングなどの操作に使用することはできません。GIS サーバーが互いに通信するアーキテクチャを最大限に利用するには、ArcGIS Server Cloud Builder on Amazon Web Services を使用してサイトを構築します。
サイトの監視
たとえば、州政府から提供される自然災害情報を表示する、一般公開用の Web マップ アプリケーションを管理する場合を想定します。通常、このサイトは 1 時間あたり 500 ユーザーが閲覧しますが、竜巻や洪水など、天候に関する大きな事象が発生した場合、1 時間あたり最大 10,000 ユーザーが閲覧します。10,000ユーザー の閲覧をサポートするために十分なハードウェア (またはインスタンス) を常に維持しておく必要はありませんが、サイトは突発的に発生する負荷を遅滞なく処理できる必要があります。
サイトをスケール アウトする最初の手順は、サーバーにかかる負荷を監視することです。発生するトラフィックを明確に予測できる場合、これは常に必要なわけではありません。ただし、竜巻などの事象が発生した場合、十分に予測できない可能性があります。Amazon CloudWatch は、インスタンスで実行されている作業の量を把握するために使用できるサービスです。CloudWatch では、インスタンス使用率のグラフが表示され、オプションの API によるメトリクスも提供されます。
CloudWatch は、手動で作成したインスタンスでは明示的に有効にする必要があるオプションです。CloudWatch は、ArcGIS Server Cloud Builder on Amazon Web Services によって起動されたすべてのインスタンスで、すでに有効化されています。
Amazon は CloudWatch の特定の機能について課金します。これが問題になる場合は、CPU とメモリの使用率など、インスタンス上の特定のメトリクスを独自の方法で追跡できます。
インスタンス数の調整
サイトが過負荷になっていることを検出した場合は、追加の AWS インスタンスを作成してサイトに追加することができます。反対に、サイトがあまり活用されていない場合は、インスタンスを削除してコストを削減できます。インスタンスの数は手動または自動で調整できます。
インスタンスを自動的に追加または削除する場合は、ArcGIS Server Cloud Builder on Amazon Web Services を使用して、CPU 使用率のレベルに応じてインスタンスを追加または削除するルールを設定できます。また、サイトを手動で構築している場合は、Amazon Auto Scaling API を使用してユーザー独自のルールを設定できます。
Amazon の自動スケーリングで作成されたコンピューターでは、CloudWatch が有効であり、対応する料金が適用されます。
インスタンスの終了後の EBS ボリュームの削除
インスタンスを終了すると、そのインスタンスにアタッチされている Amazon Elastic Block Store (EBS) ボリュームが自動的に削除されない場合があります。これは、インスタンスの作成時に、どのストレージ オプションをインスタンスに追加したかによります。インスタンスの終了時に、すべての EBS ボリュームを削除しなかった場合で、その後それらのボリュームを再利用しないのであれば、不要な料金がかかるのを避けるために、それらのボリュームを手動で削除する必要があります。これを実行する 1 つの方法は、EC2 API を使用して、使用可能ステータスの EBS ボリュームがあるかどうかを確認し、見つかった使用可能なボリュームを削除することです。この確認は定期的に行うことができます。
Amazon インスタンス制限の増加
サイト上で多数の AWS インスタンスを稼働させたい場合は、Amazon アカウントを確認し、許可されているインスタンス数を確認してください。ほとんどのアカウントは、20 のオンデマンド インスタンスまたは予約済みインスタンス、およびリージョンあたり 100 スポット インスタンスに制限されています。Amazon は、アカウントの制限緩和をリクエストするために使用できるウェブ フォームを用意しています。