Сетевое взаимодействие

Для каждого приложения создается Сервис доступа, с помощью которого к данному приложению можно подключиться по протоколу из других приложений Амвера и сети интернет. Сервис доступа транслирует указанный в файле конфигурации в разделе run containerPort порт приложения в 80 порт. Таким образом, доступ к приложениям возможен только через 80 порт (исключения составляют окружения БД). Более того, этот сервис обеспечивает балансировку запросов в случае, если запущено несколько реплик одного приложения.

Подсказка

Чтобы не прописывать явно номер порта, можно использовать переменную окружения PORT. По умолчанию ее значение равно 80.

python_config

Доступ из других приложений

Для доступа к приложению из других приложений, развернутый в Амвера достаточно обратиться к приложению по внутреннему доменному имени amvera-<транслитерированное-имя-проекта>-run-<имя-пользователя>. Важно помнить, что вне зависимости от того, на каком порту работает приложение (этот порт нужно указать в containerPort) Сервис доступа слушает 80 порт и Вы не ограничены протоколом HTTP.

Внимание

Взаимодействие по внутренней сети происходит без шифрования со стороны Amvera!

Доступ из сети Интернет

Для внешнего доступа к приложениям используется обратный прокси nginx. При подключении доменного имени создается Входной контроллер, который слушает указанный домен и 80 порт и пересылает запросы в сервис доступа, который в свою очередь доставляет их в одну из запущенных реплик приложения.

Для активации доступа по протоколу HTTPS нужно перейти в раздел «Настройки» и добавить доменное имя.

При добавлении доменного имени создается Входной контроллер, который слушает указанный домен и 80 порт и пересылает запросы в сервис доступа, который в свою очередь доставляет их в одну из запущенных реплик приложения. Так же генерируется бесплатный Let’s Encrypt SSL сертификат, обеспечивающий доступ по протоколу HTTPS.

Важно

Создание Входного контроллера и выдача SSL сертификата может занимать какое-то время.

Бесплатное доменное имя Амвера

Для каждого приложения есть возможность привязать бесплатное доменное имя третьего уровня, которое обеспечит защищенный доступ к приложению из глобальной сети Интернет. Для этого в разделе «Настройки» в секции «Доменные имена» необходимо перевести тумблер в положение «включено».

Приложение получит URL в формате <транслитерированное-имя-проекта>.<имя-пользователя>.amvera.io. Так, для проекта «Тест» пользователя «user» обратиться к приложению можно по адресу https://test.user.amvera.io/.

python_config

Свое доменное имя

Для привязки своего доменного имени, купленного у регистратора (например reg.ru) требуется выполнить следующие действия:

  1. Зайти в ЛК регистратора.

    • Найти «DNS-серверы и управление зоной» или подобное название. А именно там, где прописываются A запись, TXT, @ и т.д. в личном кабинете регистратора.

    • Найти A запись, и прописать туда IP, указанный в разделе «Настройки» «Создать доменное имя» требуемого приложения в Amvera Cloud.

    • Найти TXT запись, и прописать туда TXT, указанный в разделе «Настройки» «Создать доменное имя» требуемого приложения в Amvera Cloud.

  2. Подождать, пока запись распространится по DNS серверам (может занимать до 24 часов).

  3. В разделе «Настройки» «Создать доменное имя» указать доменное имя и нажать «Подтвердить и привязать». В случае, если все сделано верно и информация о домене дошла до DNS сервера google (8.8.8.8) домен успешно привяжется.

  4. Подождать, пока сконфигурируется Входной контроллер и SSL сертификат.

Пример настройки записей в ЛК reg.ru

python_config Нужно нажать «Добавить запись» внизу страницы и ввести значения A и TXT.

Профилактика ошибок

В случае, если при нажатии кнопки «Подтвердить и привязать» вылезает ошибка, следует проверить правильность заполнения записей и их наличие на DNS серверах. Для проверки записей можно воспользоваться специальным сервисом.

Введя в поле доменное имя и нажав TXT Lookup в списке должна появится строчка с записью, требуемой к заполнению в разделе «Настройки» «Создать доменное имя». Сменив TXT Lookup на DNS Lookup должен вывестись ipv4 адрес сервера Amvera, указанный в разделе «Настройки» «Создать доменное имя».