Skip To Content

ジオプロセシング サービスのディレクトリを Amazon S3 バケットに移動

ArcGIS Server 10.7 では、管理者は、入力ディレクトリと出力ディレクトリだけでなく、ジョブ ディレクトリもディスクの格納場所から Amazon S3 バケットに変更できます。 ジオプロセシング サービスで常に大規模な出力が生成される場合は、Amazon S3 バケットを使用して、ストレージ リソースをスケール処理することができます。 この構成では、ジオプロセシング サービスの処理速度が遅くなることがあります。

注意:

ジオプロセシング サービスの結果として生成されるマップ イメージ レイヤーは、この構成では使用できません。

アクセス キーまたは IAM ロールを使用してこのクラウド ストレージ構成を設定するには、次の手順を実行します。

Amazon Web Services (AWS) 環境の準備

同期ジオプロセシング サービスの場合は、Amazon S3 サービスだけが必要となります。 非同期サービスの場合は、ArcGIS Server から DynamoDB と Simple Queue Service にアクセスできるようにする必要があります。 Amazon S3 バケット、DynamoDB テーブル、Simple Queue Service キューは同じ領域内に配置しなければなりません。

  1. Amazon S3 内にバケットを作成します。

    詳細については、「最初の S3 バケットの作成」をご参照ください。

  2. 必要な場合は、serviceId をパーティション キーとして使用し、jobId をソート キーとして使用して、テーブルを作成します。

    どちらのキーも文字列形式で指定します。 キーを指定しないと、ArcGIS Server で自動的にテーブルが作成されます。

  3. 非同期ジオプロセシング サービスごとに、Simple Queue Service で一意のスタンダード タイプ キューを作成します。

アクセス キーの使用

アクセス キーを使用して Amazon S3 バケットに接続するには、次の手順を実行します。

注意:

ジオプロセシング サービスからファイルまたはラスター出力が生成される場合、アクセス キーは、結果として生成されるファイルまたはラスター出力の URL、JSON スキーマ ファイル、ヘルプ URL の一部になります。 この内容が組織のセキュリティ ポリシーに準拠しているかどうかを確認する必要があります。

ArcGIS Server では、データ ストア アイテム登録プロセスの実行時にアクセス キーのシークレット キーも必要となります。 ただし、ArcGIS Server では、常にシークレット キーが暗号化されます。

  1. ArcGIS Server Administrator Directory にサイン インして、Register Item を参照します。
  2. アクセス キーやシークレット キーなど、Amazon S3 バケットと DynamoDB に関する接続情報を提供します。

    データ アイテムを ArcGIS REST API に登録する場合の JSON サンプル

    {
        "path": "/cloudStores/<name of your cloud store>",
        "type": "cloudStore",
        "provider": "amazon",
        "info": {
            "isManaged": false,
            "connectionString": {
                "accessKeyId":"<your access key>",
                 "secretAccessKey":"<your secret key>",
                 "region":"<your region>",
                 "defaultEndpointsProtocol":"https",
                 "credentialType":"accesskey"
                 },
            "objectStore": "<name of your S3 bucket>/<optional folder name>",
            "dynamoDbTable":"<dynamoDB table name>"
        }
    }

  3. Administrator Directory のホーム ページに戻り、[サービス] をクリックします。
  4. AWS 環境を使用するジオプロセシング サービスを検索し、そのサービスの名前をクリックしてから [編集] をクリックします。
  5. そのサービスの JSON 表現に、新しい一意の serviceId 値、クラウド ストアの名前、そのサービスのキューを組み合わせて次のキー ペアを追加します。

    非同期ジオプロセシング構成

    {
      "serviceId": "<a unique service ID>",
      "jobQueueStore":"/cloudStores/<name of your cloud store>",
      "jobTableStore": "/cloudStores/<name of your cloud store>",
      "outputStore": "/cloudStores/<name of your cloud store>",
      "jobObjectStore": "/cloudStores/<name of your cloud store>",
      "jobsStoreQueue": "<name of the queue>"
    }

    同期ジオプロセシング構成

    {
      "serviceId": "<a unique service ID>",
      "outputStore": "/cloudStores/<name of your cloud store>",
      "jobObjectStore": "/cloudStores/<name of your cloud store>"
    }
    ヒント:

    <name of the cloud store> 値は、Administrator Directory でデータ アイテム URL エンドポイントの末尾に配置されます。

  6. [編集の保存] をクリックして、構成を確定します。

    ジオプロセシング サービスが自動的に再起動しますが、少し時間がかかります。

  7. サービスを追加するごとにステップ 4 ~ 6 を繰り返します。

JSON サンプル

上記のステップ 5 で必要なキー値のペアを追加して、ジオプロセシング サービスのサービス プロパティ JSON を変更します。

GPServer を編集します。 これは、非同期ジオプロセシング サービス構成に合わせて切り詰められた JSON です。

{
  "serviceName": "myGPService1",
  "resultMapServer": "false",
  "maximumRecords": "1000",
  "virtualOutputDir": "/rest/directories/arcgisoutput", 

  "serviceId": "<this_is_a_unique_serviceid>",
  "jobQueueStore":"/cloudStores/<name of your cloud store>",
  "jobTableStore": "/cloudStores/<name of your cloud store>",
  "outputStore": "/cloudStores/<name of your cloud store>",
  "jobObjectStore": "/cloudStores/<name of your cloud store>",
  "jobsStoreQueue": "<this_is_a_unique_queue_name>", 

  "portalURL": "https://domain/webadaptor/"
 },
 "portalProperties": "",
 "extensions": "",
 "frameworkProperties": {},
 "datasets": []
}

IAM ロールを使用して設定

AWS の IAM ロールを使用するには、Amazon S3 バケットと同じ領域に配置する必要があります。 DynamoDB テーブルと Simple Queue Service 詳細については、「ArcGIS Enterprise on Amazon Web Services」をご参照ください。

自分の IAM ロールに、ArcGIS Enterprise on Amazon Web Services の IAM ポリシーだけでなく、Simple Queue Service ポリシーも含まれていることを確認します。

この構成手順は、ステップ 2 のデータ ストアの登録を除いて上記の手順と同じです。 ステップ 2 で、次の JSON サンプルを使用します。

IAM ロールを使用してデータ アイテムを ArcGIS REST API に登録する場合の JSON サンプル

{
    "path": "/cloudStores/<name of your cloud store>",
    "type": "cloudStore",
    "provider": "amazon",
    "info": {
        "isManaged": false,
        "connectionString": {
             "region":"<your region>",
             "defaultEndpointsProtocol":"https",
             "credentialType":"iamrole"
             },
        "objectStore": "<name of your S3 bucket>/<optional folder name>",
        "dynamoDbTable":"<dynamoDB table name>"
    }
}