Динамическое создание и удаление поддоменов с помощью AWS Route 53
Мое веб-приложение размещено на AWS. Это ваше стандартное приложение Laravel/PHP. Я хотел бы иметь функцию, с помощью которой пользователи, которые регистрируются, имеют возможность видеть свой контент в выделенном поддомене (например, USERNAME.mywebapp.com)
очевидно, что изменение конфигурации NGINX каждый раз и перезапуск не приведет к его сокращению. Мне было интересно, предлагает ли AWS Route 53 создание и удаление поддоменов с помощью вызова API, который я могу генерировать из своего бэкэнда.
Если у кого-нибудь есть изящное предложение о том, как мне решать эту проблему и стремиться к масштабируемости, я был бы рад услышать.
1 ответ
Мне было интересно, предлагает ли AWS Route 53 создание и удаление поддоменов с помощью вызова API, который я могу генерировать из своего бэкэнда.
Вы можете использовать API Route 53 для создания поддоменов, но на самом деле вам это не нужно.
(например, USERNAME.mywebapp.com)
Чтобы поддержать это вам нужно только *.mywebapp.com
DNS-запись с подстановочными знаками, в отличие от явной DNS-записи для каждого клиента.
очевидно, что изменение конфигурации NGINX каждый раз и перезапуск не приведет к его сокращению
Что касается управления конфигурацией вашего HTTP-сервера:
Во-первых, я бы не стал так быстро списывать изменения конфигурации вашего HTTP-сервера, а затем запускать перезагрузку конфигурации. Весьма практично использовать что-то вроде Chef для автоматического управления сотнями конфигураций vhost из динамически сгенерированного источника (например, файла JSON). Я лично использовал этот подход, и он не так плох, как кажется.
Другой вариант заключается в том, чтобы ваше приложение обрабатывало маршрутизацию поддомена. Вот пример Laravel: http://laravel-tricks.com/tricks/dynamic-subdomain-routing