Этот шаблон Esri arcgis-notebook-server-ha.template.json Amazon Web Services (AWS) CloudFormation создает сайт ArcGIS Notebook Server на нескольких экземплярах Linux Amazon Elastic Compute Cloud (EC2) для обеспечения отказоустойчивости.
Экземпляры EC2 развертываются в группе AWS Auto Scaling, у которой есть такие преимущества, как планирование емкости на основе конкретных критериев, лучшая отказоустойчивость, доступность и оптимизированное управление затратами.
Сайты ArcGIS Notebook Server на AWS поддерживаются только на экземплярах Linux.
Информацию о конкретных версиях операционной системы см. в разделе Операционные системы, поддерживаемые при использовании CloudFormation для развертывания ArcGIS в AWS.
Этот шаблон создает следующую архитектуру в 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 Notebook Server (.ecp или .prvc).
- Файл сертификата SSL (в формате .pfx) и соответствующий пароль
Сертификат должен быть выдан центром сертификации.
- Если вы создаете развертывание на экземплярах Ubuntu EC2 в AWS GovCloud, вам нужен AMI ID. Если вы хотите использовать базовые канонические Ubuntu AMI, следуйте инструкциям в шаблонах Esri Amazon Web Services CloudFormation для идентификации ID.
- Amazon Virtual Private Cloud (VPC) и подсети.
Все компоненты в том же развертывании ArcGIS Enterprise запущены в той же VPC. Если ваш портал существует, используйте ту же VPC и подсети, которые вы используете для портала. Если вы еще не создали портал и у вас нет существующей VPC, вы можете использовать один из следующих шаблонов CloudFormation для создания VPC: VPC с двумя общедоступными подсетями или VPC с двумя общедоступными и частными подсетями с NAT Gateway.
- Шаблон arcgis-notebook-server-ha.template.json CloudFormation.
Обязательные задачи
Перед запуском этого шаблона вам необходимо выполнить следующие задачи:
- Подготовьте бакет развертывания Amazon Simple Storage Service (S3) в учетной записи AWS. Укажите имя бакета в шаблоне при запуске стека.
- Создайте бакет или используйте существующий бакет S3. Вы должны быть владельцем бакета.
- Загрузите файл авторизации ArcGIS Notebook Server в бакет.
- Загрузите файл сертификата SSL в бакет.
- Настройте пароли в 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.
- Настройте доменное имя системы (DNS).
У вас должно быть полное доменное имя для сайта ArcGIS Notebook Server. Это доменное имя должно существовать до запуска этого стека, также оно должно быть разрешаемым. Обратитесь к своему ИТ-департаменту, если не знаете, как получить полное доменное имя и настроить DNS.
При использовании в развертывании ArcGIS Notebook Server Elastic Load Balancer (ELB) (дополнительно) нужно создать ELB перед созданием сайта ArcGIS Notebook Server. Поддерживаются только application load balancer. Вы можете использовать шаблон application load balancer для его создания.
- Если вы развертываете экземпляр Red Hat Enterprise Linux Server EC2, необходимо установить и настроить Docker. Инструкции смотрите в Руководстве по установке ArcGIS Notebook Server Linux.
Подсказка:
По умолчанию CloudFormation удаляет частично созданные ресурсы в случае неудачного создания стека. Это удобно, потому что он удаляет неиспользуемые развертывания из вашей учетной записи, но это может затруднить выявление проблем. Чтобы получить стек в состоянии неудачи, отключите опцию создания стека Rollback on failure CloudFormation перед его запуском. Подробнее см. Настройка опций AWS CloudFormation в справке AWS.
Параметры
В следующих таблицах описываются параметры, используемые в этом шаблоне CloudFormation. Таблицы сгруппированы по типу параметра.
Amazon EC2 Configuration
Имя параметра | Обязательный? | Описание параметра |
---|---|---|
EC2 Instance AMI ID | Дополнительный | Вы можете оставить для этого параметра пустое значение. В таком случае, в шаблоне CloudFormation будет использоваться последний ID Amazon Machine Image (AMI) для Ubuntu Server 20.0.4 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. |
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 Notebook Server Site Domain Name | Обязательный | Укажите полное доменное имя для сайта ArcGIS Notebook Server. Доменное имя должно существовать и быть разрешаемым. Если вы не уверены в том, какое доменное имя использовать, обратитесь к своему ИТ-администратору. |
Elastic Load Balancer DNS Name | Дополнительный | Чтобы использовать ELB с сайтом, укажите значение для приложения или имя ELB DNS. Это должен быть существующий ELB. Если вы не хотите использовать ELB или хотите настроить его самостоятельно позже, оставьте значение этого параметра пустым. Вы можете получить DNS-имя ELB, перейдя в раздел Балансировщики нагрузки сервиса Amazon EC2 внутри AWS Management Console или, если вы использовали шаблон Esri CloudFormationдля создания ELB, вы можете получить его из выходных параметров этого шаблона. Допустимые DNS-имена ELB должны заканчиваться на .elb.amazonaws.com. |
ArcGIS Notebook Server Configuration
Имя параметра | Обязательный? | Описание параметра |
---|---|---|
EC2 Instance Type | Обязательный | Определите тип экземпляра EC2. По умолчанию это m5.2xlarge. Это тип экземпляра, используемого для машин с ArcGIS Notebook Server. Экземпляры EC2 будут настроены в группе AWS Auto Scaling. Эти экземпляры присоединятся к сайту ArcGIS Notebook Server путем доступа к хранилищу конфигураций ArcGIS Notebook Server. |
EC2 Instance Root Drive Disk Space | Обязательный | Это размер корневого диска для экземпляров ArcGIS Notebook Server EC2. Укажите размер корневого диска в ГБ. По умолчанию 100 ГБ. Минимум 100 ГБ. Максимум 1024 ГБ. |
Number of EC2 Instances | Обязательный | Укажите количество экземпляров EC2, участвующих в сайте. Значение по умолчанию равно 2. Максимум 10. Минимум 1. Экземпляры EC2 будут настроены в группе AWS Auto Scaling. Более подробную информацию об изменении размера группы Auto Scaling см. в разделе Обратите внимание ниже. |
Deployment Bucket Name | Обязательный | Укажите имя бакета Amazon S3, в котором находятся файлы лицензий на программное обеспечение и сертификаты SSL. Этот бакет должен уже существовать и содержать файл лицензии и сертификат SSL для вашего развертывания. Вы должны быть владельцем бакета, и она должна располагаться в той же учетной записи AWS, что и ваше развертывание. |
License File Name | Обязательный | Укажите имя ключа объекта файла авторизации ArcGIS Notebook Server. Перед запуском этого стека необходимо загрузить файл лицензии (файл .ecp или .prvc) в бакет развертывания. Вы можете получить имя ключа объекта файла, перейдя к файлу в бакете развертывания в консоли Amazon S3. Например, notebook.prvc или resources/licenses/server/notebook.prvc. Имена файлов лицензии чувствительны к регистру. Убедитесь в корректности написания имени. |
License Level | Обязательный | Выберите уровень лицензии ArcGIS Notebook Server. Можно выбрать следующие опции:
|
Site Administrator User Name | Обязательный | Укажите имя пользователя основного администратора сайта ArcGIS Notebook Server. Имя должно состоять из 6 или более буквенно-цифровых символов или символов подчеркивания (_) и начинаться с буквы. |
Site Administrator User Password | Обязательный | Укажите пароль основного администратора сайта для сайта ArcGIS Notebook Server. Вы можете ввести либо обычный текстовый пароль, либо ARN вашего секретного ID из AWS Secrets Manager. Более подробно о создании Amazon Resource Name для паролей см. AWS CloudFormation и ArcGIS. Пароль должен состоять из 8 или более буквенно-цифровых символов и может содержать точки (.). Пароль не может содержать другие специальные символы или пробелы. |
Configuration Store Type | Обязательный | Выберите тип хранилища конфигурации ArcGIS Notebook Server. По умолчанию FileSystem.
Примечание:Даже если вы выберете CloudStore, будет создан отдельный файловый сервер для размещения общих директорий ArcGIS Notebook Server. |
Web Adaptor Name | Обязательный | Введите имя Web Adaptor для сайта ArcGIS Notebook Server. Доступ к сайту ArcGIS Notebook Server будет осуществляться через URL в формате https://<fully qualified domain name>/<web adaptor name>. Имя должно начинаться с буквы и содержать только буквенно-цифровые символы. |
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, где хранятся все журналы развертывания. Вы можете обратиться к этим журналам для устранения неполадок в случае сбоя развертывания. |
ServerAdminURL | URL каталога администратора ArcGIS Notebook Server. |
ServerServicesURL | URL сервисов ArcGIS Notebook Server. Этот URL можно использовать в качестве входного параметра в шаблоне интегрированного сервера. |
StopStackFunctionName | Это URL функции Stop Stack Lambda. Вы можете использовать эту лямбда-функцию, чтобы остановить все экземпляры EC2 в стеке. |
StartStackFunctionName | Это URL функции Start Stack Lambda. Вы можете использовать эту лямбда-функцию для запуска всех экземпляров EC2 в стеке, которые вы ранее остановили. |
Рекомендации
Следующие моменты являются важными после создания стека CloudFormation, который содержит развертывания ArcGIS:
- В отказоустойчивых развертываниях ArcGIS Notebook Server экземпляры EC2 будут настроены в группе AWS Auto Scaling. После создания сайта ArcGIS Notebook Server можно добавить на сайт дополнительные компьютеры (экземпляры EC2) путем уточнения размера группы Auto Scaling. Воспользуйтесь AWS Management Console для увеличения емкости группы Auto Scaling для добавления компьютеров. Чтобы удалить компьютеры, уменьшите емкость. Обратитесь к документации AWS для изучения инструкций об изменении лимитов емкости группы Auto Scaling, чтобы добавить или удалить компьютеры с сайта ArcGIS Notebook Server.
Подсказка:
Чтобы найти группу AWS Auto Scaling, созданную для стека CloudFormation, изучите вкладку Ресурсы связанного стека CloudFormation. Логический ID ресурса - AutoScalingGroup.
Хотя технически возможно изменить размер группы AWS Auto Scaling на ноль, оставьте хотя бы один экземпляр работающим в группе Auto Scaling, иначе сайт ArcGIS Notebook Server может работать некорректно.
После изменения емкости группы может потребоваться до часа на добавление компьютеров или до 15 минут на их удаление. После применения изменений используйте API администратора ArcGIS Server, чтобы убедиться в том, что количество компьютеров сайта ArcGIS Server соответствующим образом увеличилось или уменьшилось.
- Хранилище конфигураций для сайта ArcGIS Notebook Server сохраняется в бакете S3 и Amazon DynamoDB. Единицы возможностей емкости DynamoDB задаются следующим образом:
- Единицы чтения: 250 таблиц
- Единицы записи: 25 таблиц
Тестирование 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.