La boîte vagabonde ressemble le plus aux instances Amazon EC2

37

Existe-t-il des "boîtes" à télécharger pour Vagrant qui reflètent de près la version Linux et les packages disponibles pour les instances Amazon EC2?

Je teste localement en utilisant Vagrant, en utilisant actuellement la boîte Precise32. Je déploie mon code sur des instances Amazon EC2 avec l'AMI «Amazon Linux AMI 2013.03».

Le problème auquel je suis confronté est que les packages disponibles pour l'installation sur la boîte Precise32 ont des noms différents, par exemple

  • php5-fpm - dans la boite du vagabond
  • php54-fpm - dans l'instance Amazon EC2.

Bien que je puisse résoudre ce problème en utilisant des variables dans les fichiers de configuration de Puppet pour gérer les différents noms de packages, cela ressemble un peu à un hack.

Existe-t-il donc des zones vagabondes disponibles qui refléteront étroitement l'environnement Amazon EC2.

Ou est-il possible pour moi de dire à une boîte de courrier errant d'utiliser la même source de packages en tant qu'instance Amazon EC2?

Pour clarifier une chose - la raison pour laquelle je veux faire cela est pour que je puisse tester localement sans avoir à tout commettre au préalable. Bien que Vagrant prenne en charge AWS en tant que fournisseur, cela ne permettrait pas de tester localement.

Danack
la source
En espérant obtenir une réponse utile, j'aimerais beaucoup avoir une installation locale Amazon Linux pour ce type de cas d'utilisation.
ceejayoz
1
Ne pas utiliser Amazon Linux?
Michael Hampton
1
@ MichaelHampton Il est souvent agréable de disposer d'une variante Linux construite et prise en charge par Amazon. Avoir des fonctionnalités telles que les outils AWS prêts à l'emploi peut s'avérer inestimable.
ceejayoz
@ceejayoz Oui, c'est utile, mais pas autant lorsque le reste du système ne fonctionne pas. Je n'ai pas été impressionné par la qualité de compilation d'Amazon Linux. il semble toujours y avoir quelque chose d'important qui est cassé.
Michael Hampton
YMMV, je suppose. Je n'ai pas encore rencontré une telle rupture sur notre cluster nginx / php-fpm / percona.
ceejayoz

Réponses:

11

Non, il n'y a aucun moyen d'utiliser Amazon Linux en dehors de EC2. Si vous souhaitez utiliser un dérivé de Red Hat Enterprise Linux (ce qui est Amazon Linux), je vous recommande d'utiliser CentOS 6 à la fois dans Vagrant et sur EC2. Vous trouverez de nombreuses boîtes de base CentOS ici , et les AMI officielles sont répertoriées ici .

sciurus
la source
1
Cela semble être plus semblable que la plupart des autres, mais reste légèrement différent. Par exemple, Amazon linux dispose de PHP 5.3 distinct et de PHP 5.4 disponibles dans ses packages. Je pense que mon idée d'avoir un environnement Vagrant suffisamment proche pour correspondre à l'environnement d'Amazon afin d'être identique pour les scripts d'installation n'est pas réalisable sans beaucoup de travail pour créer une boîte personnalisée.
Danack
Oui, Amazon Linux ajoute des logiciels supplémentaires et plus récents que ceux proposés par RHEL et CentOS. C'est pourquoi je ne recommanderais pas d'utiliser Amazon Linux.
Sciurus
1
Pour ceux (comme moi) qui trouvent ce problème plus de 5 ans plus tard, cette réponse n’est plus vraie en 2018:> "il n’est pas possible d’utiliser Amazon Linux en dehors de EC2", Amazon fournit désormais des images de machine virtuelle (pour VirtualBox, ansible, VMWare, Windowz-hyper-z-what et Docker) d’Amazon Linux, qui est essentiellement une distribution CentOS récente et optimisée, optimisée et préconfigurée pour EC2 avec les outils d’API d’Amazon et les packages cloudinit préinstallés, qui vous prennent totalement en charge et vous encouragent. pour l'exécuter sur site ainsi que dans AWS: Amazon Linux 2 aws.amazon.com/amazon-linux-2/#Resources
gigawatt
19

REMARQUE: cette réponse ne consiste pas à trouver une boîte vagabonde pour "Amazon Linux". Cette réponse vise à aider l’affiche originale à résoudre l’objectif consistant à utiliser le même système en production qu’en dev, qui se trouve être Ubuntu. Comme vous pouvez le voir dans les commentaires ci-dessous, OP a convenu que cela résoudrait son problème.


Canonical fournit des AMI officielles Ubuntu sur EC2 et des boîtes Vagrant officielles correspondantes à télécharger.

Pour Ubuntu 12.04 Precise, les AMI sont répertoriées à

http://cloud-images.ubuntu.com/precise/current/

et les boîtes vagabondes sont répertoriés à

http://cloud-images.ubuntu.com/vagrant/precise/current/

Vous pouvez l'utiliser pour démarrer avec la même configuration de base sur EC2 que celle que vous utilisez localement dans dev.

Eric Hammond
la source
1
Ceux-ci n'agiront en rien comme l'AMI Amazon Linux basée sur RHEL.
ceejayoz
2
Merci, cela résoudrait le problème pour moi-même, peu importe la version de Linux que j'utilise. Cependant, il serait toujours bon de voir si quelqu'un l'a résolu en fabriquant une boîte Vagrant aromatisée Amazon.
Danack
1
@ceejayoz: Je propose de résoudre le problème central du PO, qui consiste à avoir la même image sur dev + prod en changeant prod au lieu de dev. Toutes les réponses ne doivent pas nécessairement se limiter aux hypothèses que nous avons lues dans la question. Ce que nous essayons de faire, c'est d'aider le questionneur à résoudre ses problèmes du monde réel avec des solutions pratiques. "Non, vous ne pouvez pas le faire" est une réponse valable, mais j'apprécie "Vous pouvez atteindre votre objectif sous-jacent en ..."
Eric Hammond
6

Le 13 décembre 2017, Amazon a publié Amazon Linux 2 . Avec cela, Amazon fournit désormais des images téléchargeables qui s’exécuteront dans VirtualBox, VMWare, MS Hyper-V.

Auparavant, vous aviez la possibilité d'utiliser l' image Amazon ECS Docker . Cela reste disponible pour les versions v1 et v2.

Consultez Exécution d'Amazon Linux 2 en tant que machine virtuelle sur site .

Je soupçonne que quelqu'un publiera bientôt une boîte vagabonde. Dans l'interrim, il est assez facile de construire une boîte de base vous - même.

Mike D
la source
4

Cela vaut également la peine de jeter un coup d’œil sur http://www.packer.io, il peut être utilisé pour vous donner exactement la même image pour votre vagabond externe.

digitaladept
la source
1
Bienvenue sur Server Fault! Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence.
slm
1
a noté, ne voulait pas jeter la réponse avec le contenu complet de la page d'installation et d'utilisation? mais si c'est la préférence, je le ferai la prochaine fois
digitaladept
C'est bien de paraphraser, il n'est pas nécessaire que ce soit les détails complets, mais juste l'essentiel.
slm
1
Packer ne vous donnera pas "exactement la même image ami que votre vagabond externe". D'après ce que j'ai compris, Packer peut prendre une image de base ami et exécuter votre script de provisioning personnalisé dessus pour créer une sortie ami. Il peut également utiliser une boîte vagabonde (ovf) ou une image .iso comme base pour exécuter le même script de provisioning afin de créer une boîte vagabonde en sortie. Bien que le script de provisioning soit identique, les zones de base diffèrent dans une certaine mesure. Vous ne pouvez pas créer de boîte de dialogue directement à partir d'un IAM.
Poshest
@poshest Nous avons donc toujours besoin du même environnement de développement et de production (comme Ubuntu) pour que la boîte Vagrant se comporte (presque) comme un AMI?
Franklin Yu
2

Amazon Linux étant basé sur Redhat / CentOS, les noms se ressembleront davantage si vous exécutez l’un de ceux-ci localement.

Les systèmes d’exploitation Linux basés sur Debian / Ubuntu changent les noms des paquets, par exemple "dev" au lieu de "devel" en tant que suffixe pour les paquets de développement.

Par ailleurs, vous pouvez consulter la sortie de "rpm -qa" sur une instance Amazon Linux, la faire correspondre aux noms de paquetages CentOS / Redhat, puis envisager de créer votre propre version de système d'exploitation qui correspond étroitement à celle d'Amazon.

Bob Roberts
la source
1

À partir de 2017, oui.

Le nom de la boîte Vagrant est mvbcoding / awslinux hébergé dans le nuage Vagrant (comme toutes les autres boîtes Vagrant publiques).

Vous pouvez lancer une boîte avec la commande suivante.

vagrant init mvbcoding/awslinux; vagrant up --provider virtualbox
eneset
la source
bienvenue, pouvez-vous s'il vous plaît donner une réponse plus détaillée?
bgtvfr
@bgtvfr il signifie que nous avons maintenant une «boîte vagabonde similaire aux instances Amazon EC2», c’est-à-dire mvbcoding / awslinux . C'est la seule boîte nommée awslinuxde loin.
Franklin Yu
Est-il prudent d'utiliser des boîtes publiques hébergées sur le nuage Vagrant? Le cloud Vagrant effectue-t-il un audit avant d'accepter les boîtes publiques?
Varun
Qui sait? Vous devez demander à Mitch Hashimoto.
Eneset