2017-01-01 3 views
3

Ich habe eine Django + Postgres App, die eine Multi-Tenant-Struktur hat und ich habe keine Erfahrung damit, diese Art von App für AWS bereitzustellen. Ich habe das allgemeine Tutorial zu Elastic Beanstalk verfolgt, um eine einfache App bereitzustellen. (https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/) Ich suche jedoch nach einer Lösung, die es mir erlaubt, verschiedene "Sites" flexibler zu erstellen. Derzeit habe ich gelernt, verschiedene Websites über dieses Tutorial zu erstellen (http://mycodesmells.com/post/django-tutorial-multi-tenant-setup).Wie wird eine Django-App für mehrere Mandanten auf AWS bereitgestellt?

So habe ich unten Fragen:

  1. wie diese App zu implementieren (ich zuzuneigen nicht Elastic Beanstalk verwenden, aber nur um es zu EC2 bereitstellen)
  2. , wie ich verschiedene Websites erstellen könnte diese App nach der Bereitstellung . Hilfe

Antwort

2

sollte folgende:

  • up Legen Sie Ihre .ebextensions so Ihre Django-Projekt mit eb deploy setzt.
  • Richten Sie django-storages mit AWS S3 für Mediadateien ein, wenn Sie benötigen.
  • Erwerben Sie eine Domain und richten Sie sie mit AWS Route 53 ein (Sie können auch über die Route 53 kaufen).
  • Zeigen Sie Ihren Stamm-Domain-Alias ​​auf Ihre Elastic Beanstalk App.
  • Weisen Sie Ihrer App auch eine Wildcard-Domain zu.
  • Richten Sie AWS SES so ein, dass Ihre Domänen-E-Mails in einem AWS S3-Bucket gespeichert werden. Sie können auch andere Anbieter verwenden, SES ist nur der einfachste.
  • Bereitstellung von AWS ACM-Zertifikaten für die HTTPS-Unterstützung.

Sie haben nun Ihre Website unter .example.com arbeiten und tenant.example.com auf einen einzelnen Client-Setup verweisen kann - es bezieht sich auf den gleichen Einsatz aber einen anderen Host Header, die Schemata Django Mieter können Kunden unterscheiden. Sie haben Wildcard-Forwards und benötigen keine andere Einrichtung als in Django, um neue Mandanten hinzuzufügen.

Verwandte Themen