Wie kann ich eine Amazon EC2-Instanz sicher von t1.micro auf large aktualisieren? [geschlossen]


348

Ich habe eine Amazon EC2-Mikroinstanz (t1.micro). Ich möchte diese Instanz auf groß aktualisieren. Dies ist unsere Produktionsumgebung. Was ist der beste und risikofreie Weg, dies zu tun?

Gibt es eine Schritt-für-Schritt-Anleitung, um dies zu tun?


Mit EBS-Root-Gerät oder mit dem Instanzspeicher?
Stivlo

Ich denke ebs root gerät. Ich sehe EBS unter dem Menüpunkt Root Device auf der aws-Konsole.
Gandil

2
Hat jemand von euch die Tatsache in Betracht gezogen, dass ein t1.micro, m1.small usw. eine 32-Bit-Architektur sein kann und dass eine große Instanz ein 64-Bit-Bogen ist? Wird es keine Probleme verursachen? Ich denke, wir müssen ab sofort alles erneut ausführen (eine neue große Instanz erstellen und die gesamte Anwendung erneut installieren). Ist es nicht der Fall, wenn sich die Architektur ändert?
MD

1
Das hat mich nur in die A ** gebissen. Letztes Mal werde ich 32 Bit für alles wählen. Jetzt haben wir einen Server, der mehr Speicher benötigt, als 4 GB und die 32-Bit-Architektur nicht verarbeiten können. Wenn in der Amazon-Systemsteuerung in EC2 keine Option zum Starten eines großen Typs vorhanden ist, wird nur ein mittlerer Typ verwendet.
Tom Gruner

3
Warum wird die Frage als nicht zum Thema gehörend markiert ? Es ist eine gültige hilfreiche Frage mit akzeptablen Antworten.
UsamaAmjad

Antworten:


302

Nach meiner Erfahrung erstelle ich auf diese Weise einen Schnappschuss Ihres aktuellen Images. Sobald dies erledigt ist, wird er beim Starten neuer Instanzen als Option angezeigt. Starten Sie es zu diesem Zeitpunkt einfach als große Instanz.

Dies ist mein Ansatz, wenn ich keine Ausfallzeiten (z. B. Produktionsserver) möchte, da diese Lösung einen Server erst dann offline schaltet, wenn der neue betriebsbereit ist (ich verwende ihn auch, um meinen Clustern mithilfe dieses Ansatzes neue Computer hinzuzufügen nur neue Maschinen hinzufügen). Wenn Ausfallzeiten akzeptabel sind, lesen Sie die Antwort von Marcel Castilho.


1
dann klein die Instanz vorher löschen?
Gandil

1
Die IP-Adresse der neuen Instanz ist unterschiedlich. Habe ich recht? Also müssen wir den DNS-Datensatz ändern?
Gandil

12
Wenn Sie die elastische IP wie gewünscht verwenden, weisen Sie die elastische IP dem neuen Server zu. Der neue Server hat dann dieselbe IP-Adresse. Dieses Verfahren ist auch nützlich, wenn Ihr Server abstürzt und Sie einen neuen starten müssen.
Stivlo

1
Dies ist keine sehr zuverlässige Methode. Der Serverstatus kann sich ändern, wenn er unter Stress steht (was angesichts der Notwendigkeit einer Skalierung sehr wahrscheinlich ist), und der neue, größere Server ist einige Minuten / Stunden älter als der tatsächlich ausgeführte Server.
AbiusX

2
Wenn der Snapshot vom Root-Volume stammt, empfiehlt Amazon, die Instanz vor dem Erstellen
Taterhead

517

Verwenden der AWS Management Console:

  • Klicken Sie mit der rechten Maustaste auf die Instanz
    • Instanzlebenszyklus> Stopp
    • Warten...
    • Instanzverwaltung> Instanztyp ändern

4
Dies ist eine viel einfachere Methode ..
Box86rowh

22
Ich bin damit einverstanden, dass dies einfacher ist, aber der Vorteil der akzeptierten Methode besteht darin, dass Sie den neuen Server parallel zum vorhandenen Server betriebsbereit machen können, bevor Sie die elastische IP umschalten und nur geringe oder keine Ausfallzeiten verursachen.
Ryan Montgomery

17
Wissen Sie, wenn Marcel "Warte ..." sagt, werden Sie auf eine lange Zeit warten. Diese Methode ist schrecklich, wenn Ausfallzeiten ein Problem darstellen. Wenn Ausfallzeiten keine Rolle spielen, ist dies einfach, erfordert jedoch keine geringen Ausfallzeiten. Planen Sie etwa eine halbe Stunde ein.
Jake

8
weniger als 5 Minuten für mich ... mw.small to m1.medium mit SQL 2012 Web
Azcoastal

4
Und das Problem mit der Festplattengröße?
Adrian Salazar

49

Verwenden der AWS Management Console

  • Gehen Sie zu "Volumes" und erstellen Sie einen Snapshot des Volumes Ihrer Instanz.
  • Gehen Sie zu "Schnappschüsse" und wählen Sie "Bild aus Schnappschuss erstellen".
  • Gehen Sie zu "AMIs" und wählen Sie "Instanz starten" und wählen Sie Ihren "Instanztyp" usw.

Auf diese Weise können Sie die Architektur und den Instanztyp ändern.
Styelz

Vielen Dank, dass Sie die Schritte hier tatsächlich ausgeführt und klargestellt haben. Dies ist die beste Methode, es sei denn, Sie befinden sich in einem frühen Stadium, in dem Ausfallzeiten keine Rolle spielen.
Jake

2
Ich habe dies versucht, aber in meinem Fall hat die neue Instanz nicht mit AMI von der älteren Instanz gestartet und hatte ein Problem mit der Kernel-Panik.
Zeeshan

18

Verwenden Sie die AWS EC2-Konsole, nicht ElasticFox.

Erster Weg:

  • Erstellen Sie eine neue AMI der Instanz
  • Starten Sie es

Alternativer Weg:

  • Machen Sie einen Schnappschuss von der Festplatte
  • Starten Sie eine große EBS-Instanz mit demselben AMI-Typ (beachten Sie, dass die Festplatte zu diesem Zeitpunkt die Daten enthält, die bei der Erstellung dieses AMI vorhanden waren, nicht Ihre letzten Änderungen).
  • Stoppen Sie die neue Instanz, sobald sie vollständig gestartet wurde
  • Trennen Sie das Root-Volume von der gestoppten Instanz
  • Erstellen Sie eine virtuelle Festplatte aus dem zuvor erstellten Snapshot in derselben Verfügbarkeitszone der neuen Instanz
  • Hängen Sie das Root-Volume an / dev / sda1 an
  • Starten Sie die neue Instanz erneut

9

AMI erstellen -> AMI auf großer Instanz booten.

Weitere Informationen unter http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-06-26/creating-an-image.html

Sie können dies alles auch über die Administrationskonsole unter aws.amazon.com tun


Ich möchte dies auf einer aws-Konsole tun. Gibt es ein Howto-Dokument mit Bild?
Gandil

Klicken Sie mit der rechten Maustaste auf Ihre Instanz und klicken Sie auf "AMI erstellen". Gehen Sie dann auf der Konsolenanzeige (auf der linken Seite) zu AMIs und klicken Sie auf "AMI starten" für die
Instanz,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.