Ist es nicht wirklich ärgerlich, eine Serverumgebung zu erstellen oder ein Bereitstellungstool zu erstellen? Dieses Mal möchte ich einfach einen Server mit dem AWS-Dienst "Elastic Beans Talk" (im Folgenden EB) erstellen und bereitstellen, der solche Probleme löst. Außerdem möchte ich die EB-CLI verwenden, mit der Sie EB über die Befehlszeile bedienen können, ohne die von AWS verwaltete Konsole zu verwenden.
Ich möchte die Mindestkonfiguration Django für die Django-Umgebung verwenden. http://qiita.com/yu-sa/items/26e413987efa0debc9d7
Wenn Sie keine AWS-Umgebung haben, können Sie versuchen, mit qwikLabs kostenlos eine Umgebung zu erstellen. https://qwiklabs.com/focuses/2356
mac os x 10.9.5 EB CLI 3.7.6 AWS CLI 1.10.26
Django & python python 2.7.10 Django 1.9
Ich werde die Django-Umgebung klonen.
# git clone https://github.com/yu-sa/my_site.git
Die Ordnerstruktur ist
my_site(Arbeitsordner)
├─my_site
│ ├─ __init__.py
│ ├─settings.py
│ ├─templates
│ │ └─index.html
│ ├─urls.py
│ ├─views
│ │ ├─__init__.py
│ │ ├─index.py
│ │ └─urls.py
│ └─wsgi.py
├─requirements.txt
└─manage.py
Bitte gehen Sie in den obigen Arbeitsordner und führen Sie die nachfolgenden Arbeiten aus.
Richten Sie die AWS CLI ein. Legen Sie fest, auf welches Konto zugegriffen werden soll, und verwenden Sie den Dienst, um Befehle mit der EB-CLI auszuführen.
# aws configure
AWS Access Key ID [********************]: xxxxxxxxxxxx #Zugriffsschlüssel-ID
AWS Secret Access Key [********************]: xxxxxxxxxxxxxxxxxxxxxxxxx #Geheimer Zugangsschlüssel
Default region name [ap-northeast-1]: ap-northeast-1 #Region Tokio
Default output format [json]: json
Konfigurieren Sie auch die EB-CLI.
# eb init -i
Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : EU (Ireland)
5) eu-central-1 : EU (Frankfurt)
6) ap-southeast-1 : Asia Pacific (Singapore)
7) ap-southeast-2 : Asia Pacific (Sydney)
8) ap-northeast-1 : Asia Pacific (Tokyo)
9) ap-northeast-2 : Asia Pacific (Seoul)
10) sa-east-1 : South America (Sao Paulo)
11) cn-north-1 : China (Beijing)
(default is 3): 8
Select an application to use
1) my_site
2) [ Create new Application ]
(default is 1): 1
It appears you are using Python. Is this correct?
(y/n): y
Select a platform version.
1) Python 3.4
2) Python
3) Python 2.7
4) Python 3.4 (Preconfigured - Docker)
(default is 1): 3
Do you want to set up SSH for your instances?
(y/n): y
Select a keypair.
1) qwikLABS-L98-469340
2) [ Create new KeyPair ]
(default is 2): 2
Type a keypair name.
(Default is aws-eb): aws-eb
Generating public/private rsa key pair.
/Users/xxxxxxxxx/.ssh/aws-eb already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): (Geben Sie ein, ohne etwas auszufüllen)
Enter same passphrase again: (Geben Sie ein, ohne etwas auszufüllen)
Sie können die Einstellungen anpassen, indem Sie .ebextensions in die AWS Elastic Beanstalk-Einstellungsdatei einfügen. Wir werden zusätzliche Änderungen vornehmen, um die diesmal verwendete Django-Umgebung zu verwenden.
Die Konfigurationsdatei wird durch Erweitern von .config erstellt.
# mkdir .ebextensions
# vi .ebextensions/django.config
Bitte füllen Sie den folgenden Inhalt in [.ebextensions / django.conf] aus.
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "my_site.settings"
"aws:elasticbeanstalk:container:python":
WSGIPath: "my_site/wsgi.py"
Da alle Einstellungen usw. abgeschlossen sind, erstellen wir eine EB-Umgebung und erstellen automatisch eine Webserverumgebung.
# eb create my-site-dev --timeout 9000
Wenn Sie diesen Befehl drücken, wird die Umgebungskonstruktion unverändert gestartet. Es kann 10 Minuten oder länger dauern, bis der Umgebungsaufbau abgeschlossen ist. Lassen Sie ihn daher bitte eine Weile stehen.
Wenn Sie überprüfen möchten, ob die Umgebung erstellt wurde, überprüfen Sie die in Elastic Beanstalk der AWS-verwalteten Konsole erstellte Umgebung.
Sobald die Umgebung erstellt ist, möchte ich die entsprechende Seite überprüfen.
# eb open my-site-dev
Wenn Sie diesen Befehl drücken, wird der Browser geöffnet und die folgende Seite wird angezeigt.
Wenn Sie der obigen URL / views / hinzufügen, wird die folgende Seite angezeigt.
Damit ist der Umgebungsaufbau abgeschlossen.
Das obige erstellt nur die Webserverumgebung, nicht die DB-Umgebung. Ich möchte über die Verwendung von RDS usw. schreiben, um die MySQL-Umgebung wieder zu verwenden.
Danach werde ich das Modul einrichten, das die Umgebung wie die eb-Umgebungseinstellung auf github hat. Wenn Sie es also verwenden möchten, klonen Sie es bitte. https://github.com/yu-sa/my_site/tree/elasticbeanstalk
Wenn Sie die Quelle aktualisieren, können Sie sie auch mit "eb deploy my-site-dev" bereitstellen, nachdem Sie mit git festgeschrieben haben. Es dauert ungefähr 5 Minuten.
Recommended Posts