Skip To Content

Настройка отказоустойчивого сайта ArcGIS Server с общим хранилищем конфигураций на базе сервисов хранилищ Amazon

Чтобы получить действительно отказоустойчивый сайт ArcGIS Server, необходимо, чтобы хранилище конфигурации ArcGIS Server и директории также размещались в отказоустойчивом местоположении. Вы можете использовать Amazon Simple Storage Service (S3), Amazon DynamoDB и Amazon Simple Queue Service (SQS) для хранилища конфигурации и директорий.

Вам потребуется учетная запись Amazon Web Services (AWS), а также ключ доступа и секретный ключ для учетной записи с преднастроенной ролью IAM с соответствующими политиками IAM, чтобы полностью пройти процесс, который настраивает отказоустойчивый сайт ArcGIS Server.

В ходе этого процесса будут запущены два экземпляра Amazon Elastic Compute Cloud (EC2), используемые для сайта ArcGIS Server. Хранилище конфигураций и общие директории будут храниться в S3, DynamoDB и SQS.

  1. Войдите в AWS Management Console и запустите два экземпляра EC2.

    Более подробную информацию см. в разделе Запуск экземпляра EC2 при запуске ArcGIS Server.

    При запуске экземпляров в Amazon Virtual Private Cloud (VPC) вам необходимо сделать следующее:

    1. Настройте подсеть для автоматического назначения общедоступных IP-адресов.

      Более подробную информацию см. в разделе AWSДокументация по адресам VPC IP.

    2. Откройте порт 6443 в группе безопасности, которую вы будете использовать с экземплярами.
  2. Подключитесь к экземплярам и установите ArcGIS Server на них.

    Инструкции по подключению к экземпляру EC2 см. в Справке AWS.

  3. Вместо того, чтобы создавать сайт ArcGIS Server из ArcGIS Server Manager, откройте ArcGIS Server Administrator Directory URL (https://<public DNS>:6443/arcgis/admin) для одного из экземпляров EC2 и щелкните createNewSite.
  4. Укажите новое имя и пароль для основного сайта ArcGIS Server в полях Имя основного администратора и Пароль, соответственно.
  5. Скопируйте одно из следующего в поле Config Native Configuration (JSON) и измените информацию о переменной на сведения, связанные с вашим аккаунтом и развертыванием.
    • Если вы настроили роль IAM, скопируйте следующую информацию в Config Native Configuration (JSON):

      [
        {
         "name": "AWS",
         "namespace": "<namespace>",
         "region": "<AWS region>",
         "credential": {
           "type": "IAM-ROLE"
        },
           "cloudServices": [
           {
             "name": "AWS S3",
             "type": "objectStore",
             "usage": "DEFAULT",
             "connection": {
               "bucketName": "<Name of S3 bucket>",
               "regionEndpointUrl": "<Regional endpoint URL>",
               "rootDir": "<root directory>"
           },
           "category": "storage"
         },
         {
             "name": "Amazon Dynamo DB",
             "type": "tableStore",
             "connection":{
             "regionEndpointUrl": "<your regional Endpoint URL>"
         },
           "category": "storage"
         },
         {
             "name": "Amazon Queue Service",
             "type": "queueService",
             "connection":{
                "regionEndpointUrl": "<regional Endpoint URL>"
             },
             "category": "queue"
          }
        ],
        "cloudServiceTags":[
          {"<Your key name 1>": "tag value"},
          {"<Your key name 2>": "tag value"},
          {"<Your key name 3>": "tag value"}
        ]
       }
      ]

    • Если вы не настраивали роль IAM, скопируйте следующую информацию в Config Native Configuration (JSON):

      [
        {
          "name": "AWS",
          "namespace": "<namespace>",
          "region": "<AWS region>",
          "credential": {
            "type": "ACCESS-KEY",
            "secret": {
              "accessKey": "<your access key>",
              "secretKey": "<your secret key>"
        },
           "cloudServices": [
           {
             "name": "AWS S3",
             "type": "objectStore",
             "usage": "DEFAULT",
             "connection": {
               "bucketName": "<Name of S3 bucket>",
               "regionEndpointUrl": "<Regional endpoint URL>",
               "rootDir": "<root directory>"
           },
           "category": "storage"
         },
         {
             "name": "Amazon Dynamo DB",
             "type": "tableStore",
             "connection":{
               "regionEndpointUrl": "<your regional Endpoint URL>"
             },
           "category": "storage"
          },
          {
             "name": "Amazon Queue Service",
             "type": "queueService",
             "connection":{
                "regionEndpointUrl": "<regional Endpoint URL>"
             },
             "category": "queue"
          }
        ],
        "cloudServiceTags":[
          {"<Your key name 1>": "tag value"},
          {"<Your key name 2>": "tag value"},
          {"<Your key name 3>": "tag value"}
        ]
       }
      ]

    Пространство имен бакета должно быть уникально для данного сайта ArcGIS Server.

    Для обеспечения наилучшей производительности указанный вами регион AWS должен быть одинаковым для всех экземпляров, входящих в сайт ArcGIS Server.

    Подсказка:

    Примеры значений для каждого типа physicalPath см. в подразделе Примеры использования раздела Создание сайта в справке ArcGIS REST API.

    Вам не нужно задавать значения в полях Директории сервера (JSON) и Хранилище конфигураций (JSON).

  6. Дополнительно можно скопировать следующее в поле Настройки журнала (JSON) и заменить значения, относящиеся к особенностям вашего развертывания.

    Если информация по ведению журнала не указана, то ArcGIS использует уровень ведения журнала по умолчанию (предупреждение), директорию (C:\\arcgisserver\\logs\\ для экземпляров Windows или /arcgis/server/usr/logs для экземпляров Ubuntu), максимальное число хранящихся файлов журнала (10) и максимальное количество дней, в течение которого хранится файл журнала (90).

    Примечание:

    В JSON символ обратной косой черты (\) является экранирующим символом. При вводе текста с символом обратный слэш —например, путей в Windows — необходимо использовать два обратных слэша.

    {
    		"logLevel": "<DEBUG | VERBOSE | FINE | INFO | WARNING | SEVERE>",
    		"logDir": "<directory>",
    		"maxErrorReportsCount": 10,
    		"maxLogFileAge": 90
    	}

    В следующем примере около 25 файлов журнала отладки будут созданы в папке журнала на компьютере ArcGIS Server, и файлы журнала будут сохраняться в течение 30 дней.

    {
    		"logLevel": "DEBUG",
    		"logDir": "C:\\arcgisserver\\logs\\",
    		"maxErrorReportsCount": 25,
    		"maxLogFileAge": 30
    	}

  7. Чтобы использовать кластер по умолчанию, оставьте поле Кластер (JSON) пустым.
  8. Нажмите Создать.
  9. После создания сайта ArcGIS Server вернитесь В AWS Management Console и проверьте наличие контейнера S3, таблиц DynamoDB и очередей SQS.

    Примечание:

    В данной версии ArcGIS Enterprise не поддерживает бакеты каталогов Amazon S3.

    1. Нажмите Services > Storage и Content Delivery > S3 и убедитесь, что контейнер S3 содержит папки Services и config-store.
    2. Щелкните Сервисы > База данных > Dynamo DB и убедитесь в том, что существуют следующие элементы:

      • ArcGISConfigStore<namespace>
      • ArcGISConfigStores
      • ArcGISGP<namespace>
      • ArcGISLocks<namespace>
      • ArcGISResources

    3. Выберите Сервисы > Интеграция приложений > Simple Queue Service и убедитесь, что очереди существуют.

      Имена очередей имеют формат ArcGIS-GP-<namespace>-<uniqueid>.fifo.

  10. Откройте ArcGIS Server Manager для второго экземпляра AWS.

    URL – https://<public DNS>:6443/arcgis/manager.

  11. Чтобы присоединить этот второй экземпляр AWS к сайту ArcGIS Server, выполните следующие действия:
    1. Щелкните Подключиться к существующему сайту.
    2. Укажите URL сайта ArcGIS Server, который был создан для первого экземпляра.
    3. Укажите имя пользователя и пароль основного администратора первого экземпляра.

Теперь у вас есть отказоустойчивый сайт ArcGIS Server, содержащий две машины с хранилищем конфигураций и общими директориями, хранящимися в S3, DynamoDB и SQS.