Шаблон 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.
Лицензия:
Определенные значки в схеме используются с разрешения 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. Вы укажите имя бакета в шаблоне при запуске стека.
- Создайте бакет или используйте существующий бакет S3. Вы должны быть владельцем бакета.
- Загрузите свои файлы авторизации ПО ArcGIS в бакет.
- Загрузите свой файл сертификата 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 | Обязательный | Выберите платформу операционной системы. Поддерживаются следующие типы:
Информацию о конкретных версиях операционной системы см. в разделе Операционные системы, поддерживаемые при использовании 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, убедитесь, что он соответствует следующим требованиям:
|
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.
Примечание:Даже если вы выберете 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 | |
ServerManagerDirURL | |
ServerRestDirURL | |
ServerServicesURL | Этот 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.