N'est-il pas vraiment ennuyeux de créer un environnement de serveur ou de créer un outil de déploiement? Cette fois, j'aimerais créer et déployer facilement un serveur à l'aide du service AWS "Elastic Beans Talk" (ci-après EB) qui résout ces problèmes. De plus, j'aimerais utiliser l'interface de ligne de commande EB, qui vous permet d'utiliser EB à partir de la ligne de commande, sans utiliser la console gérée par AWS.
Je souhaite utiliser la configuration minimale Django pour l'environnement Django. http://qiita.com/yu-sa/items/26e413987efa0debc9d7
Si vous ne disposez pas d'un environnement AWS, vous pouvez essayer de créer un environnement gratuitement à l'aide de qwikLabs. 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
Je vais cloner l'environnement Django.
# git clone https://github.com/yu-sa/my_site.git
La structure des dossiers est
my_site(Dossier de travail)
├─my_site
│ ├─ __init__.py
│ ├─settings.py
│ ├─templates
│ │ └─index.html
│ ├─urls.py
│ ├─views
│ │ ├─__init__.py
│ │ ├─index.py
│ │ └─urls.py
│ └─wsgi.py
├─requirements.txt
└─manage.py
Veuillez vous déplacer vers le dossier de travail ci-dessus et effectuer le travail suivant.
Configurez l'AWS CLI. Définissez le compte auquel accéder et utilisez le service pour exécuter des commandes avec l'interface de ligne de commande EB.
# aws configure
AWS Access Key ID [********************]: xxxxxxxxxxxx #ID de la clé d'accès
AWS Secret Access Key [********************]: xxxxxxxxxxxxxxxxxxxxxxxxx #Clé d'accès secrète
Default region name [ap-northeast-1]: ap-northeast-1 #Région de Tokyo
Default output format [json]: json
Configurez également l'interface de ligne de commande EB.
# 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): (Entrez sans rien remplir)
Enter same passphrase again: (Entrez sans rien remplir)
Vous pouvez personnaliser les paramètres en ajoutant .ebextensions dans le fichier de paramètres AWS Elastic Beanstalk. Nous apporterons des modifications supplémentaires pour utiliser l'environnement Django utilisé cette fois.
Le fichier de configuration est créé en étendant .config.
# mkdir .ebextensions
# vi .ebextensions/django.config
Veuillez remplir le contenu suivant dans [.ebextensions / django.conf].
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "my_site.settings"
"aws:elasticbeanstalk:container:python":
WSGIPath: "my_site/wsgi.py"
Puisque tous les paramètres, etc. sont terminés, créons un environnement EB et construisons automatiquement un environnement de serveur Web.
# eb create my-site-dev --timeout 9000
Si vous appuyez sur cette commande, la construction de l'environnement commencera telle quelle. Cela peut prendre 10 minutes ou plus pour terminer la construction de l'environnement, alors laissez-le pendant un moment.
Si vous souhaitez vérifier si l'environnement a été créé, veuillez vérifier l'environnement créé dans Elastic Beanstalk de la console gérée AWS.
Une fois l'environnement construit, je voudrais consulter la page correspondante.
# eb open my-site-dev
Lorsque vous appuyez sur cette commande, le navigateur s'ouvre et la page suivante s'affiche.
Si vous ajoutez / views / à l'URL ci-dessus, la page suivante s'affichera.
Ceci termine la construction de l'environnement.
Ce qui précède ne construit que l'environnement de serveur Web, pas l'environnement de base de données. Je voudrais écrire sur l'utilisation de RDS, etc. pour utiliser à nouveau l'environnement mysql.
Après cela, je vais mettre en place le module qui a l'environnement tel que le paramètre d'environnement eb sur github, donc si vous voulez l'utiliser, veuillez le cloner. https://github.com/yu-sa/my_site/tree/elasticbeanstalk
De plus, si vous mettez à jour la source, vous pouvez également déployer avec ʻeb deploy my-site-dev` après avoir été engagé avec git. Cela prend environ 5 minutes.
Recommended Posts