私のウェブアプリケーションは AWS でホストされています。これは標準的な Laravel/PHP アプリです。登録したユーザーが専用のサブドメイン (例: USERNAME.mywebapp.com) で自分のコンテンツを閲覧できる機能が欲しいです。
当然、NGINX 構成を毎回変更して再起動しても効果はありません。AWS Route 53 では、バックエンドから生成できる API 呼び出しを使用してサブドメインの作成と削除が提供されるかどうか疑問に思っていました。
この問題にどのように取り組み、スケーラビリティを目指すべきかについて、優れた提案をお持ちの方がいらっしゃいましたら、ぜひお聞かせください。
答え1
AWS Route 53 では、バックエンドから生成できる API 呼び出しを使用してサブドメインの作成と削除が提供されるかどうか知りたいです。
Route 53 API を使用してサブドメインを作成することは確かに可能ですが、実際には必要ありません。
(例: USERNAME.mywebapp.com)
*.mywebapp.com
これをサポートするには、顧客ごとに明示的な DNS レコードではなく、ワイルドカード DNS レコードのみが必要です。
明らかに、NGINXの設定を変更して再起動するだけでは不十分です。
HTTP サーバー構成の管理に関しては:
まず、HTTP サーバー構成を変更して構成の再読み込みを実行することをすぐに否定することはできません。動的に生成されたソース (JSON ファイルなど) から 100 個の vhost 構成を自動的に管理するには、Chef などを使用するのが実用的です。私は個人的にこのアプローチを使用しましたが、思ったほど悪くはありません。
もう 1 つのオプションは、アプリケーションでサブドメイン ルーティングを処理することです。以下は Laravel の例です。http://laravel-tricks.com/tricks/dynamic-subdomain-routing