Vagrant-Box, die den Amazon EC2-Instanzen am ähnlichsten ist

37

Gibt es für Vagrant 'Boxen' zum Herunterladen, die die Linux-Version und die für Amazon EC2-Instanzen verfügbaren Pakete genau widerspiegeln?

Ich teste vor Ort mit Vagrant und verwende derzeit die Precise32-Box. Ich stelle meinen Code mit dem AMI 'Amazon Linux AMI 2013.03' für Amazon EC2-Instanzen bereit.

Das Problem, vor dem ich stehe, ist, dass die Pakete, die auf der Precise32-Box installiert werden können, unterschiedliche Namen haben, z

  • php5-fpm - in der vagrant box
  • php54-fpm - in der Amazon EC2-Instanz.

Obwohl ich dies beheben konnte, indem ich Variablen in den Puppet-Konfigurationsdateien verwendete, um mit den verschiedenen Paketnamen umzugehen, klingt das ein bisschen wie ein Hack.

Gibt es also vagabundierende Boxen, die die Amazon EC2-Umgebung genau widerspiegeln?

Oder kann ich einer Vagrant-Box mitteilen, dass sie dieselbe Paketquelle wie eine Amazon EC2-Instanz verwenden soll?

Um eines zu verdeutlichen: Der Grund, warum ich dies tun möchte, ist, dass ich vor Ort testen kann, ohne alles zuerst festschreiben zu müssen. Obwohl Vagrant AWS als Anbieter unterstützt, würde dies nicht dazu führen, dass der Test vor Ort durchgeführt werden kann.

Danack
quelle
In der Hoffnung, dass dies eine nützliche Antwort erhält, hätte ich gerne eine lokale Amazon Linux-Installation für diese Art von Anwendungsfall.
Ceejayoz
1
Verwenden Sie kein Amazon Linux?
Michael Hampton
1
@MichaelHampton Es ist oft schön, eine von Amazon gebaute und unterstützte Linux-Variante zu haben. Es kann von unschätzbarem Wert sein, dass Dinge wie die AWS-Tools sofort einsatzbereit sind.
Ceejayoz
@ceejayoz Ja, das ist nützlich, aber nicht so sehr, wenn der Rest des Systems nicht funktioniert. Ich war von der Build-Qualität von Amazon Linux nicht beeindruckt. Es scheint immer etwas Wichtiges zu geben, das kaputt ist.
Michael Hampton
YMMV, denke ich. Ich habe noch keinen solchen Bruch auf unserem Nginx / Php-Fpm / Percona-Cluster festgestellt.
Ceejayoz

Antworten:

11

Nein, es gibt keine Möglichkeit, Amazon Linux außerhalb von EC2 zu verwenden. Wenn Sie ein Red Hat Enterprise Linux-Derivat verwenden möchten (welches Amazon Linux ist), empfehle ich, CentOS 6 sowohl in Vagrant als auch in EC2 zu verwenden. Sie werden viele CentOS Grundboxen finden hier , und die offiziellen AMIs aufgeführt hier .

Sciurus
quelle
1
Das scheint ähnlicher zu sein als die meisten, ist aber immer noch ein bisschen anders, zB hat Amazon Linux separate PHP 5.3 und PHP 5.4 in seinen Paketen. Ich denke, meine Idee, eine Vagrant-Umgebung zu haben, die nah genug an der Amazon-Umgebung liegt, um für Installationsskripte identisch zu sein, ist ohne viel Arbeit beim Erstellen einer benutzerdefinierten Box nicht realisierbar.
Danack
Richtig, Amazon Linux fügt zusätzliche und neuere Software hinzu, die über das hinausgeht, was RHEL und CentOS beinhalten. Deshalb würde ich die Verwendung von Amazon Linux nicht empfehlen.
Sciurus
1
Für diejenigen (wie ich), die dies mehr als 5 Jahre später, im Jahr 2018, feststellen, gilt diese Antwort nicht mehr:> "Es gibt keine Möglichkeit, Amazon Linux außerhalb von EC2 zu verwenden" Amazon stellt jetzt Images für virtuelle Maschinen bereit (für VirtualBox, ansible, VMWare, Windowz-hyper-z-whatever und Docker) von Amazon Linux, bei dem es sich im Grunde nur um eine für EC2 optimierte und vorkonfigurierte CentOS-Distribution handelt, auf der die API-Tools und Cloudinit-Pakete von Amazon vorinstalliert sind laufen sie auf dem Gelände sowie in AWS: Amazon Linux 2 aws.amazon.com/amazon-linux-2/#Resources
Gigawatt
19

HINWEIS: Bei dieser Antwort geht es nicht darum, eine Vagabund-Box für "Amazon Linux" zu finden. Bei dieser Antwort geht es darum, dem Originalposter dabei zu helfen, das Ziel zu erreichen, dasselbe System in der Produktion wie in dev zu verwenden, nämlich Ubuntu. Wie Sie in den Kommentaren unten sehen können, stimmte OP zu, dass dies sein Problem lösen würde.


Canonical bietet offizielle Ubuntu AMIs auf EC2 und entsprechende offizielle Vagrant-Boxen zum Download an.

Für Ubuntu 12.04 Precise sind die AMIs unter aufgeführt

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

und die Vagrant-Boxen sind unter aufgelistet

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

Sie können dies verwenden, um mit derselben Basiskonfiguration auf EC2 zu beginnen, die Sie lokal in dev verwenden.

Eric Hammond
quelle
1
Diese funktionieren nicht wie das RHEL-basierte Amazon Linux AMI.
Ceejayoz
2
Danke, das würde das Problem für mich selbst lösen, da es mir egal ist, welche Linux-Variante ich verwende. Es wäre jedoch immer noch gut zu sehen, ob jemand es gelöst hat, indem er eine Vagrant-Box mit Amazon-Geschmack hergestellt hat.
Danack
1
@ceejayoz: Ich schlage vor, das Hauptproblem des OP zu lösen, nämlich dasselbe Image auf dev + prod zu haben, indem man prod anstelle von dev wechselt. Nicht alle Antworten müssen sich auf die Annahmen beschränken, die wir in die Frage einlesen. Wir versuchen, dem Fragesteller zu helfen, seine realen Probleme mit praktischen Lösungen zu lösen. "Nein, Sie können es nicht tun" ist eine gültige Antwort, aber ich schätze "Sie können Ihr zugrunde liegendes Ziel erreichen, indem ..."
Eric Hammond
6

Am 13. Dezember 2017 veröffentlichte Amazon Amazon Linux 2 . Damit stellt Amazon jetzt herunterladbare Images zur Verfügung, die in VirtualBox, VMWare und MS Hyper-V ausgeführt werden.

Zuvor hatten Sie die Möglichkeit, das Amazon ECS Docker-Image zu verwenden . Dies ist weiterhin sowohl für Version 1 als auch für Version 2 verfügbar.

Sehen Sie sich an, wie Sie Amazon Linux 2 als virtuelle Maschine vor Ort ausführen .

Ich vermute, jemand wird bald eine Vagabundkiste veröffentlichen. In der Zwischenzeit ist es ziemlich einfach , eine Basisbox selbst zu bauen .

Mike D
quelle
4

Werfen Sie auch einen Blick auf http://www.packer.io , um genau das gleiche Bild für Ihren externen Vagabunden zu erhalten

digitaladept
quelle
1
Willkommen bei Server Fault! Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Slm
1
zur Kenntnis genommen, wollte nicht die Antwort mit dem vollständigen Inhalt der Installations- und Nutzungsseite verunreinigen? aber wenn das die vorliebe ist, mache ich das nächste mal
digitaladept
Es ist in Ordnung zu paraphrasieren, es muss nicht die vollständigen Details sein, sondern nur das Wesentliche.
Slm
1
Packer gibt Ihnen nicht "genau das gleiche Bild für Ihren externen Vagabunden". Soweit ich weiß, kann Packer ein Ami-Basis-Image erstellen und Ihr benutzerdefiniertes Bereitstellungsskript darüber ausführen, um ein Ausgabe-Ami zu erstellen. Es kann auch eine Vagrant-Box (ovf) oder ein .iso-Image als Basis für die Ausführung desselben Bereitstellungsskripts verwenden, um eine Vagrant-Ausgabebox zu erstellen. Während das Bereitstellungsskript identisch ist, unterscheiden sich die Basisboxen in gewissem Maße. Sie können keine Vagabundkiste direkt von einem AMI erstellen.
vornehmsten
@poshest Also brauchen wir immer noch die gleiche Entwicklungs- und Produktionsumgebung (wie Ubuntu), damit sich die Vagrant-Box (fast) wie eine AMI verhält?
Franklin Yu
2

Amazon Linux basiert auf Redhat / CentOS, daher stimmen die Namen besser überein, wenn Sie einen dieser Namen lokal ausführen.

Debian / Ubuntu-basierte Linux-Betriebssysteme ändern die Paketnamen, z. B. "dev" anstelle von "devel" als Suffix für Entwicklungspakete.

Übrigens möchten Sie vielleicht die Ausgabe von "rpm -qa" auf einer Amazon Linux-Instanz überprüfen, sie auf CentOS / Redhat-Paketnamen umstellen und dann eine eigene Betriebssystemversion erstellen, die Amazon sehr nahe kommt.

Bob Roberts
quelle
1

Ab 2017 ja.

Der Name der Vagrant-Box lautet mvbcoding / awslinux und wird in der Vagrant-Cloud gehostet (wie alle anderen öffentlichen Vagrant-Boxen).

Sie können eine Box mit dem folgenden Befehl starten.

vagrant init mvbcoding/awslinux; vagrant up --provider virtualbox
eneset
quelle
Willkommen, können Sie bitte eine genauere Antwort geben?
bgtvfr
@bgtvfr er bedeutet, dass wir jetzt eine "Vagrant-Box ähnlich Amazon EC2-Instanzen" haben, das heißt, die mvbcoding / awslinux . Das ist die einzige Box, die awslinuxmit Abstand genannt wird.
Franklin Yu
Ist es sicher, öffentliche Boxen zu verwenden, die in der Vagrant Cloud gehostet werden? Prüft die Vagrant-Cloud, bevor öffentliche Boxen akzeptiert werden?
Varun
Wer weiß? Sie müssen Mitch Hashimoto fragen.
Eneset