本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-TroubleshootSSH
Description
AWSSupport-TroubleshootSSH
Runbook 安裝適用於 Linux 的 Amazon EC2Rescue 工具,然後使用 EC2Rescue 工具來檢查或嘗試修正常見問題,以防止透過 SSH 遠端連線至 Linux 機器。或者,如果使用者明確允許離線修復,則可藉由停用和啟動執行個體以離線套用變更。根據預設,執行手冊會以唯讀模式運作。
如需有關使用 AWSSupport-TroubleshootSSH
Runbook 的資訊,請參閱 AWS Premium Support 中的此AWSSupport-TroubleshootSSH
故障診斷主題
文件類型
自動化
擁有者
Amazon
平台
Linux
參數
-
動作
類型:字串
有效值:CheckAll | FixAll
預設:CheckAll
描述:(必要) 指定是否檢查問題而不修正,或是檢查並自動修正任何發現的問題。
-
AllowOffline
類型:字串
有效值:true | false
預設:false
描述:(選用) Fix only - 若您想在線上疑難排解失敗或所提供的執行個體非受管執行個體時允許離線 SSH 修復,請將其設定為 true。備註:對於離線修復,SSM 自動化會停止執行個體,並在嘗試任何操作前建立 AMI。
-
AutomationAssumeRole
類型:字串
描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
-
InstanceId
類型:字串
描述:(必要) Linux 之 EC2 執行個體的 ID。
-
S3BucketName
類型:字串
描述:(選用) 僅限離線 - 您想要上傳疑難排解日誌之帳戶中的 S3 儲存貯體名稱。請確認儲存貯體政策不會授予不必要的讀取/寫入許可給不需要存取所收集日誌的單位。
-
SubnetId
類型:字串
預設:SelectedInstanceSubnet
描述:(選用) 僅限離線 - 用於執行離線疑難排解的 EC2Rescue 執行個體之子網路 ID。如果未指定子網路 ID, AWS Systems Manager Automation 將建立新的 VPC。
重要
子網路必須與 InstanceId 位於相同的可用區域,且必須允許存取 SSM 端點。
必要的 IAM 許可
AutomationAssumeRole
參數需要下列動作才能成功使用 Runbook。
建議接收命令的 EC2 執行個體具備連接 AmazonSSMManagedInstanceCore Amazon 受管政策的 IAM 角色。對於線上修復,使用者必須至少有 ssm:DescribeInstanceInformation、ssm:StartAutomationExecution 和 ssm:SendCommand,才能執行自動化並將命令傳送至執行個體,加上 ssm:GetAutomationExecution,才能讀取自動化輸出。對於離線修補,使用者必須至少有 ssm:DescribeInstanceInformation、ssm:StartAutomationExecution、ec2:DescribeInstances 加上 ssm:GetAutomationExecution,才能讀取自動化輸出。 AWSSupport-TroubleshootSSH
呼叫 AWSSupport-ExecuteEC2Rescue
以執行離線修補 - 請檢閱 的許可AWSSupport-ExecuteEC2Rescue
,以確保您可以成功執行自動化。
文件步驟
-
aws:assertAwsResourceProperty
- 檢查執行個體是否為受管執行個體-
(線上修復) 如果執行個體是受管執行個體,則:
-
aws:configurePackage
- 透過 安裝適用於 Linux 的 EC2RescueAWS-ConfigureAWSPackage
。 -
aws:runCommand
- 執行 bash 指令碼以執行適用於 Linux 的 EC2Rescue。
-
-
(離線修復) 如果執行個體不是受管執行個體,則:
-
aws:assertAwsResourceProperty
- 宣告 AllowOffline = true -
aws:assertAwsResourceProperty
- 宣告動作 = FixAll -
aws:assertAwsResourceProperty
- 宣告 SubnetId 的值 -
(使用提供的執行個體子網路) 如果 SubnetId 是 SelectedInstanceSubnet,
aws:executeAutomation
我們會AWSSupport-ExecuteEC2Rescue
使用提供的執行個體子網路執行 。 -
(使用提供的自訂子網路) 如果 SubnetId 不是 SelectedInstanceSubnet,則使用
AWSSupport-ExecuteEC2Rescue
aws:executeAutomation
搭配提供的 SubnetId 值執行。
-
-
輸出
troubleshootSSH.Output
troubleshootSSHOffline.Output
troubleshootSSHOfflineWithSubnetId.Output