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 Agent 3.0.854.0 版或更新版本。如需 SSM Agent 的相關資訊,請參閱 AWS Systems Manager 使用者指南中的使用 SSM Agent

設定所選的疑難排解工具

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

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

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

Amazon Linux 2
在 Amazon Linux 2 執行個體上設定 GRUB
  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 命令。

為目前的開機週期啟用 all SysRq 命令
  1. 連線到您的執行個體

  2. 執行下列命令。

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

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

為後續開機啟用 all 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 主控台運作。Windows on Amazon EC2 啟動代理程式 (EC2Config、EC2Launch v1 和 EC2Launch v2) 依賴序列主控台來執行各種任務。當您在執行個體上啟用 SAC 時,這些任務無法成功執行。如需 Windows on Amazon EC2 啟動代理程式的詳細資訊,請參閱 設定您的EC2視 Amazon 執行個體。如果您啟用 SAC,稍後可以停用它。如需詳細資訊,請參閱停用 SAC 和開機選單

使用下列其中一種方法來啟用執行個體上的 SAC 和開機選單。

PowerShell
在 Windows 執行個體上啟用 SAC 和開機選單
  1. 連線至您的執行個體,並從 elevated 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