2009-06-26 26 views
12

Questa domanda è per chiunque abbia effettivamente utilizzato Amazon EC2. Sto esaminando cosa ci vorrebbe per implementare un server lì.Distribuzione su EC2

Sembra che possa iniziare in VirtualBox, configurare il mio server e quindi esportare l'immagine utilizzando gli strumenti ec2 forniti.

Ciò che diventa complicato è che se davvero voglio apportare modifiche alla configurazione sul mio server in esecuzione, non saranno persistenti.

Ho un codice PHP che devo essere in grado di distribuire (e ridistribuire) sul sistema, quindi stavo pensando che EBS sarebbe stata una buona scelta lì.

Ho una grande quantità di dati che ho bisogno di essere archiviati, ma succede che la latenza non è un problema, quindi stavo pensando che qualcosa come s3fs potesse funzionare.

Quindi la mia domanda è ... Che cosa faresti? Come appare la tua configurazione? Quali sono state le sfide particolari che forse non hai visto arrivare?

risposta

7

Raccomando di archiviare il codice PHP in un repository come SVN e di scrivere uno script che controlli l'ultimo codice dal repository e lo ridistribuisca quando si desidera eseguire l'aggiornamento. Si potrebbe anche eseguire questo script all'avvio dell'istanza in modo da ottenere l'ultimo codice ogni volta che si avvia una nuova istanza; risparmia sul dover creare una nuova AMI ogni volta.

La principale sfida che non ho visto arrivare con EC2 è l'ora di avvio dell'istanza, specialmente con Windows. Le istanze di Linux impiegano dai 5 ai 10 minuti per avviarsi, ma ho visto che le istanze di Windows impiegano fino a 40 minuti; questo può essere un problema se si desidera eseguire il bilanciamento dinamico del carico e avviare nuove istanze quando il carico aumenta.

+0

Nota che al giorno d'oggi (4 anni dopo che questa risposta è stata pubblicata) i tempi di avvio sono solo un paio di minuti. – Julian

+0

Ho implementato uno script PHP che esegue l'auto-distribuzione delle modifiche al codice in tutte le istanze EC2 ogni volta che si preme sul repository. https://github.com/droidlabour/aws_autoscaling_code_deployer – droidlabour

3

Suggerirei che la soluzione migliore è semplicemente "provarlo". Le tariffe per eseguire una piccola istanza non sono elevate e i tassi di trasferimento dei dati sono molto bassi - ho spostato un bel po 'di GB e le mie tariffe per i dati sono ancora inferiori a un dollaro (!) Nel mio primo mese. Probabilmente finirai per pagare il tempo di sistema piuttosto che i dati che sospetto.

non ho ancora implementato, ma hanno eseguito un'istanza, migrati da Ubuntu 8,04-8,10, provato diverse impostazioni di sicurezza dei porti, visto che tipo di tentativi di accesso ignoti hanno tentato (per lo più alla ricerca di phpadmin), eseguire alcuni testare contro di esso e in generale sperimentato con la configurazione e il riavvio dei componenti che sto distribuendo. È stato un buon preludio al mio schieramento finale. Non inizierò con un DB di grandi dimensioni quindi inizialmente rimarrò con lo spazio dell'istanza EC2 standard.

L'unica negatività Ho sentito dire che alcuni spammer hanno reso alcune delle gamme IP soggette a blocco dello spam, ma non lo hanno ancora confermato.

+0

concordato. il prezzo è abbastanza basso per provarlo. A proposito del blocco dello spam, è vero. Ho provato a eseguire un server di posta elettronica in EC2, ma la maggior parte degli intervalli IP risultava essere nella lista nera. Ho dovuto inoltrare a uno smarthost non in lista nera su un'altra rete, che ha sconfitto lo scopo per me. –

2

Il tuo approccio alla scatola virtuale Ti suggerirò di prenderlo dopo aver familiarizzato con l'infrastruttura EC2. Ti suggerisco di andare su EC2, aprire un account e seguire la guida introduttiva di Amazon EC2. Questa guida fornisce una panoramica sufficiente su tutto ciò che è possibile (EBS, IP, CONNECTIONS e altro) per iniziare. Attualmente stiamo utilizzando EC2 per la produzione e il modo in cui abbiamo iniziato è stato come sto spiegando qui.

Spero che tu diventi presto un esperto di cloud.

1

Ho distribuito alcune cose semplici alle istanze EC2 Win2k3. Ecco il mio consiglio:

Trova un tutorial. Iscriviti per il servizio. Passa solo un pomeriggio a configurare il tuo primo server. È dannatamente facile, anche se ci saranno ostacoli da superare. Non è troppo difficile.

Quando stavo scherzando con EC2, penso di aver speso come $ 2,00 creando un server e giocando con esso per un po '.

Alcuni dati saranno persistenti, ma è possibile collegare anche S3 a EC2.

Basta provare!

2

Per timore di timbo, sono stato in grado di catturare un IP che, finora, non è apparso legittimamente in nessun elenco di spam. Avrai qualche piccolo inconveniente dal momento che molte blacklist sono tecnicamente whitelist e avranno ogni IP sulla loro lista fino a quando non verrà notificato che un Mail Server è in esecuzione su quell'IP.È davvero facile da rimuovere, molti di loro hanno moduli di richiesta di rimozione automatizzati e tutti quelli che non mi hanno aiutato a rimuoverli dalle loro liste. Basta essere professionali, chiedere se possono dare un tempo e una ragione per il blocco e quali passi si dovrebbero prendere per rimuovere il tuo IP. Tutti i servizi che ho inviato via e-mail non mi hanno mai chiesto di passare da un anello all'altro, in due o tre giorni lavorativi mi hanno informato che il mio IP era stato rimosso.

Tuttavia, se si prevede di eseguire un server di posta, si consiglia di riservare IP ora. Sono 1 centesimo per ogni ora non sono legati a un'istanza, quindi funziona a circa $ 7 al mese. Sono andato avanti e ne ho prenotato uno extra mentre pensavo di avviare presto un'altra istanza.

10

Abbiamo installato un'applicazione commerciale su larga scala nell'ambiente AWS.

Ci sono tre approcci di base per mantenere le modifiche sotto controllo una volta che il server è in esecuzione, i quali usiamo in situazioni diverse:

  1. mantenere le modifiche di controllo del codice sorgente. Avere uno script che fa parte della tua immagine originale in grado di abbattere il più recente e più grande. Puoi inserire codice PHP, impostazioni Apache, qualunque cosa ti serva. Se hai bisogno di riavviare l'istanza dall'AMI (Amazon Machine Image), esegui lo script per ottenere l'ultimo codice e la configurazione, e sei a posto.
  2. Utilizzare EBS (Elastic Block Storage). EBS è come un grosso disco rigido esterno che puoi collegare alla tua istanza. Anche se il tuo caso scompare, l'EBS sopravvive. Se in seguito hai bisogno di due (o più) istanze identiche, puoi dare a ciascuna di esse l'accesso a ciò che salvi in ​​EBS. Vedi https://stackoverflow.com/a/3630707/141172
  3. Masterizza una nuova AMI dopo ogni modifica. C'è uno strumento per creare una nuova AMI da un'istanza in esecuzione. Se EBS è come avere un disco rigido esterno, la creazione di una nuova AMI è come avere un DVD-R. Puoi salvare lo stato attuale della tua macchina su di esso. La prossima volta che devi avviare una nuova istanza, basala su quella nuova AMI. Buono per andare
1

Per quanto riguarda le preoccupazioni circa blacklist di server di posta, è anche possibile utilizzare semplici servizio di posta elettronica di Amazon (SES), che ovvia la necessità di eseguire il server di posta sulle istanze EC2.