Skip To Content

Развертывание отказоустойчивого сайта ArcGIS Server с помощью CloudFormation

Шаблон Esri arcgis-server-ha.template.json Amazon Web Services (AWS) CloudFormation создает отказоустойчивый сайт GIS Server, сайт ArcGIS Image Server, ArcGIS GeoAnalytics Server или сайт ArcGIS Knowledge Server. Если вы создаете сайт ArcGIS GeoAnalytics Server или ArcGIS Knowledge Server, вы должны интегрировать его с порталом ArcGIS Enterprise. Вы можете интегрировать другие типы или использовать их как автономные сайты.

Этот шаблон выполняет настройку экземпляров ArcGIS Server Amazon Elastic Compute Cloud (EC2) в группе AWS Auto Scaling (Автомасштабирование), у которой есть такие преимущества, как планирование емкости на основе конкретных критериев, лучшая отказоустойчивость, доступность и оптимизированное управление затратами.

Выберите одну из следующих опций для хранилища директории ArcGIS Server при использовании этого шаблона:

  • Используйте облачное хранилище (Amazon S3 и DynamoDB) для хранилища конфигураций и файловый обменник (экземпляр EC2) для общих директорий.
  • Размещайте хранилище конфигураций и общие папки только на файловом сервере (экземпляр EC2).

Для файлового сервера установлено автоматическое восстановление; в случае выхода из строя одного из компьютеров сервисы все равно будут доступны.

Вы также можете включить ArcGIS Web Adaptor на каждой машине ArcGIS Server.

Этот шаблон создает следующую архитектуру в Amazon Web Services.

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

Лицензия:

Определенные значки в схеме используются с разрешения Amazon Web Services.

Предварительные условия

Предварительные требования можно сгруппировать по элементам - таким как файлы и учетные записи, которые вы должны получить, а также по задачам, которые вы должны выполнить перед запуском шаблона CloudFormation.

Обязательные элементы

Перед запуском этого шаблона у вас должно быть следующее:

  • Учетная запись Amazon Web Services.

    У учетной записи должен быть доступ к базовым сервисам AWS, таким как CloudFormation, Amazon Elastic Compute Cloud (EC2), Amazon Virtual Private Cloud (VPC), Amazon Simple Storage Service (S3), Systems Manager, Amazon CloudWatch, Lambda, AWS Identity and Access Management (IAM), Amazon DynamoDB, Secrets Manager, AWS Certificate Manager и Amazon Relational Database Service (RDS).

  • Лицензия ArcGIS Server. Файлы лицензии должны включать нужную вам роль лицензирования сервера: ArcGIS GIS Server, ArcGIS Image Server, ArcGIS GeoAnalytics Server или ArcGIS Knowledge Server.
  • Файл сертификата SSL (в формате .pfx) и соответствующий пароль

    Сертификат должен быть выдан центром сертификации.

  • Amazon Virtual Private Cloud (VPC) и подсети.

    Если вы создаете автономный сайт, вы можете использовать один из следующих шаблонов CloudFormation для создания VPC: VPC с двумя общедоступными подсетями или VPC или двумя общедоступными и частными подсетями с NAT Gateway.

    Если вы планируете интегрировать этот сайт с порталом ArcGIS Enterprise, убедитесь, что все компоненты в том же развертывании ArcGIS Enterprise запущены в той же VPC.

  • Если вы создаете развертывание на экземплярах Ubuntu EC2 в AWS GovCloud, вам нужен AMI ID. Если вы хотите использовать базовые канонические Ubuntu AMI, следуйте инструкциям в шаблонах Esri Amazon Web Services CloudFormation для идентификации ID.
  • Шаблон arcgis-server-ha.template.json CloudFormation.

Обязательные задачи

Перед запуском этого шаблона вам необходимо выполнить следующие задачи:

  • Подготовьте бакет развертывания Amazon Simple Storage Service (S3) в своей учетной записи AWS. Вы укажите имя бакета в шаблоне при запуске стека.
    1. Создайте бакет или используйте существующий бакет S3. Вы должны быть владельцем бакета.
    2. Загрузите свои файлы авторизации ПО ArcGIS в бакет.
    3. Загрузите свой файл сертификата SSL в бакет развертывания.
  • Настройте доменное имя системы (DNS).

    У вас должно быть полное доменное имя для сайта ArcGIS Server. Это доменное имя должно существовать до запуска этого стека, также оно должно быть разрешаемым. Обратитесь к своему ИТ-департаменту, если не знаете, как получить полное доменное имя и настроить DNS.

  • Настройте пароли в AWS Secrets Manager (не обязательно, но рекомендуется).

    Вы можете настроить пароли для учетных записей, таких как имя пользователя администратора сайта и пароль пользователя Windows arcgis в AWS Secrets Manager. При этом вам будет предоставлено секретное Amazon Resource Name (ARN). Используйте ARN вместо пароля в параметрах шаблона при запуске стека. Если вы не используете AWS Secrets Manager для хранения паролей, вы должны ввести пароли в виде простого текста в параметр шаблона при запуске стека.

    Примечание:

    При создании секретного ARN в AWS Secrets Manager для пароля, который будет использоваться в шаблонах Esri CloudFormation, вы должны использовать секретный тип Другие типы секретов и опцию Простой текст. Более подробно о создании Amazon Resource Name для паролей см. AWS CloudFormation и ArcGIS.

Подсказка:

По умолчанию CloudFormation удаляет частично созданные ресурсы в случае неудачного создания стека. Это удобно, потому что он удаляет неиспользуемые развертывания из вашей учетной записи, но это может затруднить выявление проблем. Чтобы получить стек в состоянии неудачи, отключите опцию создания стека Rollback on failure CloudFormation перед его запуском. Подробнее см. Настройка опций AWS CloudFormation в справке AWS.

Параметры

В следующих таблицах описываются параметры, используемые в этом шаблоне CloudFormation. Таблицы сгруппированы по типу параметра.

Amazon EC2 Configuration

Имя параметраОбязательно или нетОписание параметра

Platform Type

Обязательный

Выберите платформу операционной системы. Поддерживаются следующие типы:

  • Windows
  • Linux

Информацию о конкретных версиях операционной системы см. в разделе Операционные системы, поддерживаемые при использовании CloudFormation для развертывания ArcGIS в AWS.

EC2 Instance AMI ID

Дополнительный

Вы можете оставить для этого параметра пустое значение. Если вы это сделаете, в шаблонах CloudFormation будет использоваться последний ID Amazon Machine Image (AMI) для Microsoft Windows Server 2019 или Ubuntu Server 20.04 LTS, в зависимости от типа выбранной вами платформы.

Примечание:

Вы не можете оставить этот параметр пустым, если вы выполняете развертывание в AWS GovCloud на платформе Linux. См. шаблоны Esri Amazon Web Services CloudFormation для получения инструкции по поиску ID для базы Ubuntu AMI из Canonical. Если вы выполняете развертывание в поддерживаемой операционной системе Linux, отличной от Ubuntu, вы можете найти ID AMI с помощью AWS Management Console.

Чтобы использовать пользовательский AMI, введите идентификатор AMI одним из следующих способов:

  • Введите идентификатор AMI в формате 'ami-xxxxx'.
  • Если вы сохранили идентификатор AMI в хранилище параметров SSM AWS, укажите имя параметра SSM в формате AWS'{{resolve:ssm:[a-zA-Z0-9_.- /]+:\d+}}'.

Если вы применяете пользовательский AMI, убедитесь, что он соответствует следующим требованиям:

  • Сервис метаданных экземпляра EC2 (с версией V2 или V1) должен быть активирован.
  • Должна быть установлена последняя версия AWS Systems Manager Agent (SSM).
  • Если пользовательский AMI имеет операционную систему Windows, необходимо установить AWS Tools для PowerShell.

EC2 Instance Keypair Name

Обязательный

Выберите имя пары ключей EC2, чтобы разрешить удаленный доступ к экземплярам EC2.

Elastic IP Address Allocation ID

Дополнительный

Введите ID размещения адресов Elastic IP (в формате eipalloc-XXXXXXXX.

Вам понадобится эластичный IP-адрес, чтобы сопоставить доменное имя сайта с эластичным IP-адресом и получить доступ к экземпляру EC2 через RDP/SSH из-за пределов среды AWS.

Оставьте этот параметр пустым, если вы не хотите назначать экземпляру EC2 эластичный IP-адрес.

Amazon VPC Configuration

Имя параметраОбязательно или нетОписание параметра

VPC ID

Обязательный

Выберите идентификатор VPC.

Примечание:

Все компоненты ArcGIS Enterprise, которые являются частью одного развертывания, должны быть развернуты в одном и том же VPC.

Если вам нужно создать VPC, вы можете использовать один из примеров шаблонов VPC: VPC с общедоступными подсетями или VPC с общедоступными и частными подсетями и шлюзом NAT.

Subnet ID 1

Обязательный

Выберите идентификатор подсети. Выбранный идентификатор подсети должен находиться в VPC, выбранном ранее.

Если вы использовали шаблон Esri CloudFormation для создания VPC, вы можете получить идентификатор подсети из выходных параметров этого шаблона.

Subnet ID 2

Обязательный

Выберите идентификатор второй подсети. Это должен быть идентификатор подсети, отличный от используемого для параметра Subnet ID 1. Выбранный идентификатор подсети должен находиться в VPC, указанном для этого развертывания.

Если вы использовали шаблон Esri CloudFormation для создания VPC, вы можете получить идентификатор подсети из выходных параметров этого шаблона.

Domain Name System (DNS) Configuration

Имя параметраОбязательно или нетОписание параметра

ArcGIS Server Site Domain Name

Обязательный

Укажите полное доменное имя для сайта ArcGIS Server. Доменное имя должно существовать и быть разрешаемым. Если вы не уверены в том, какое доменное имя использовать, обратитесь к своему ИТ-администратору.

Elastic Load Balancer DNS Name

Дополнительный

Чтобы использовать эластичный балансировщик нагрузки (ELB) с развертыванием, укажите значение для приложения или классическое DNS-имя ELB. Этот ELB должен уже существовать.

Если вы не хотите использовать ELB или хотите настроить его самостоятельно позже, оставьте значение этого параметра пустым.

Вы можете получить DNS-имя ELB, перейдя в раздел Балансировщики нагрузки сервиса Amazon EC2 внутри AWS Management Console или, если вы использовали шаблон Esri CloudFormationдля создания ELB, вы можете получить его из выходных параметров этого шаблона. Допустимые DNS-имена ELB должны заканчиваться на .elb.amazonaws.com.

ArcGIS Server Configuration

Имя параметраОбязательно или нетОписание параметра

EC2 Instance Type

Обязательный

Определите тип экземпляра EC2. По умолчанию это m5.2xlarge.

Это тип экземпляра, используемого для машин с ArcGIS Server.

Эти экземпляры EC2 будут развернуты в группе Auto Scaling. Эти компьютеры присоединятся к сайту ArcGIS Server путем доступа к хранилищу конфигураций ArcGIS Server.

EC2 Instance Root Drive Disk Space

Обязательный

Это размер корневого диска для экземпляров ArcGIS Server EC2.

Укажите размер корневого диска в ГБ. По умолчанию 100 ГБ. Минимум 100 ГБ. Максимум 1024 ГБ.

Number of EC2 Instances

Обязательный

Укажите количество экземпляров EC2, участвующих в сайте. Значение по умолчанию равно 2. Максимум 10. Минимум 1.

Экземпляры EC2 в сайте будут созданы в группе Auto Scaling. Сюда не входит файловый сервер каталогов.

Примечание:
Рекомендованное число экземпляров ArcGIS GeoAnalytics Server на сайте - от 1 до 3. Если вы создаете сайте ArcGIS GeoAnalytics Server, не используйте количество экземпляров EC2 по умолчанию.

Deployment Bucket Name

Обязательный

Укажите имя бакета Amazon S3, в котором находятся файлы лицензий на программное обеспечение и сертификаты SSL. Этот бакет должен уже существовать и содержать файл лицензии и сертификат SSL для вашего развертывания.

Вы должны быть владельцем бакета, и она должна располагаться в той же учетной записи AWS, что и ваше развертывание.

Server License File Name

Обязательный

Укажите имя ключа объекта файла авторизации ArcGIS Server. Перед запуском этого стека необходимо загрузить файл лицензии (файл .ecp или .prvc) в бакет развертывания.

Вы можете получить имя ключа объекта файла, перейдя к файлу в бакете развертывания в консоли Amazon S3. Например, server.prvc или resources/licenses/server/server.prvc.

Вы должны использовать файл лицензии, соответствующий типу создаваемого вами сайта ArcGIS Server - GIS Server, ArcGIS GeoAnalytics Server, ArcGIS Image Server или ArcGIS Knowledge Server.

Имена файлов лицензии чувствительны к регистру. Убедитесь в корректности написания имени.

Site Administrator User Name

Обязательный

Введите имя пользователя для основного администратора сайта ArcGIS Server.

Имя должно состоять из 6 или более буквенно-цифровых символов или символов подчеркивания (_) и начинаться с буквы.

Site Administrator User Password

Обязательный

Укажите пароль основного администратора сайта ArcGIS Server. Вы можете ввести либо обычный текстовый пароль, либо ARN вашего секретного ID из AWS Secrets Manager. Более подробно о создании Amazon Resource Name для паролей см. AWS CloudFormation и ArcGIS.

Пароль должен состоять из 8 или более буквенно-цифровых символов и может содержать точки (.). Пароль не может содержать другие специальные символы или пробелы.

Windows arcgis user password

Условные

Введите пароль для пользователя arcgis. Пользователь arcgis - это локальный логин Windows, используемый для запуска программных сервисов ArcGIS; поэтому этот пароль требуется только при развертывании на Windows.

Вы можете ввести либо обычный текстовый пароль, либо ARN вашего секретного ID из AWS Secrets Manager.

Configuration Store Type

Обязательный

Выберите, где будет располагаться хранилище конфигурации ArcGIS Server. По умолчанию FileSystem.

  • FileSystem - хранилище конфигурации ArcGIS Server будет на экземпляре EC2 (файловом сервере).
  • CloudStore - хранилище конфигурации ArcGIS Server будет в Amazon DynamoDB и бакете S3, созданном с помощью этого шаблона.

Примечание:
Даже если вы выберете CloudStore, будет создан отдельный файловый сервер для размещения общих директорий ArcGIS Server.

Более подробную информацию о емкости DynamoDB см. в разделе Обратите внимание на этой странице.

ArcGIS File Server Instance Type

Обязательный

Выберите тип экземпляра EC2 для файлового сервера ArcGIS. По умолчанию тип экземпляра m5.2xlarge.

ArcGIS File Server EC2 Instance Root Drive Disk Space

Обязательный

Размер дискового пространства корневого диска для экземпляра EC2 файлового сервера ArcGIS.

Укажите размер корневого диска в ГБ. По умолчанию 100 ГБ. Минимум 100 ГБ. Максимум 1024 ГБ.

Web Adaptor Name

Дополнительный

Чтобы использовать ArcGIS Web Adaptor с сайтом ArcGIS Server, введите имя веб-адаптера. Доступ к сайту ArcGIS Server будет осуществляться через URL в формате https://<fully qualified domain name>/<web adaptor name>. Имя должно начинаться с буквы и содержать только буквенно-цифровые символы.

Оставьте значение этого параметра пустым, если вы не хотите использовать ArcGIS Web Adaptor, и URL-адреса для сайта будут в формате https://<fully qualified domain name><PortNumber>/arcgis.

SSL Certificate File Name

Дополнительный

Если вы включаете веб-адаптер в сайт, вы можете предоставить сертификат SSL от центра сертификации (файл .pfx). Если вы предоставляете сертификат, вы должны загрузить его в бакет развертывания перед запуском этого стека.

Вы можете получить имя ключа объекта файла, перейдя к файлу в бакете развертывания в консоли AWS S3. Примеры имен сертификатов включают в себя domainname.pfx для файла сертификата, хранящегося на корневом уровне бакета развертывания, или resources/sslcerts/domainname.pfx для файла сертификата, хранящегося в папке в бакете развертывания.

Если вы используете веб-адаптер и оставляете значение этого параметра пустым, с веб-адаптером будет использоваться автоматически сгенерированный самозаверяющийся сертификат.

SSL Certificate Password

Условные

Введите пароль для сертификата SSL. Вы можете ввести либо обычный текстовый пароль, либо ARN вашего секретного ID из AWS Secrets Manager. Более подробную информацию о создании Amazon Resource Name для паролей см. в разделе AWS CloudFormation и ArcGIS.

Выходные данные

Когда ваш стек будет успешно создан, вы можете увидеть следующие выходные параметры на вкладке Outputs стека CloudFormation в AWS Management Console.

Выходное имяВыходное описание

DeploymentLogsURL

Это URL-адрес журналов Amazon CloudWatch, где хранятся все журналы развертывания. Вы можете обратиться к этим журналам для устранения неполадок в случае сбоя развертывания.

ServerAdminDirURL

URL каталога администратора ArcGIS Server.

ServerManagerDirURL

URL ArcGIS Server Manager.

ServerRestDirURL

URL ArcGIS Server REST сервисов.

ServerServicesURL

URL сервисов ArcGIS Server.

Этот URL можно использовать в качестве входного параметра в шаблоне интегрированного сервера.

StopStackFunctionName

Это URL функции Stop Stack Lambda. Вы можете использовать эту лямбда-функцию, чтобы остановить все экземпляры EC2 в стеке.

StartStackFunctionName

Это URL функции Start Stack Lambda. Вы можете использовать эту лямбда-функцию для запуска всех экземпляров EC2 в стеке, которые вы ранее остановили.

Рекомендации

Следующие моменты являются важными после создания стека CloudFormation, который содержит развертывания ArcGIS:

  • В отказоустойчивых развертываниях ArcGIS Server экземпляры EC2 всегда настроены в группе AWS Auto Scaling. После создания сайта ArcGIS Server можно добавить на сайт ArcGIS Server дополнительные компьютеры (экземпляры EC2) путем уточнения размера группы Auto Scaling. Воспользуйтесь AWS Management Console для увеличения емкости группы Auto Scaling для добавления компьютеров. Чтобы удалить компьютеры, уменьшите емкость. Обратитесь к документации AWS для изучения инструкций об изменении лимитов емкости группы Auto Scaling, чтобы добавить или удалить компьютеры с сайта ArcGIS Server.

    Подсказка:

    Чтобы найти группу AWS Auto Scaling, созданную для стека CloudFormation, изучите вкладку Ресурсы связанного стека CloudFormation. Логический ID ресурса - AutoScalingGroup.

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

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

  • У сайтов ArcGIS Server, созданных с помощью этого шаблона, параметр suspendedMachineUnregisterThreshold отключен, это означает, что регистрация компьютеров на сайте не будет автоматически отменена, если они неактивны. После развертывания сайта вы можете изменить значение suspendedMachineUnregisterThreshold в ArcGIS REST API для сайта ArcGIS Server, чтобы задать период бездействия (в минутах), по истечении которого регистрация машины на сайте будет отменена. Смотрите Свойства сервера в справке разработчика для получения информации о настройке этого параметра.
  • Рекомендованное число экземпляров EC2 на сайте ArcGIS GeoAnalytics Server - от 1 до 3. Наличие большего или меньшего количества экземпляров может привести к неправильному функционированию сайта.
  • Если вы выбрали CloudStore для параметра Тип хранилища конфигураций то единицы возможностей работы Amazon DynamoDB будут заданы как:
    • Единицы чтения: 250 таблиц
    • Единицы записи: 25 таблиц

    Приблизительная стоимость таких настроек составит примерно $36 в месяц. Тестирование Esri показывает, что эти настройки хорошо работают для публикации примерно 500 сервисов. Вы можете изменить эту настройку в AWS Management Console, чтобы понизить единицы измерения снизить стоимость, либо увеличить единицы измерения, чтобы обслуживать большее количество сервисов. Имейте в виду, что некоторый функционал, например, публикация, не будет работать, если у вас не будет хватать для этого емкости.

  • Не удаляйте никакие ресурсы AWS, созданные этим шаблоном CloudFormation. Если вы хотите знать, какие ресурсы AWS были созданы этим шаблоном, обратитесь к вкладке Ресурсы этого стека в AWS Management Console. У каждого ресурса, созданного шаблоном Esri CloudFormation, также есть теги метаданных. Однако некоторые из этих ресурсов не показывают теги в AWS Management Console.
  • Если вы используете AWS Secrets Manager для паролей, таких как пароль пользователя администратора сайта или пароль пользователя Windows ArcGIS, а позже (после создания развертывания) вы меняете эти пароли, убедитесь, что вы обновили соответствующие AWS Secrets Manager ARN новыми паролями.
  • Если в развертывании используется Application Load Balancer, можно настроить тайм-аут простоя Application Load Balancer после создания развертывания. Например, вам может потребоваться увеличить тайм-аут простоя, чтобы обеспечить выполнение операций, требующих много времени, на любом из компьютеров в развертывании. Настройте значение тайм-аута простоя Application Load Balancer в AWS Management Console.
  • Вы можете использовать функции AWS Lambda, которые появляются в выходных данных стека (перечислены в разделе Выходные данные на этой странице), чтобы остановить экземпляры EC2 в этом стеке, когда они не используются, и запустить их заново, когда это требуется. Эти функции применяются для управления затратами.

    Когда вы запускаете функцию Lambda для остановки экземпляров EC2 в развертывании, то функция возвращает сообщение, что экземпляры остановлены. Однако если экземпляры участвуют в группе Auto Scaling, функция также должна отделять экземпляры от группы. На выполнение этого может уйти до 10 минут. Поэтому подождите хотя бы 10 минут перед тем, как запустить функцию запуска Lambda для перезапуска развертывания.

Примечание:

Вы должны использовать функции Lambda для остановки и запуска экземпляров EC2, которые являются частью группы Auto Scaling. Группы Auto Scaling добавляют машины на основе заданной для них емкости, если вы используете AWS Management Console для остановки экземпляров EC2 в группе Auto Scaling, будут добавлены новые экземпляры.

Решение проблем

Если вы столкнулись с проблемами при создании этого стека CloudFormation, см. Решение проблем, возникающих при развертывании ArcGIS на AWS.