Сетевое взаимодействие
В Lizard (lizard.build) сервисы одного проекта обращаются друг к другу по приватной сети по адресу <service>.lizard.internal, на любом порту и без публичного домена. Каждый веб-сервис также получает сгенерированный *.onlizard.com домен с автоматическим TLS в момент деплоя, а свой хостнейм можно подключить перед запуском для пользователей. Managed Postgres и Managed Redis входят в ту же приватную сеть. Перейти к разделам: приватная сеть, собственные домены или порты.
Сгенерированные домены
Сервису автоматически создается домен по умолчанию в формате <name>-<suffix>.onlizard.com. У более старых сервисов остается <words>.<region>.onlizard.com. Посмотреть его:
lizard domain # show the service's current domain
lizard domain generate # claim a *.onlizard.com subdomain if the service has nonelizard domain generate возвращает уже существующий сгенерированный домен, если он есть, и завершается ошибкой, пока у сервиса есть собственный домен. Файлы, обслуживаемые через Managed Object Storage, используют шлюз с отдельным хостом: s3-eu-west-1.onlizard.com или s3-us-east-1.onlizard.com.
Подключение собственного домена
Передайте хостнейм как позиционный аргумент; отдельной подкоманды add нет:
lizard domain app.example.com --service webLizard вернет DNS-записи, которые нужно создать (CNAME для хостнейма и TXT для верификации). Добавьте их у своего DNS-провайдера.
Верификация
После распространения DNS активируйте домен:
lizard domain verify app.example.com --service webКоманда проверяет TXT запись и активирует домен. TLS подготавливается автоматически.
Удаление домена
lizard domain delete app.example.com --service web
lizard domain rm app.example.com --service web --yes # alias, skip confirmationСмена порта, который слушает сервис
Домены направляют трафик на порт контейнера сервиса. Если сервис слушает другой порт, измените порт контейнера и сделайте редеплой:
lizard port 8080 --service web
lizard redeploy --service webWorker-сервисы
У сервисов в режиме worker (containerPort=0) может всё равно отображаться сгенерированный домен, но он ничего не обслуживает — слушателя и маршрута балансировщика нет. Не подключайте собственный домен к worker-сервису.
Приватная сеть
Сервисы одного проекта обращаются друг к другу по адресу <service>.lizard.internal на любом порту, который слушает сервис, без публичного домена. Хостнейм можно указать как ${{api.LIZARD_PRIVATE_DOMAIN}}. Managed Postgres и Managed Redis в той же сети предоставляют DATABASE_PRIVATE_URL и REDIS_PRIVATE_URL; см. строку подключения к Postgres. Эти имена разрешаются только внутри проекта, и сервисы из других проектов не могут обратиться по этим адресам. Трафик не выходит из сети Lizard, поэтому между сервисами можно использовать обычный http://.
lizard secrets set API_URL='http://${{api.LIZARD_PRIVATE_DOMAIN}}:8080' --service webУправление в дашборде
Откройте сервис в дашборде (lizard open) и перейдите в Settings → Networking. Там показан статус верификации и DNS для каждого домена, а также можно добавлять и удалять хостнеймы.
См. также
lizard domain— полная справка по командам.- Регионы — размещение сервисов и аддонов в одном регионе для низкой задержки.
- От прототипа к SaaS, за который платят — где собственный домен стоит среди прочих вещей, которые всё ещё нужны сгенерированному приложению.
Обновлено