ArcGIS のマップ サービスまたはイメージ サービスのキャッシュを Amazon EC2 (Elastic Compute Cloud) に作成するのは、クラウドの外部でキャッシュを作成する場合と比較して次の点で異なります。
- インスタンスは、多くのサイズと料金の中から自由に選択できます。
- キャッシュを配置できるインスタンスにボリュームを追加できます。
このトピックでは、これらの要素について詳しく説明します。
インスタンスのサイズと料金の選択
Amazon EC2 は、さまざまなインスタンス サイズと仕様を提供しています。それぞれのインスタンスは、使用時間あたりの料金が異なります。インスタンスが大きいほど、特に多くのメモリを使用できるほど、タイルを高速に生成できます。インスタンスが小さいほどタイルの生成に時間がかかりますが、コストは低くなります。
高性能なインスタンスを使用して、アタッチされた Amazon EBS (Elastic Block Store) ボリューム上にキャッシュを作成できます。キャッシュの作成が完了したら、EBS ボリュームをデタッチして、通常の (小さくて料金の低い) インスタンスにアタッチできます。その後、キャッシュの作成に使用した高性能なインスタンスを終了できます。このようにすると、比較的高価なインスタンスを必要以上に使用せずに、クラウドの能力を利用してキャッシュを作成することができます。
価格と速度を考慮して、決定する必要があります。時間あたりの料金が安い、性能の低いインスタンスを使用することが、最も経済的な選択であるとは限りません。キャッシュの総コストは、タイルの作成に要した時間に依存するためです。一方、最も高性能なインスタンスを使用しても、キャッシュの総コストは高くなる可能性があります。キャッシュの作成に要する時間が短くても、時間あたりの料金は高いためです。
小さなテスト キャッシュ (中都市のサイズなど) とカスタム AMI (Amazon Machine Image) またはサイト テンプレートを使用すると、比較的料金の低いテストをさまざまなインスタンス タイプで実施して、キャッシュに最も経済的なタイプを見つけることができます。
高性能な EC2 インスタンス タイプは、多くの更新ワークフローを短時間で処理しなければならないスケジュールされたキャッシュ更新に適しています。
キャッシュ作成時に使用するマップ サービスのインスタンス数の選択
EC2 の各インスタンスでは、仮想 CPU コアの数が決まっています。この数値は、Amazon Web Services Management Console でインスタンス タイプを選択するときに表示されます。コアの数は、キャッシュの作成に投入する CachingTools のジオプロセシング サービスのインスタンス数を決定する際に役立ちます。使用するサービス インスタンスが多すぎると CPU が過負荷になり、サービス インスタンスが少なすぎすると CPU を十分に活用できません。
最適な数は試行錯誤を繰り返せばわかりますが、まず CachingTools サービスの最大インスタンス数を n + 1 にして試してください。ここで、n はサイト内の 1 つの EC2 インスタンス上にある仮想コアの数です。
自動スケーリング
大きなキャッシュを構築する場合、CPU の使用量が増えるのにともなって、キャッシュ上で機能する EC2 インスタンスの数を自動で増やす自動スケーリング トリガーを設定したいと考えるかもしれません。しかし、自動スケーリングは、予想外のトラフィックの増加を処理する場合により適しています。キャッシュを作成する場合、大幅な処理能力が必要であることはすでにご存じでしょう。したがって、自動スケーリング トリガーを介して順次インスタンスが起動するのを待つよりも、キャッシュを作成する前に必要なインスタンスをすべて起動するほうがより合理的です。
キャッシュを配置する場所の決定
「Amazon Web Services (アマゾン ウェブ サービス) へのデータの転送方法」で説明したように、データを配置できる場所にはさまざまなタイプがあります。キャッシュを作成するとき、EC2 インスタンスにアタッチされた EBS ボリュームまたは S3 バケットに書き込むことができます。
キャッシュを EBS ボリュームに作成する場合、ボリュームが十分に大きいことを確認してください。このボリュームが小さすぎる場合は、既存のデータ ボリュームのスナップショットから作成したより大きなボリュームに置き換えてから、そのボリュームにサーバー キャッシュ ディレクトリを登録できます。EC2 インスタンスの C またはルート ドライブには、キャッシュを構築しないでください。インスタンスが終了すると、キャッシュが失われてしまいます。
マップ キャッシュとイメージ キャッシュを S3 バケットに格納する場合は、次の手順に従います。
- Amazon S3 バケットを AWS 上の ArcGIS Server サイトと同じリージョン内に作成します。
- S3 バケットにフォルダーを作成します。このフォルダーに「arcgiscache」という名前を付けます。
- キャッシュされたマップまたはイメージ サービスを公開する AWS 上のサイトの ArcGIS Server Manager にサイン インして、S3 バケットをクラウド ストアおよびキャッシュ ディレクトリとして登録します。
クラウド ストアを登録するときは、認証情報として IAM ロールまたは [アクセス キー] を使用できます。
クラウド ストアを登録するとき、[S3 バケット名] または [フォルダー] フィールドにフォルダー名の「arcgiscache」を含めないでください。
ArcGIS Server アカウントに、提供するアクセス キーまたは IAM ロール アカウントを使用したバケットへの読み取り/書き込みアクセス権があることを確認してください。
クラウド ストアを登録した後は、S3 バケットを使用してキャッシュされたマップまたはイメージ サービスを公開できます。S3 では、キャッシュ スキーマの作成、キャッシュ タイルの更新、およびキャッシュ タイルの削除を実行できます。
S3 のキャッシュの注意事項
S3 にキャッシュがある場合、以下はサポートされていません。