2017-01-01 6 views
3

マルチテナント構造のDjango + Postgresアプリがあり、このタイプのアプリをAWSに配備した経験はありません。私は一般的なElastic Beanstalkチュートリアルに従って、単純なアプリケーションをデプロイしました。 (https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/)しかし、私はより柔軟に異なる "サイト"を作成できるソリューションを探しています。現在、このチュートリアル(http://mycodesmells.com/post/django-tutorial-multi-tenant-setup)で異なるサイトを作成する方法を学んでいます。マルチテナントdjangoアプリケーションをAWSにデプロイするには?

だから私は質問の下にあります

  1. 私はこのアプリを導入した後、別のサイトを作成することができますどのよう
  2. (私はElastic Beanstalkでを使用していないに傾いちょうどEC2にデプロイしています)このアプリを展開する方法。

答えて

2

次を助ける必要があります。

あなた .ebextensionsを設定
  • をので、あなたのDjangoプロジェクトがeb deployで展開。
  • 必要に応じて、にメディアファイルのAWS S3を設定します。
  • ドメインを購入し、AWS Route 53でセットアップします(Route 53でも購入できます)。
  • ルートドメイン別名をElastic Beanstalkアプリケーションに指定します。
  • アプリにワイルドカードドメインをポイントします。
  • ドメイン電子メールをAWS S3バケットに保存するようにAWS SESを設定します。他のプロバイダも使用できますが、SESはまさに最も簡単です。
  • HTTPSサポート用のAWS ACM証明書をプロビジョニングします。

今、あなたのサイトが.example.comの下で働いており、単一のクライアントのセットアップを参照するためにtenant.example.comを使用することができます - それは同じ展開を指しますが、クライアントを区別するために、Djangoのテナントスキーマをすることができます異なるHostヘッダーがあります。ワイルドカードの転送があり、新しいテナントを追加するためにDjango以外の設定は必要ありません。

関連する問題