Voraussetzungen für die EC2 serielle Konsole - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Voraussetzungen für die EC2 serielle Konsole

Um eine Verbindung zur EC2 seriellen Konsole herzustellen und das von Ihnen gewählte Tool zur Fehlerbehebung zu verwenden, müssen die folgenden Voraussetzungen erfüllt sein:

AWS-Regionen

Wird in allen Ländern unterstützt AWS-Regionen, außer im asiatisch-pazifischen Raum (Malaysia), im asiatisch-pazifischen Raum (Thailand) und in Mexiko (Zentral).

Wavelength-Zonen und AWS -Außenposten

Nicht unterstützt

Local Zones

Unterstützt in allen lokalen Zonen.

Instance-Typen

Unterstützte Instance-Typen:

  • Linux

    • Alle virtualisierten Instances, die auf dem Nitro System aufgebaut sind.

    • Alle Bare-Metal-Instances außer:

      • Universell: a1.metal, mac1.metal, mac2.metal

      • Beschleunigte Datenverarbeitung: g5g.metal

      • RAM-optimiert: u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal

  • Windows

    Alle virtualisierten Instances, die auf dem Nitro System aufgebaut sind. Wird nicht auf Bare-Metal-Instances unterstützt.

Gewähren von Zugriff

Sie müssen die Konfigurationsaufgaben abschließen, um Zugriff auf die EC2 serielle Konsole zu gewähren. Weitere Informationen finden Sie unter Konfigurieren Sie den Zugriff auf die EC2 serielle Konsole.

Unterstützung für browserbasierte Clients

Um über den browserbasierten Client eine Verbindung zur seriellen Konsole herzustellen, muss Ihr Browser dies unterstützen WebSocket. Wenn Ihr Browser dies nicht unterstützt WebSocket, stellen Sie mit Ihrem eigenen Schlüssel und einem SSH-Client eine Verbindung zur seriellen Konsole her.

Instance-Status

Der Wert muss running sein.

Wenn sich die Instance in den pending-, stopping-, stopped-, shutting-down- oder terminated-Status befindet, können Sie keine Verbindung mit der seriellen Konsole herstellen.

Weitere Informationen zum Instance-Status finden Sie unter Änderungen des EC2 Amazon-Instanzstatus.

EC2 Amazon-Systemmanager

Wenn die Instance Amazon EC2 Systems Manager verwendet, muss SSM Agent Version 3.0.854.0 oder höher auf der Instance installiert sein. Informationen zu SSM Agent finden Sie unter Arbeiten mit SSM Agent im AWS Systems Manager -Benutzerhandbuch.

Konfigurieren des von Ihnen gewählten Tools für die Fehlerbehebung

Um Fehler bei Ihrer Instance über die serielle Konsole zu beheben, können Sie GRUB oder SysRq auf Linux-Instances und Special Admin Console (SAC) auf Windows-Instances verwenden. Bevor Sie diese Tools verwenden können, müssen Sie zunächst Konfigurationsschritte für jede Instance ausführen, auf der Sie sie verwenden möchten.

Verwenden Sie die Anleitung für das Betriebssystem Ihrer Instance, um das von Ihnen gewählte Tool zur Fehlerbehebung zu konfigurieren.

Um GRUB zu konfigurieren, wählen Sie eines der folgenden Verfahren basierend auf dem AMI, das zum Starten der Instance verwendet wurde.

Amazon Linux 2
So konfigurieren Sie GRUB für eine Amazon Linux 2-Instance
  1. Herstellen einer Verbindung zu Ihrer Linux-Instance mit SSH

  2. Fügen Sie die folgenden Optionen hinzu oder ändern Sie sie in /etc/default/grub:

    • Set GRUB_TIMEOUT=1.

    • Add GRUB_TERMINAL="console serial".

    • Fügen Sie GRUB_SERIAL_COMMAND="serial --speed=115200" hinzu.

    Es folgt ein Beispiel für /etc/default/grub. Möglicherweise müssen Sie die Konfiguration basierend auf Ihrem System-Setup ändern.

    GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0" GRUB_TIMEOUT=1 GRUB_DISABLE_RECOVERY="true" GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200"
  3. Übernehmen Sie die aktualisierte Konfiguration, indem Sie den folgenden Befehl ausführen.

    [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Ubuntu
So konfigurieren Sie GRUB auf einer Ubuntu-Instance
  1. Verbinden Sie sich mit der Instance.

  2. Fügen Sie die folgenden Optionen hinzu oder ändern Sie sie in /etc/default/grub.d/50-cloudimg-settings.cfg:

    • Set GRUB_TIMEOUT=1.

    • Add GRUB_TIMEOUT_STYLE=menu.

    • Fügen Sie GRUB_TERMINAL="console serial" hinzu.

    • Entfernen Sie GRUB_HIDDEN_TIMEOUT.

    • Fügen Sie GRUB_SERIAL_COMMAND="serial --speed=115200" hinzu.

    Es folgt ein Beispiel für /etc/default/grub.d/50-cloudimg-settings.cfg. Möglicherweise müssen Sie die Konfiguration basierend auf Ihrem System-Setup ändern.

    # Cloud Image specific Grub settings for Generic Cloud Images # CLOUD_IMG: This file was created/modified by the Cloud Image build process # Set the recordfail timeout GRUB_RECORDFAIL_TIMEOUT=0 # Do not wait on grub prompt GRUB_TIMEOUT=1 GRUB_TIMEOUT_STYLE=menu # Set the default commandline GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295" # Set the grub console type GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed 115200"
  3. Übernehmen Sie die aktualisierte Konfiguration, indem Sie den folgenden Befehl ausführen.

    [ec2-user ~]$ sudo update-grub
RHEL
So konfigurieren Sie GRUB auf einer RHEL-Instance
  1. Verbinden Sie sich mit der Instance.

  2. Fügen Sie die folgenden Optionen hinzu oder ändern Sie sie in /etc/default/grub:

    • Entfernen Sie GRUB_TERMINAL_OUTPUT.

    • Add GRUB_TERMINAL="console serial".

    • Fügen Sie GRUB_SERIAL_COMMAND="serial --speed=115200" hinzu.

    Es folgt ein Beispiel für /etc/default/grub. Möglicherweise müssen Sie die Konfiguration basierend auf Ihrem System-Setup ändern.

    GRUB_TIMEOUT=1 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200"
  3. Übernehmen Sie die aktualisierte Konfiguration, indem Sie den folgenden Befehl ausführen.

    [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline

    Verwenden Sie unter RHEL 9.2 und älter den folgenden Befehl.

    [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
CentOS

Für Instances, die mit einem CentOS-AMI gestartet werden, ist GRUB standardmäßig für die serielle Konsole konfiguriert.

Es folgt ein Beispiel für /etc/default/grub. Ihre Konfiguration kann je nach Systemeinrichtung unterschiedlich sein.

GRUB_TIMEOUT=1 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200" GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200" GRUB_DISABLE_RECOVERY="true"

Zur Konfiguration SysRq aktivieren Sie die SysRq Befehle für den aktuellen Startzyklus. Um die Konfiguration dauerhaft zu machen, können Sie die SysRq Befehle auch für nachfolgende Starts aktivieren.

Um alle SysRq Befehle für den aktuellen Startzyklus zu aktivieren
  1. Verbinden Sie sich mit der Instance.

  2. Führen Sie den folgenden Befehl aus.

    [ec2-user ~]$ sudo sysctl -w kernel.sysrq=1
    Anmerkung

    Diese Einstellung wird beim nächsten Neustart gelöscht.

Um alle SysRq Befehle für nachfolgende Starts zu aktivieren
  1. Erstellen Sie die Datei /etc/sysctl.d/99-sysrq.conf und öffnen Sie sie in Ihrem Lieblingseditor.

    [ec2-user ~]$ sudo vi /etc/sysctl.d/99-sysrq.conf
  2. Fügen Sie die folgende Zeile zu.

    kernel.sysrq=1
  3. Starten Sie die Instance neu, um die Änderungen zu übernehmen.

    [ec2-user ~]$ sudo reboot
  4. Geben Sie an der login-Eingabeaufforderung den Benutzernamen des passwortbasierten Benutzers ein, den Sie vorher eingerichtet haben, und drücken Sie dann die Eingabetaste.

  5. Geben Sie an der Password-Eingabeaufforderung das Passwort ein und drücken Sie dann die Eingabetaste.

Anmerkung

Wenn Sie SAC auf einer Instance aktivieren, funktionieren die EC2 Dienste, die auf den Kennwortabruf angewiesen sind, nicht von der EC2 Amazon-Konsole aus. Die EC2 Startagenten von Windows auf Amazon (EC2Config, EC2 Launch v1 und EC2 Launch v2) benötigen die serielle Konsole, um verschiedene Aufgaben auszuführen. Diese Aufgaben werden nicht erfolgreich ausgeführt, wenn Sie SAC für eine Instance aktivieren. Weitere Informationen zu Windows on Amazon EC2 Launch Agents finden Sie unterKonfigurieren Sie Ihre Amazon EC2 Windows-Instance. Wenn Sie SAC aktivieren, können Sie es später deaktivieren. Weitere Informationen finden Sie unter Deaktivieren von SAC und vom Boot-Menü.

Verwenden Sie eine der folgenden Methoden, um SAC und das Bootmenü einer Instance zu aktivieren.

PowerShell
Aktivieren von SAC und dem Boot-Menü auf einer Windows-Instance
  1. Connect zu Ihrer Instance her und führen Sie die folgenden Schritte von einer PowerShell Befehlszeile mit erhöhten Rechten aus.

  2. Aktivieren Sie SAC.

    bcdedit /ems '{current}' on bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
  3. Aktivieren Sie das Boot-Menü.

    bcdedit /set '{bootmgr}' displaybootmenu yes bcdedit /set '{bootmgr}' timeout 15 bcdedit /set '{bootmgr}' bootems yes
  4. Wenden Sie die aktualisierte Konfiguration an, indem Sie die Instance neu starten.

    shutdown -r -t 0
Command prompt
Aktivieren von SAC und dem Boot-Menü auf einer Windows-Instance
  1. Stellen Sie eine Verbindung mit Ihrer Instance her und führen Sie die folgenden Schritte an der Eingabeaufforderung aus.

  2. Aktivieren Sie SAC.

    bcdedit /ems {current} on bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
  3. Aktivieren Sie das Boot-Menü.

    bcdedit /set {bootmgr} displaybootmenu yes bcdedit /set {bootmgr} timeout 15 bcdedit /set {bootmgr} bootems yes
  4. Wenden Sie die aktualisierte Konfiguration an, indem Sie die Instance neu starten.

    shutdown -r -t 0