Home » Создайте несколько серверов лицензий Unity Build Server в виртуальной среде на AWS | от BBQ All Stars | Декабрь 2023 г.

Создайте несколько серверов лицензий Unity Build Server в виртуальной среде на AWS | от BBQ All Stars | Декабрь 2023 г.

Эта статья MIXI DEVELOPERS Адвент-календарь 2023 Это статья восьмого дня.

У Unity есть решение под названием Unity Build Server, которое позволяет запускать сборки на любой машине, которая вам нравится.

Unity Build Server выполняет сборки с использованием плавающей лицензии, которая использует лицензии только во время выполнения сборки, что позволяет использовать лицензии для нескольких проектов.

Кроме того, плавающие лицензии дешевле обычных, поэтому, если вы используете Unity в различных проектах, как мы, их внедрение принесет большую экономическую выгоду.

Однако для его установки вам необходимо создать сервер лицензий для управления плавающими лицензиями.

С другой стороны, несколько отделов MIXI используют Unity, и если бы вся компания использовала один Unity Build Server, между проектами могли бы возникнуть лицензионные конфликты.

По этой причине MIXI решила создать и использовать несколько серверов лицензий для каждого отдела.

Мы кратко объясним процесс создания сервера лицензий.
Метод строительства описан в документе ниже.

Общий порядок действий следующий.

  1. Загрузите zip-файл сервера лицензий с экрана администрирования Unity Build Server.
  2. Разархивируйте его на сервере и запустите команду установки разархивированного исполняемого файла, чтобы инициализировать сервер лицензий.
  3. Загрузите и зарегистрируйте файл server-registration-request.xml, созданный после завершения настроек, на экране управления Unity Build Server.
  4. Назначьте плавающую лицензию зарегистрированному серверу лицензий.
  5. Загрузить информацию о назначенной лицензии
  6. Выполните команду импорта сервера лицензий, чтобы импортировать лицензию.

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

Чтобы эффективно создать сервер лицензий, мы изначально рассматривали возможность использования оркестровки контейнеров, такой как AWS ECS.
Однако я отказался от использования ECS из-за следующих ограничений.

Read more:  Ходят слухи, что в следующем iPad Pro появится новый четырехконтактный смарт-коннектор

Сервер лицензий привязан к MAC-адресу

Сервер лицензий регистрируется на экране управления Unity Build Server, и в это время он регистрируется вместе с физическим MAC-адресом.

Например, файл server-registration-request.xml имеет следующее содержимое, связанное с FirstPhysicalAddress.

Поэтому, если этот MAC-адрес изменится, он будет распознан как другой сервер лицензий, и вам придется зарегистрировать сервер лицензий заново.

Изначально для docker-compose существовал параметр, который позволял указать MAC-адрес, поэтому я подумывал использовать его при сборке с помощью ECS, но похоже, что AWS ECS не поддерживает этот параметр.

Поэтому я решил подготовить экземпляр EC2 и вручную создать и собрать контейнер с помощью docker-compose.

Ограничения IP-адреса API администратора не предполагают обратный прокси-сервер.

Сервер лицензий имеет API, который позволяет вам проверять статус вашей лицензии.

На сервере лицензий есть настройки ограничения доступа к этому API по IP-адресу, но я не могу указать IP-адрес.долженОно стало.

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

На этот раз я хотел использовать AWS ALB, подключить ACM к ALB и общаться через https, но в данном случае я не могу настроить ALB на начальной стадии.

Кроме того, поскольку ограничения IP-адресов должны были выполняться с использованием группы безопасности ALB, функция ограничения IP-адресов сервера лицензий вообще не требовалась.

Поэтому я настроил контейнеры NGINX в docker-compose, настроенном на EC2, и обратный прокси-сервер от NGINX к каждому контейнеру.
Каждый сервер лицензий настроен на разрешение связи с IP-адреса NGINX.

В итоге конфигурация получилась следующая.

  • ALB => Простая конфигурация EC2
  • Прикрепите сертификат ACM к ALB
  • В EC2 NGINX и несколько серверов лицензий Unity Build Server работают с docker-compose.
  • Заранее создайте образ Docker сервера лицензий с помощью сборки docker и загрузите его в ECR.
  • Добавьте в образ Docker скрипт для автоматической инициализации сервера лицензий.
Read more:  Наблюдение за звездами может уйти в прошлое

В результате при добавлении сервера лицензий вы теперь можете настроить сервер лицензий, просто записав информацию о сервере лицензий, который вы хотите добавить, в файл docker-compose.yaml и выполнив команду docker-compose.

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

2023-12-08 03:42:56


1702007224
#Создайте #несколько #серверов #лицензий #Unity #Build #Server #виртуальной #среде #на #AWS #от #BBQ #Stars #Декабрь

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.