1

J'espère que quelqu'un peut me pointer. Google ne cède pas grand chose de simple à comprendre (il y a des choses comme Pheanstalk, etc), et Amazon's own Beanstalk documentation comme toujours est terriblement mystérieux en supposant que nous utilisons Laravel ou Symfony2.Meilleure façon de déployer une simple application PHP AWS Beanstalk sans framework PHP, en utilisant RDS + ElastiCache pour les données

Nous avons un ensemble simple de 10 scripts PHP qui constituent notre "site web" entier, avec une programmation fonctionnelle rapide. Dans nos tests, cela a été beaucoup plus rapide que de faire les mêmes choses avec des POO inutiles. Quoi qu'il en soit, avec PHP 7, nous sommes très satisfaits du code fonctionnel simple que nous avons.

Nous pourrions suivre la route EC2. Deux serveurs EC2 en charge équilibrés par ELB. Les deux serveurs EC2 ont juste Nginx en cours d'exécution avec PHP-FPM, et appel à la substance RDS pour les données (ElastiCache pour une certaine vitesse de mise en cache pour les requêtes en lecture seule). Cependant, l'idée est de réduire les coûts de gestion pour EC2 en s'appuyant sur Beanstalk pour le traitement simple qui est nécessaire dans ces 10 scripts PHP.

Pensons-nous de la bonne manière? Est-il simple de "télécharger" des scripts sur Beanstalk de la même manière que dans EC2 via SSH ou SFTP? Ou est-ce seulement par programmation via git etc?

Répondre

1

Vous pouvez facilement répliquer votre environnement EC2 vers Elastic Beanstalk à l'aide de conteneurs Docker.

Créez un conteneur Docker contenant les packages requis (nginx etc), les fichiers de configuration et vos scripts PHP. Ensuite, vous déploieriez le conteneur à Beanstalk. Avec Beanstalk, vous pouvez définir environment variables qui sont transmis aux instances EC2 sous-jacentes où vous exécutez l'application. Généralement, on utilise des variables d'environnement pour transmettre, par exemple, le nom d'hôte RDS, le nom d'utilisateur et le mot de passe à l'application Beanstalk. En outre, vous pouvez stocker le Dockerfile, les fichiers de configuration et les scripts dans votre référentiel git pour le contrôle de version, et les récupérer chaque fois que vous créez le conteneur.

Voir la documentation AWS à propos de deploying beanstalk application from Docker containers.

+0

Merci Olli. J'essayais d'éviter les conteneurs Docker. C'est un peu technique pour moi. Est-ce le seul moyen? – PKHunter

+0

@PKHunter Eh bien, l'autre façon serait d'utiliser un environnement PHP 7 préconfiguré pour Beanstalk. Il y a un tutoriel pour ce cas d'utilisation dans la [documentation Beanstalk] (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-ha-tutorial.html). – Olli