EC2序列主控台的先決條件 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

EC2序列主控台的先決條件

AWS 區域

全部支持 AWS 區域。

Wavelength 區和 AWS Outposts

不支援。

本機區域

所有本地區域皆支援。

執行個體類型

支援的執行個體類型:

  • Linux

    • 在 Nitro 系統上建置的所有虛擬化執行個體。

    • 所有裸機執行個體,除了:

      • 一般用途:a1.metalmac1.metalmac2.metal

      • 加速運算:g5g.metal

      • 記憶體最佳化:u-6tb1.metalu-9tb1.metalu-12tb1.metalu-18tb1.metalu-24tb1.metal

  • Windows

    在 Nitro 系統上建置的所有虛擬化執行個體。在裸機執行個體上不受支援。

授與存取權

您必須完成組態工作,才能授與EC2序列主控台的存取權。如需詳細資訊,請參閱設定EC2序列主控台的存取權

支援瀏覽器型用戶端

若要使用以瀏覽器為基礎的用戶端連線到序列主控台,您的瀏覽器必須支援 WebSocket。如果您的瀏覽器不支援 WebSocket,請使用您自己的金鑰和用戶SSH端連線到序列主控台。

執行個體狀態

必須為 running

若執行個體處於 pendingstoppingstoppedshutting-down,或 terminated 狀態,將無法連線到序列主控台。

如需執行個體狀態的詳細資訊,請參閱 Amazon EC2 實例狀態更改

Amazon EC2 Systems Manager

如果執行個體使用 Amazon EC2 Systems Manager,則必須在執行個體上安裝SSM代理程式版本 3.0.854.0 或更新版本。如需有關SSM代理程式的資訊,請參閱使用指南中的AWS Systems Manager 使用SSM代理程式

設定所選的疑難排解工具

若要透過序列主控台疑難排解執行個體,您可以 SysRq 在 Linux 執行個體上使用GRUB或,並在 Windows 執行個體上使用特殊管理主控台 (SAC)。在使用這些工具之前,您必須先對要使用工具所在的每個執行個體執行設定步驟。

使用執行個體作業系統的指示,設定您選擇的疑難排解工具。

若要設定GRUB,請根據用來啟動執行個體的程序AMI,選擇下列其中一個程序。

Amazon Linux 2
若要GRUB在 Amazon Linux 2 執行個體上進行設定
  1. 使用 Connect 到您的 Linux 執行個體 SSH

  2. /etc/default/grub 中新增或變更下列選項:

    • 設定 GRUB_TIMEOUT=1

    • 新增 GRUB_TERMINAL="console serial"

    • 新增 GRUB_SERIAL_COMMAND="serial --speed=115200"

    以下是 /etc/default/grub 的範例。您可能需要根據系統設定來變更組態。

    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. 執行下列命令來套用更新的組態。

    [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Ubuntu
若要在 Ubuntu 執GRUB行個體上設定
  1. 連線到您的執行個體

  2. /etc/default/grub.d/50-cloudimg-settings.cfg 中新增或變更下列選項:

    • 設定 GRUB_TIMEOUT=1

    • 新增 GRUB_TIMEOUT_STYLE=menu

    • 新增 GRUB_TERMINAL="console serial"

    • 移除 GRUB_HIDDEN_TIMEOUT

    • 新增 GRUB_SERIAL_COMMAND="serial --speed=115200"

    以下是 /etc/default/grub.d/50-cloudimg-settings.cfg 的範例。您可能需要根據系統設定來變更組態。

    # 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. 執行下列命令來套用更新的組態。

    [ec2-user ~]$ sudo update-grub
RHEL
若要設定執GRUB行個RHEL體
  1. 連線到您的執行個體

  2. /etc/default/grub 中新增或變更下列選項:

    • 移除 GRUB_TERMINAL_OUTPUT

    • 新增 GRUB_TERMINAL="console serial"

    • 新增 GRUB_SERIAL_COMMAND="serial --speed=115200"

    以下是 /etc/default/grub 的範例。您可能需要根據系統設定來變更組態。

    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. 執行下列命令來套用更新的組態。

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

對於使用 CentOS 啟動的執行個體AMI,GRUB預設會為序列主控台設定。

以下是 /etc/default/grub 的範例。您的組態可能會視您的系統設定而有所不同。

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"

若要設定 SysRq,請啟用目前開機週期的 SysRq 指令。若要使組態持續存在,您也可以為後續開機啟用這些 SysRq 指令。

啟用目前開機週期的所有 SysRq 指令
  1. 連線到您的執行個體

  2. 執行下列命令。

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

    此設定會在下次重新開機時清除。

為後續啟動啟用所有 SysRq 指令的步驟
  1. 建立文件 /etc/sysctl.d/99-sysrq.conf 並在您最喜歡的編輯器中開啟。

    [ec2-user ~]$ sudo vi /etc/sysctl.d/99-sysrq.conf
  2. 新增以下這一行。

    kernel.sysrq=1
  3. 重新啟動執行個體以套用變更。

    [ec2-user ~]$ sudo reboot
  4. 出現login提示時,輸入您先前設定之密碼型使用者的使用者名稱,然後按 Enter。

  5. 出現 Password 提示時,輸入密碼,然後按 Enter

注意

如果您在執行個體SAC上啟用,依賴密碼擷取的EC2服務將無法從 Amazon EC2 主控台運作。Amazon 上的 Windows EC2 啟動代理程式 (EC2Config、EC2Launch v1 和 EC2Launch v2) 依賴序列主控台來執行各種任務。當您在執行個體SAC上啟用時,這些工作無法順利執行。如需有關 Amazon EC2 啟動代理程式上 Windows 的詳細資訊,請參閱設定您的EC2視 Amazon 執行個體。如果啟用SAC,您可以稍後將其停用。如需詳細資訊,請參閱禁用SAC和啟動菜單

使用下列其中一種方法在執行個體上啟用SAC和開機功能表。

PowerShell
在 Windows 實例上啟用SAC和啟動菜單
  1. Connect 線至執行個體,並從提高權限的 PowerShell 命令列執行下列步驟。

  2. 啟用SAC。

    bcdedit /ems '{current}' on bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
  3. 啟用開機功能表。

    bcdedit /set '{bootmgr}' displaybootmenu yes bcdedit /set '{bootmgr}' timeout 15 bcdedit /set '{bootmgr}' bootems yes
  4. 透過重新啟動執行個體來套用更新的組態。

    shutdown -r -t 0
Command prompt
在 Windows 實例上啟用SAC和啟動菜單
  1. 連接到您的執行個體,並從命令提示字元執行下列步驟。

  2. 啟用SAC。

    bcdedit /ems {current} on bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
  3. 啟用開機功能表。

    bcdedit /set {bootmgr} displaybootmenu yes bcdedit /set {bootmgr} timeout 15 bcdedit /set {bootmgr} bootems yes
  4. 透過重新啟動執行個體來套用更新的組態。

    shutdown -r -t 0