Come faccio a migrare Ami AM2 (o istanze) di Amazon EC2 da una regione all'altra?

Ho una Windows EC2 AMI e l'istanza in Virginia, ma voglio migrarlo in Oregon. La mia ipotesi è che una migrazione di istanze potrebbe essere imansible in quanto è live, ma alless un trasferimento di volume AMI + EBS avrebbe aiutato!

Inoltre, so che questo è stato chiesto prima, ma nessuna delle risposte si applica a partire dalla fine del 2011.

Vecchia soluzione 1,2 @ È ansible spostare un AWS EC2 AMI da una regione ad un'altra regione e, in caso affermativo, come? . Problema : Soluzione 1 richiede ElastiFox che non è più supportto (non funziona in nessun firefox dal 3.6). Soluzione 2 è solo linux

Vecchia soluzione3 @ Amazon EC2 migrazione da una regione all'altra . Problema : richiede ElastiFox che ora non è supportto / incompatibile

'Parziale' solution4 @ http://blog.taggesell.de/index.php?/archives/85-Amazon-EC2-How-to-migrate-an-EBS-backed-image-from-US-to-EU- o-ovunque.html . Problema : funziona 'fuori' il sistema AWS creando un'image e poi inviandola come un stream. Inoltre, non è chiaro come il stream è protetto contro la corruzione (ad es. Perdita di pacchetti, ecc.). Modifica: netcat è sopra TCP / IP, quindi è un trasporto affidabile. È comunque bene che le windows controllino il disco all'avvio.

  • Distriggersre Netbios su TCP / IP tramite DHCP non funziona
  • L'utente della console di Windows Service Console
  • Imansible ripristinare un object Criteri di gruppo in Active Directory
  • Windows 2003 DC GPO chiedere la password all'avvio
  • Come risolvere il client OSX alla condivisione di Windows si blocca?
  • Come aggiungere path persistente per VPN quando l'interface # varia?
  • Il certificato smette di funzionare dopo il riavvio del computer
  • Avviare Windows in macchina virtuale dalla partizione disco rigido reale
  • One Solution collect form web for “Come faccio a migrare Ami AM2 (o istanze) di Amazon EC2 da una regione all'altra?”

    Hmmm, no risposte, quindi sono andato avanti e ho provato una variante di soluzione 4. La soluzione originale come-è fallita a causa di

    1. uso errato di netcat
    2. modifiche ai nuovi kernel di linux in come si riferiscono ai volumi di Windows

    Quindi documenterò cosa funzionava per me.

    L'impostazione

    Utilizziamo Linux per copiare il volume di Windows, byte-by-by in tutta la networking. In realtà è molto semplice, ho appena dato istruzioni dettagliate per aiutare i neofiti.

    1. Eseguire il backup del volume di Windows EBS nella regione di origine

    1. Arrestare l'istanza EC2 di Windows.
    2. Detach Volume. volume -> volume di Windows (clic destro) -> rimuove volume.
    3. Crea istantanea. Fare clic con il button destro di nuovo -> creare istantanea.
    4. Prendi nota della 'zona' del volume (ad esempio 'us-east-1b') da qualche parte. Ne hai bisogno subito

    2. Creare un'istanza Linux nella tua regione di origine, nella stessa zona in cui ho utilizzato Ubuntu, (ricerca per "ubuntu / images" AMI). In alternativa vai a http://alestic.com/ e troverai i link agli ultimi ufficiali Ubuntu AMI in alto. Ho usato AMI ami-20f97410 come riferimento.

    1. Scegli il tipo di istanza, t1.micro ha lavorato per me. Il mio istanza di ubuntu 11.10 32bit era al 40% di CPU durante l'operazione di lettura del disco.
    2. Impostare l'istanza nella zona SAME come volume di Windows (ad esempio 'us-east-1b').
    3. Colbind il volume delle windows all'istanza di Linux (click con il tasto destro del mouse sull'triggerszione di linux), a qualcosa di simile a / dev / sdf (il Web UI può cambiare in / dev / xvdf in futuro). Se non si vede l'istanza linux, il volume di Windows e l'istanza Linux sono probabilmente in zone "diverse" (es. 'Us-east-1a' vs 'us-east-1b').
    4. Assicurarsi che la port 9999 sia aperta nei gruppi di protezione
    5. Avviare l'istanza Linux
    6. NON montare il volume di Windows (vogliamo solo che il disco rigido di Windows sia collegato alla "macchina", NON il sistema operativo Linux per montare il file system presente nel dispositivo "hard disk"
    7. installare cpipe tramite sudo apt-get install cpipe

    3. Creare un volume EBS vuoto nella regione di destinazione

    1. Regione di destinazione (in alto a sinistra) -> Volumi -> Crea volume.
    2. Ho usato la stessa dimensione (30GB) ma questa è una possibilità di aumentare il volume.
    3. Annota la zona (es. Us-ovest-2a). Assicurarsi che sia nella stessa regione che desideri essere l'istanza di Windows EC2.

    4. Creare un'istanza Linux nella vostra regione di destinazione, nella stessa zona Leggere la sezione precedente (# 2) sull'istanza Linux. Ancora una volta assicurarsi che le zone di volume di Linux e Windows siano le stesse all'interno della zona di destinazione. L'istanza t1.micro di server 32bit di Ubuntu 11.10 stava colpendo 80% di CPU durante l'operazione di scrittura del disco.

    1. Avviare l'istanza.
    2. fare NON ** montare il volume delle windows
    3. Collega il volume vuoto delle windows di destinazione a questa istanza Linux.

    Avviare il process di copia

    1. Destinazione Effettuare l'accesso all'istanza Linux EC2 e immettere

     sudo sh -c 'netcat -p 9999 -l > /dev/xvdf' 

    2. Fonte Accedere all'istanza Linux EC2 e immettere

     sudo sh -c 'cpipe -vt -b 1024 < /dev/xvdf | netcat -q 1 dest-aws-ip-dns-address.com 9999' 

    nota : Più kernel nuovi / attuali utilizzeranno / dev / xvdf per il volume di Windows. I kernel più vecchi fanno riferimento come / dev / sdf

    note2 netcat è talvolta alias a nc, nel caso in cui utilizzi un altro distro di Linux. cpipe fornisce solo i tuoi commenti sui progressi e sui tassi di trasferimento. netcat viene eseguito su TCP / IP, quindi è robusto nei confronti di pacchetti caduti / corrotti. Si desidera ancora eseguire un controllo del disco di Windows sulla destinazione una volta completato il trasferimento.

    3. Attendi che stavo ottenendo un esatto 3.00MB / sec (Mbytes, non Mbits) durante questa operazione dalla costa est-ovest. La mia image da 30GB ha preso 2 ore, 50 minuti.

    4. Crea nuova istanza EC2 di Windows Abbiamo un volume ma un'istanza / macchina EC2 è necessaria per avviare qualsiasi cosa. Se usi la GUI della console AWS per andare in volume-> snapshot-> AMI, AWS crea in modo errato un VM di Linux (?!?) Che non viene avviato perché la configuration EC2 è ormai spazzatura. Noi lavoriamo intorno a quello da

    1. Creare un'istanza nuova EC2 di Windows nella zona SAME come volume. Scegliere Windows AMI di magazzino, ma scegliere uno più vicino al proprio volume di Windows. La mia image di origine era Windows 2003 R2, 32 bit, supportta da EBS, quindi ho sparato un Windows 2003 (generico), 32 bit, EBS supportto anche AMI.
    2. Avviare completamente questa istanza. Verifica accedendo via RDP.
    3. Chiudi questa istanza
    4. Rimuovere il volume EBS creato in # 1 poco prima
    5. Colbind il volume EBS che è stato copiato come / dev / sda1 ( NON il default / dev / xvdf nella window di dialogo UI del Web)
    6. Reboot.
    7. Misura di sicurezza: Controllare l'unità del sistema risultante (chkdsk).
    8. Godere!

    5. Pulizia Ricorda di aver fatto SOLO le seguenti operazioni

    1. Migrato il volume
    2. Ricomincia l'istanza EC2

    Se finisci di sopra, è andato per sempre, nessun AMI per rilanciarlo. Quindi, lo consiglio vivamente

    1. Creare un AMI dall'istanza attualmente in esecuzione (istanza di clic destro -> creare l'image AMI). Questo è il tuo nuovo punto di riferimento "giorno 0".
    2. Fai anche un'istantanea del volume. Sì, so che il backup AMI sopra aiuta, ma ho i backup settimanali, quindi avrei comunque previsto un riferimento "giorno 7" la settimana prossima. Inoltre poiché le istantanee sono differenziali, l'ho fatto subito.

    Conclusione È una scrittura LONG, ma non ho lasciato dettagli per i neofiti. Il precedente ha funzionato al 100% per me la migrazione da Stati Uniti-Est (Virginia) a Usa-Ovest (Oregon). Sono in CA e ho fatto questo per portre la VM più vicino a me senza colpire le spese più elevate del CA settentrionale.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.