37 votes

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

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

Je teste localement à l'aide de 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 paquets disponibles pour l'installation sur la boîte Precise32 ont des noms différents, par ex.

  • php5-fpm - dans la boîte vagrant
  • 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 paquets, cela ressemble un peu à un piratage.

Existe-t-il des boîtes vagrant disponibles qui reproduisent fidèlement l'environnement Amazon EC2 ?

Ou est-il possible de dire à une boîte vagrant d'utiliser la même source de paquets qu'une instance Amazon EC2 ?

Pour clarifier une chose - la raison pour laquelle je veux faire cela est que je peux tester localement sans avoir à commit tout d'abord. Bien que Vagrant prenne en charge AWS en tant que fournisseur, cela ne permettrait pas réellement de pouvoir tester localement.

18voto

codewise Points 436

NOTE : Cette réponse ne concerne pas la recherche d'une boîte vagrant pour "Amazon Linux". Cette réponse vise à aider le posteur original à résoudre le problème de l'utilisation du même système en production et en développement, 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 AMIs Ubuntu officiels sur EC2 et des boîtes Vagrant officielles correspondantes à télécharger.

Pour Ubuntu 12.04 Precise, les AMIs sont listées à l'adresse suivante

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

et les boîtes Vagrant sont listées à

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

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

11voto

Kasper Holdum Points 4173

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 qu'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 aquí et les IAM officiels sont listés aquí .

7voto

Mike D Points 797

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

Auparavant, vous aviez la possibilité d'utiliser l'option Image Docker Amazon ECS . Cela continue à être disponible pour la v1 et la v2.

Jetez un coup d'œil à Exécuter Amazon Linux 2 en tant que machine virtuelle sur site .

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

4voto

digitaladept Points 41

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

2voto

Bob Roberts Points 21

Amazon Linux est basé sur Redhat/CentOS, donc les noms correspondront plus étroitement si vous exécutez l'un de ces systèmes localement.

Les systèmes d'exploitation Linux basés sur Debian/Ubuntu modifient les noms des paquets, par exemple " dev " au lieu de " devel " comme suffixe pour les paquets de développement.

En outre, vous pouvez vérifier la sortie de "rpm -qa" sur une instance d'Amazon Linux, la modifier pour qu'elle corresponde aux noms des paquets CentOS/Redhat, puis penser à créer votre propre version de système d'exploitation qui corresponde étroitement à celle d'Amazon.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X