Запуск Glarus BI на AWS Elastic Beanstalk¶
Эта инструкция предназначена только для целей тестирования и не предназначена для использования в промышленной эксплуатации. Мы будем устанавливать один экземпляр Glarus BI со встроенной базой данных H2 и следующими компонентами:
- регион (где будет существовать ваше приложение Glarus BI);
- сеть (где ваше приложение будет находиться и при необходимости взаимодействовать с другими приложениями или серверами);
- группа безопасности (брандмауэр);
- балансировщик нагрузки (чтобы сделать это развёртывание надёжным в будущем, а также предоставить такие функции, как HTTPS или функции безопасности брандмауэра веб-приложений). Если вы хотите увидеть высокоуровневую архитектурную диаграмму того, что у вас получится нажмите здесь.
Если вам нужна надёжная, масштабируемая и полностью управляемая Glarus BI, обратите внимание на Glarus BI Cloud.
Быстрый запуск¶
Загрузите пакет Glarus BI, для использования его в Elastic Beanstalk.
Glarus BI предоставляет несколько предварительно настроенных URL для запуска Elastic Beanstalk, которые упростят начало работы. Откройте одну из ссылок ниже на новой вкладке, чтобы создать развёртывание Elastic Beanstalk с несколькими предварительно заданными конфигурациями. Затем просто следуйте пошаговым инструкциям для завершения установки.
Выберите свой регион в зависимости от близости ваших пользователей или если у вас есть строгие нормативные требования, которые не позволяют вам запускать и использовать сервера в других странах:
- US-East-1 North Virginia
- US-East-2 Ohio
- US-West-1 North California
- US-west-2 Oregon
- CA-Central-1 Canada
- EU-north-1 Stockholm
- EU-West-3 Paris
- EU-West-2 London
- EU-West-1 Ireland
- EU-Central-1 Frankfurt
- AP-South-1 Mumbai
- AP-Northeast-1 Tokyo
- AP-Northeast-2 Seoul
- AP-Southeast-1 Singapore
- AP-Southeast-2 Sydney
- SA-east-1 São Paulo
После нажатия любого URL запуска вы должны увидеть экран, который выглядит следующим образом:
Шаг 1 — Создание приложения¶
Информация о приложении¶
Для начала нам нужно создать новое приложение. Вы можете задать название приложения, либо же использовать название по умолчанию.
Информация о среде развёртывания¶
Здесь вы можете выбрать название среды и URL домена, который вы хотите использовать для своего экземпляра Glarus BI. Название среды — это просто метка, которую вы назначаете этому экземпляру Glarus BI.
Что касается URL домена, не стесняйтесь проявлять творческий подход — просто помните, что URL вашего экземпляра Glarus BI должен быть уникальным для всех развёртываний AWS Elastic Beanstalk, поэтому вам придётся выбрать такое название, которое ещё никто не использует. Мы часто рекомендуем задать название в формате mycompanyname-metabase
. Если вам не нужен URL, вы можете просто оставить его для значения по умолчанию. Просто имейте в виду, что это нельзя будет изменить позже.
Платформа¶
Хотя большинство полей здесь будут предварительно заполнены, следуя приведённому выше URL запуска, вам нужно сделать две вещи:
- Убедитесь, что для параметра Платформа установлено значение
Docker
, в раскрывающемся списке веток платформы установлено значениеDocker, на 64-разрядной версии Amazon Linux 2
, а для версии платформы – та, которая имеет тег(Рекомендованный)
. - Измените настройку Код приложения на
Загрузить свой код
.
- В разделе Исходный код нажмите кнопку
Выбрать файл
с выбранным значениемЛокальный файл
и загрузите файл, который вы загрузили в самом начале этого руководства (metabase-aws-eb.zip
):
Эти настройки запустят приложение Glarus BI, используя официальный образ Glarus BI Docker на Dockerhub.
Нажмите Просмотреть и запустить. Вы будете перенаправлены на страницу для настройки и запуска вашего экземпляра.
Шаг 2. Настройте базовую архитектуру Glarus BI¶
2.1 Включение расширенных проверок работоспособности¶
Чтобы настроить балансировщик нагрузки, вам необходимо включить расширенные проверки работоспособности для вашей среды Elastic Beanstalk.
Нажмите ссылку «Изменить» в разделе «Балансировщик нагрузки», как показано здесь:
Выберите Application Load Balancer в разделе Тип балансировщика, если он ещё не выбран.
В разделе Процессы выберите процесс по умолчанию и нажмите Действия
> Изменить
.
Путь проверки работоспособности — это место, где балансировщик нагрузки будет опрашивать приложение, исправно ли оно. Установите этот путь в /api/health
После настройки этой проверки работоспособности вы можете нажать Сохранить
внизу страницы.
2.2 Включение VPC¶
Виртуальное частное облако (VPC) — это виртуальная сеть, которую вы можете использовать для изоляции ресурсов. Внутри этих VPC вы можете создавать подсети, правила брандмауэра, таблицы маршрутизации и многое другое. Это одна из основополагающих функций AWS, и вы можете узнать о ней больше здесь.
Вы должны настроить запуск своего приложения в VPC, иначе вы получите сообщение об ошибке при его создании, поскольку AWS больше не поддерживает запуск экземпляров за пределами VPC. Чтобы использовать VPC, перейдите в раздел Сеть в конфигурации и нажмите кнопку Изменить
.
Оказавшись в конфигурации сети, вам нужно выбрать VPC, в котором будет запущено приложение. Если вы не создали VPC, AWS создаёт VPC «по умолчанию» для каждого региона, который вы можете использовать.
Вам нужно выбрать минимум 2 зоны, в которых балансировщик нагрузки будет балансировать трафик, и минимум 1 зону, где будет существовать экземпляр. Чтобы балансировщик нагрузки отправлял трафик на работающий экземпляр, должна быть настроена общая зона.
После настройки зон для балансировщика нагрузки и приложения нажмите Сохранить внизу страницы.
2.3 Последний шаг и развёртывание¶
Теперь перейдите в раздел Capacity и нажмите Edit.
Единственное изменение, которое вам нужно сделать здесь, это уменьшить количество экземпляров с 4 (число по умолчанию) до 1, так как мы ещё не создали централизованную базу данных, где Glarus BI будет сохранять все свои конфигурации. На данный момент будет использоваться только встроенная база данных H2, которая находится внутри контейнера Glarus BI и не рекомендуется для производственных рабочих нагрузок. Если ваш контейнер будет перезапущен по какой-либо причине, вы потеряете все свои данные. Если вы просто тестируете или изучаете Glarus BI, это нормально, но в противном случае стоит начать с создания отдельной базы данных RDS. Вы можете ознакомиться со статьёй о масштабировании (документация Metabase, англ.), в которой описано, как можно создавать высоконагруженные архитектуры.
Теперь нажмите Сохранить
в нижней части страницы, после чего, нажав на Создать приложение
вы начнёте создание вашей среды исполнения.
Шаг 3. Подождите, пока запустится ваша установка¶
В зависимости от AWS это может занять до 10-15 минут. Каждый элемент вашей инсталляции инициализируется с помощью функции автоматизации инфраструктуры AWS под названием CloudFormation (вы можете увидеть подробный журнал активностей, если откроете CloudFormation на другой вкладке браузера).
Когда процесс завершится, вы должны увидеть:
Чтобы открыть ваш экземпляр Glarus BI, просто щёлкните ссылку под названием вашей среды в верхнем левом углу (заканчивается на .elasticbeanstalk.com
)
Теперь, когда вы установили Glarus BI, пришло время настроить её и подключить к базе данных.
Сведения об экземпляре¶
Тип экземпляра
(блокЭкземпляры
) предназначен для выбора размера экземпляра AWS, который вы хотите запустить. Мы рекомендуем по крайней мереt3a.small
для большинства случаев. Вы всегда можете масштабировать (документация Metabase, англ.), изменив эту конфигурацию.Пара ключей EC2
(блокБезопасность
) необходима только в том случае, если вы хотите напрямую подключиться к вашему экземпляру по SSH, что не рекомендуется.
Создание базы данных приложения в конфигурации Elastic Beanstalk (не рекомендуется)¶
Когда вы нажимаете кнопку Создать приложение
, AWS Elastic Beanstalk создаёт шаблон CloudFormation. Этот шаблон означает, что база данных будет создана со стеком Elastic Beanstalk и удалена при удалении приложения.
Если вы хотите использовать базу данных уровня промышленной эксплуатации для сохранения всех метаданных, вам необходимо либо создать её в RDS, либо создать её на отдельном сервере, после чего подключить экземпляр(ы) Elastic Beanstalk через переменные среды.
Если вы хотите продолжить, то: найдите панель конфигурации Database, как показано ниже и нажмите кнопку Edit
.
На экране редактирования настроек базы данных вы сможете задать значения для разных параметров. Что касается индивидуальных настроек, мы рекомендуем:
Snapshot
следует оставитьНет
.Engine
должен быть установлен наpostgres
. Glarus BI также поддерживает MySQL/MariaDB в качестве резервных баз данных, но только на отдельно работающем RDS, подключенном через переменные среды. Попытка выполнить указанные здесь шаги и выбрать MySQL приведёт к ошибке.Версию Engine
можно просто оставить по умолчанию, это должна быть последняя версия.- Для
Instance class
вы можете выбрать любой размер, но мы рекомендуемdb.t2.small
или больше для производственной установки. Glarus BI довольно эффективна, поэтому нет необходимости использовать очень мощную машину. - Вы можете оставить
Storage
размер по умолчанию. - Выберите
Имя пользователя
иПароль
для своей базы данных. Мы предлагаем вам сохранить эти учётные данные в менеджере паролей, так как они могут быть полезны для резервного копирования или устранения неполадок. Эти настройки будут автоматически доступны для вашего экземпляра Glarus BI. - Вы можете оставить
Настройку хранения
в значенииСоздать резервную копию
. - В разделе
Доступность
мы рекомендуем значение по умолчаниюНизкая (одна зона доступности)
для большинства случаев.
После того как вы ввели пароль и нажали Сохранить
, появится сообщение о том, что в базе данных RDS должны быть выбраны как минимум 2 зоны доступности, поэтому вам придётся снова перейти к параметрам сети и выбрать как минимум 2 зоны. Мы рекомендуем использовать ту же зону доступности, в которой находится экземпляр, поскольку в противном случае с вас будет взиматься плата за трафик между зонами.
Разрешения¶
Если вы впервые создаёте приложение для Elastic Beanstalk, вам будет предложено создать новую роль IAM. Мы рекомендуем оставить эти параметры по умолчанию.
Когда вы нажмёте Далее
, в вашем браузере откроется новая вкладка, и вам будет предложено создать новую роль IAM для использования с Elastic Beanstalk. Опять же, просто примите значения по умолчанию и нажмите Разрешить
внизу страницы.
Установка или изменение переменных среды¶
Чтобы настроить переменные среды для развёртывания Elastic Beanstalk (например, для подключения развёртывания к отдельной базе данных RDS), выберите ваш Glarus BI в Elastic Beanstak, перейдите в Конфигурация
> Программное обеспечение
и найдите Свойства среды
внизу.
В разделе Свойства среды
вы сможете установить или изменить переменные для настройки развёртывания вашей Glarus BI.
Увеличение таймаута запроса¶
AWS Elastic Load Balancer использует таймаут по умолчанию в 60 секунд, в то время как Glarus BI поставляется с таймаутом в 10 минут для конфигурации nginx. Если запрос занимает больше 60 секунд, пользователь увидит сообщение об ошибке «Ваш запрос занял слишком много времени». Чтобы увеличить таймаут ELB для вашего приложения Metabase Elastic Beanstalk, выполните следующие действия:
- В AWS перейдите на страницу «EC2» и нажмите «Балансировщики нагрузки» в боковой навигации.
- Выберите балансировщик нагрузки для вашего приложения Metabase. Если у вас есть несколько балансировщиков нагрузки, поиск правильного может основываться на вашей настройке, но ваш может иметь «Тег» «elasticbeanstalk:environment-name», который равен «Metabase-env».
- В разделе «Атрибуты» для балансировщика нагрузки Glarus BI обратите внимание, что «Время простоя» установлено на «60 секунд».
- Нажмите «Изменить атрибуты» и установите «Время простоя» на желаемое значение. Пример:
600
даст вам таймаут в 10 минут. - Нажмите «Сохранить».
Уведомления¶
Для простого способа следить за своим приложением введите адрес электронной почты в блоке Уведомления, после этого вы будете получать уведомления о вашем развёртывании и любых изменениях.
Развёртывание новых версий Glarus BI на Elastic Beanstalk¶
Обновление до следующей версии Glarus BI — это очень простой процесс, при котором вы берёте последний опубликованный файл развёртывания Elastic Beanstalk из Glarus BI и загружаете его в список Версии приложения
.
Вот пошаговая инструкция:
- Перейдите в Elastic Beanstalk и выберите приложение
Glarus BI
. - Нажмите
Версии приложения
в левой навигационной панели (вы также можете выбратьВерсии приложения
в раскрывающемся списке в верхней части страницы). - Загрузите последний файл развёртывания Glarus BI Elastic Beanstalk:
- Открытый код
- Pro или Enterprise
- Загрузите новую версию приложения:
- Нажмите кнопку
Загрузить
в правом верхнем углу листинга. - Дайте новой версии имя, в идеале включающее номер версии Glarus BI (например, {{ site.latest_version }}).
- Выберите
Выбрать файл
и перейдите к файлу, который вы только что загрузили. - Нажмите кнопку
Загрузить
, чтобы загрузить файл. - После завершения загрузки убедитесь, что новая версия отображается в списке версий приложения.
- Разверните новую версию:
- Установите флажок рядом с версией, которую вы хотите развернуть.
- Нажмите кнопку
Развернуть
в правом верхнем углу страницы. - Выберите среду, в которой вы хотите развернуть версию, используя раскрывающийся список.
- Нажмите кнопку
Развернуть
, чтобы начать развёртывание. - Дождитесь завершения всех действий по развёртыванию, затем проверьте развёртывание, обратившись к URL приложения Glarus BI.
После развёртывания новой версии вы можете безопасно удалить старую версию приложения. Мы рекомендуем оставить хотя бы одну предыдущую версию доступной на некоторое время на случай, если вы захотите по какой-либо причине откатиться с текущей версии.