Scatola vagabonda più simile alle istanze Amazon EC2


37

Ci sono 'scatole' disponibili per il download per Vagrant che rispecchiano da vicino la versione Linux e i pacchetti disponibili per le istanze Amazon EC2?

Sto testando localmente usando Vagrant, attualmente usando la scatola Precise32. Sto distribuendo il mio codice alle istanze Amazon EC2 con l'AMI "Amazon Linux AMI 2013.03".

Il problema che sto affrontando è che i pacchetti disponibili per l'installazione sulla scatola Precise32 hanno nomi diversi, ad es

  • php5-fpm - nella scatola del vagabondo
  • php54-fpm - nell'istanza di Amazon EC2.

Anche se ho potuto risolvere questo problema usando le variabili nei file di configurazione Puppet per gestire i diversi nomi dei pacchetti, sembra un po 'un hack.

Quindi ci sono scatole vagabondi disponibili che rispecchieranno da vicino l'ambiente Amazon EC2.

O è possibile per me dire a un vagrant box di utilizzare la stessa fonte di pacchetti di un'istanza Amazon EC2?

Per chiarire una cosa, il motivo per cui voglio farlo è che posso testare localmente senza dover prima impegnare tutto. Sebbene Vagrant abbia il supporto per AWS come fornitore, ciò non consentirebbe effettivamente di provare localmente.


Sperando che ottenga una risposta utile, mi piacerebbe avere un'installazione locale Amazon Linux per questo tipo di caso d'uso.
Ceejayoz,

1
Non usi Amazon Linux?
Michael Hampton

1
@MichaelHampton È spesso bello avere una variante Linux costruita e supportata da Amazon. Avere roba come gli strumenti AWS funziona immediatamente può essere prezioso.
Ceejayoz,

@ceejayoz Sì, è utile, ma non tanto quando il resto del sistema non funziona. Non sono stato colpito dalla qualità di costruzione di Amazon Linux; sembra che ci sia sempre qualcosa di importante che è rotto.
Michael Hampton

YMMV, immagino. Devo ancora incontrare tale rottura sul nostro cluster nginx / php-fpm / percona.
Ceejayoz,

Risposte:


11

No, non è possibile utilizzare Amazon Linux al di fuori di EC2. Se vuoi usare un derivato di Red Hat Enterprise Linux (che è Amazon Linux), ti consiglio di usare CentOS 6 sia in Vagrant che su EC2. Troverai molte scatole di base CentOS qui e le AMI ufficiali sono elencate qui .


1
Questo sembra essere più simile della maggior parte, ma comunque leggermente diverso, ad esempio Amazon Linux ha PHP 5.3 e PHP 5.4 separati disponibili nei suoi pacchetti. Penso che la mia idea di avere un ambiente Vagrant che sia abbastanza vicino da corrispondere all'ambiente di Amazon in modo da essere identico per gli script di installazione non è realizzabile senza molto lavoro nella creazione di box personalizzati.
Danack,

Bene, Amazon Linux aggiunge software aggiuntivo e più recente oltre a ciò che includono RHEL e CentOS. Ecco perché non consiglierei di usare Amazon Linux.
sciurus,

1
Per quelli (come me) che trovano questo 5+ anni dopo, ora, nel 2018, questa risposta non è più vera:> "non c'è modo di usare Amazon Linux al di fuori di EC2" Amazon ora fornisce immagini di macchine virtuali (per VirtualBox, ansible, VMWare, Windowz-hyper-z-qualunque e Docker) di Amazon Linux, che è fondamentalmente solo una recente distribuzione CentOS vaniglia ottimizzata e preconfigurata per EC2 con gli strumenti API di Amazon e i pacchetti cloudinit preinstallati, e supportano e incoraggiano totalmente te per eseguirlo sia in locale che in AWS: Amazon Linux 2 aws.amazon.com/amazon-linux-2/#Resources
gigawatt

19

NOTA: questa risposta non riguarda la ricerca di un box vagabondo per "Amazon Linux". Questa risposta riguarda l'aiutare il poster originale a risolvere l'obiettivo di utilizzare lo stesso sistema in produzione come in dev, che sembra essere Ubuntu. Come puoi vedere nei commenti qui sotto, OP ha concordato che ciò avrebbe risolto il suo problema.


Canonical fornisce le AMI Ubuntu ufficiali su EC2 e le corrispondenti scatole Vagrant ufficiali da scaricare.

Per Ubuntu 12.04 Precise, le AMI sono elencate in

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

e le caselle Vagrant sono elencate in

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

Puoi usarlo per iniziare con la stessa configurazione di base su EC2 che stai usando localmente in dev.


1
Quelli non agiranno come l'AMI Amazon Linux basata su RHEL.
Ceejayoz,

2
Grazie che risolverà il problema da solo, poiché non mi interessa particolarmente quale tipo di Linux utilizzo. Tuttavia, sarebbe comunque bello vedere se qualcuno lo ha risolto creando una scatola di Vagrant al gusto di Amazon.
Danack

1
@ceejayoz: sto proponendo di risolvere il problema principale dell'OP di avere la stessa immagine su dev + prod cambiando prod invece di cambiare dev. Non tutte le risposte devono limitarsi alle ipotesi che leggiamo nella domanda. Quello che stiamo cercando di fare è aiutare l'interrogante a risolvere i problemi del mondo reale con soluzioni pratiche. "No, non puoi farlo" è una risposta valida, ma apprezzo "Puoi raggiungere il tuo obiettivo di fondo entro ..."
Eric Hammond,

6

Il 13-dic-2017, Amazon ha rilasciato Amazon Linux 2 . Con questo Amazon ora fornisce immagini scaricabili che verranno eseguite in VirtualBox, VMWare, MS Hyper-V.

Prima di questo, avevi la possibilità di utilizzare l' immagine Docker di Amazon ECS . Questo continua ad essere disponibile sia per v1 che per v2.

Dai un'occhiata a Esecuzione di Amazon Linux 2 come macchina virtuale locale .

Sospetto che qualcuno pubblicherà presto una scatola di vagabondi. Nel frattempo, è abbastanza facile costruire da soli una scatola base .


4

Vale anche la pena dare un'occhiata a http://www.packer.io che può essere utilizzato per darti esattamente la stessa immagine ami per il tuo vagabondo esterno


1
Benvenuti in Server Fault! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
slm

1
notato, non voleva sporcare la risposta con il contenuto completo della pagina di installazione e utilizzo? ma se questa è la preferenza, lo farò la prossima volta
digitaladept

Va bene parafrasando, non devono essere i dettagli completi, ma solo l'essenza.
slm,

1
Packer non ti darà "esattamente la stessa immagine ami per il tuo vagabondo esterno". A quanto ho capito Packer può acquisire un'immagine di base ami ed eseguire lo script di provisioning personalizzato su di essa per creare un file di output. Può anche usare un'immagine vagrant box (ovf) o .iso come base per eseguire lo stesso script di provisioning per creare un box vagrant di output. Mentre lo script di provisioning sarà lo stesso, le caselle di base differiranno in una certa misura. Non è possibile creare un box vagabondo direttamente da un AMI.
più elegante

@poshest Quindi abbiamo ancora bisogno dello stesso ambiente di sviluppo e produzione (come Ubuntu) per far sì che il box Vagrant si comporti (quasi) come un AMI?
Franklin Yu,

2

Amazon Linux si basa su Redhat / CentOS, quindi i nomi corrisponderanno più da vicino se ne esegui uno localmente.

I sistemi operativi Linux basati su Debian / Ubuntu modificano i nomi dei pacchetti, ad esempio "dev" anziché "devel" come suffisso per i pacchetti di sviluppo.

A proposito, potresti voler controllare l'output di "rpm -qa" su un'istanza di Amazon Linux, copiarlo per abbinare i nomi dei pacchetti CentOS / Redhat e quindi pensare di creare la tua versione del sistema operativo che corrisponda strettamente a quella di Amazon.


1

A partire dal 2017, sì.

Il nome del box Vagrant è mvbcoding / awslinux ospitato nel cloud Vagrant (come tutti gli altri box pubblici Vagrant).

È possibile avviare una casella con il seguente comando.

vagrant init mvbcoding/awslinux; vagrant up --provider virtualbox

benvenuto, puoi per favore dare una risposta più dettagliata?
bgtvfr,

@bgtvfr significa che ora abbiamo un "Vagrant box simile alle istanze Amazon EC2", ovvero mvbcoding / awslinux . Questa è l'unica scatola chiamata awslinuxdi gran lunga.
Franklin Yu,

È sicuro utilizzare le caselle pubbliche ospitate sul cloud Vagrant? Il cloud Vagrant esegue audit prima di accettare le caselle pubbliche?
Varun,

Chissà? Devi chiedere a Mitch Hashimoto.
eneset,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.