AWSSupport-TroubleshootSSH - AWS Systems Manager 自動化 Runbook 參考

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

AWSSupport-TroubleshootSSH

Description (描述)

AWSSupport-TroubleshootSSH執行手冊會安裝適用於 Linux 的亞馬遜 EC2Rescue 工具,然後使用 EC2Rescue 工具檢查或嘗試修正阻止透過 SSH 遠端連線至 Linux 機器的常見問題。或者,如果使用者明確允許離線修復,則可藉由停用和啟動執行個體以離線套用變更。依預設,Runbook 會以唯讀模式運作。

運行此自動化(控制台)

如需使用 AWSSupport-TroubleshootSSH runbook 的相關資訊,請參閱進AWS階支援中的這個AWSSupport-TroubleshootSSH疑難排解主題

文件類型

 自動化

擁有者

Amazon

平台

Linux

參數

  • 動作

    類型:字串

    有效值:CheckAll| FixAll

    預設值:CheckAll

    描述:(必要) 指定是否檢查問題而不修正,或是檢查並自動修正任何發現的問題。

  • AllowOffline

    類型:字串

    有效值:true | false

    預設:false

    描述:(選用) Fix only - 若您想在線上疑難排解失敗或所提供的執行個體非受管執行個體時允許離線 SSH 修復,請將其設定為 true。備註:對於離線修復,SSM 自動化會停止執行個體,並在嘗試任何操作前建立 AMI。

  • AutomationAssumeRole

    類型:字串

    說明:(選用) 允許系統管理員自動化代表您執行動作的 AWS Identity and Access Management (IAM) 角色的 Amazon 資源名稱 (ARN)。如果未指定任何角色,系統管理員自動化會使用啟動此 runbook 的使用者的權限。

  • InstanceId

    類型:字串

    描述:(必要) Linux 之 EC2 執行個體的 ID。

  • S3 BucketName

    類型:字串

    描述:(選用) 僅限離線 - 您想要上傳疑難排解日誌之帳戶中的 S3 儲存貯體名稱。請確認儲存貯體政策不會授予不必要的讀取/寫入許可給不需要存取所收集日誌的單位。

  • SubnetId

    類型:字串

    預設值:SelectedInstanceSubnet

    描述:(選用) 僅限離線 - 用於執行離線疑難排解的 EC2Rescue 執行個體之子網路 ID。如果未指定子網路 ID,AWS Systems Manager 自動化會建立新的 VPC。

    重要

    子網路必須與位於相同的可用區域InstanceId,而且必須允許 SSM 端點的存取。

必要的 IAM 許可

AutomationAssumeRole參數需要執行下列動作,才能成功使用 Runbook。

建議接收命令的 EC2 執行個體具有 IAM 角色,並附加了ManagedInstanceCore亞馬遜亞馬遜受管政策。對於線上修復,使用者必須具有至少 ssm: DescribeInstanceInformationssm: StartAutomationExecution 和 ssm:,才能執行自動化並將命令傳送SendCommand至執行個體,再加上 ssm:,GetAutomationExecution才能讀取自動化輸出。對於離線補救,使用者必須具有至少 ssm: DescribeInstanceInformationssm: StartAutomationExecutionec2: 以及 ssm: DescribeInstances,GetAutomationExecution才能讀取自動化輸出。 AWSSupport-TroubleshootSSHAWSSupport-ExecuteEC2Rescue行離線修復的呼叫-請檢閱的權限,以確AWSSupport-ExecuteEC2Rescue保您可以成功執行自動化操作。

文件步驟

  1. aws:assertAwsResourceProperty-檢查執行個體是否為代管執行個體

    1. (線上修復) 如果執行個體是受管執行個體,則:

      1. aws:configurePackage-通過安裝 EC2 救援 AWS-ConfigureAWSPackage

      2. aws:runCommand-執行 bash 指令碼以執行適用於 Linux 的 EC2Rescue。

    2. (離線修復) 如果執行個體不是受管執行個體,則:

      1. aws:assertAwsResourceProperty-斷言 AllowOffline= 真

      2. aws:assertAwsResourceProperty-斷言動作 = FixAll

      3. aws:assertAwsResourceProperty-斷言的值 SubnetId

      4. (使用提供的實例的子網)如果SubnetId是SelectedInstanceSubnet我們使aws:executeAutomation用提供AWSSupport-ExecuteEC2Rescue的實例的子網運行。

      5. (使用提供的自定義子網)如果SubnetId不SelectedInstanceSubnet使aws:executeAutomation用提供AWSSupport-ExecuteEC2Rescue的SubnetId值運行。

輸出

troubleshootSSH.Output

troubleshootSSHOffline.Output

疑難排解。輸出 OfflineWithSubnetId