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

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

AWSSupport-TroubleshootEC2InstanceConnect

Description

AWSSupport-TroubleshootEC2InstanceConnect自動化有助於分析和偵測錯誤,防止使用 Amazon 執行個體 Connect 到 Amazon 彈性運算雲端 (AmazonEC2) 執行個EC2體的連線。它可識別不受支援的 Amazon Machine Image (AMI)、遺失作業系統層級套件安裝或組態、遺失 AWS Identity and Access Management (IAM) 許可或網路組態問題所造成的問題。

它是如何工作的?

執行手冊採用 Amazon EC2 執行個體 ID、使用者名稱、連線模式、來源 IP CIDR、Connect SSH 埠和 Amazon 資源名稱 (ARN),以供IAM角色或使用者使用 Amazon EC2 執行個體連接時遇到問題。然後,它會檢查使用 Amazon 執行個體 Connect 至 Amazon EC2 執行個EC2體的先決條件

  • 執行個體正在執行且處於健康狀態良好的狀態。

  • 執行個體位於 Amazon 執行個EC2體 Connect 支援的 AWS 區域中。

  • AMI的執行個體是由 Amazon 執EC2行個體 Connect 支援。

  • 執行個體可連線至執行個體中繼資料服務 (IMDSv2)。

  • Amazon EC2 執行個體 Connect 套件已在作業系統層級正確安裝和設定。

  • 網路組態 (安全群組ACL、網路和路由表規則) 允許透過 Amazon In EC2 stance Connect 連線至執行個體。

  • 用來利用 Amazon EC2 執行個體 Connect 的IAM角色或使用者可以存取 Amazon EC2 執行個體的推送金鑰。

重要
  • 若要檢查執行個體AMI、可 Connect IMDSv2 性和 Amazon EC2 執行個體連接套件安裝,必須SSM管理執行個體。否則,它會跳過這些步驟。如需詳細資訊,請參閱為什麼我的 Amazon EC2 執行個體不顯示為受管節點。

  • 僅當提供為輸入參數時,網路檢查才會偵測安全群組和網路ACL規則 SourceIpCIDR是否封鎖流量。否則,它只會顯示SSH相關規則。

  • 使用 Amazon EC2 執行個體連線端點的連線不會在此執行手冊中進行驗證。

  • 對於私人連線,自動化操作不會檢查SSH用戶端是否已安裝在來源機器上,以及是否可以連線到執行個體的私有 IP 位址。

文件類型

 自動化

擁有者

Amazon

平台

Linux

參數

必要的IAM權限

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

  • ec2:DescribeInstances

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkAcls

  • ec2:DescribeRouteTables

  • ec2:DescribeInternetGateways

  • iam:SimulatePrincipalPolicy

  • ssm:DescribeInstanceInformation

  • ssm:ListCommands

  • ssm:ListCommandInvocations

  • ssm:SendCommand

指示

請依照下列步驟設定自動化操作:

  1. 導覽至主 AWS Systems Manager 控台AWSSupport-TroubleshootEC2InstanceConnect中的。

  2. 選擇 Execute automation (執行自動化)。

  3. 對於輸入參數,請輸入以下內容:

    • InstanceId (必填):

      您無法使用 Amazon EC2 執行個體 Connect 到的目標 Amazon EC2 執行個體識別碼。

    • AutomationAssumeRole (選擇性):

      可讓 Systems Manager 自動化代表您執行動作的IAM角色。ARN如果未指定任何角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

    • 使用者名稱 (必填):

      用於使用 Amazon 執行個體 Connect 到 Amazon EC2 執行個體的使用者名稱。EC2它是用來評估,如果IAM訪問被授予這個特定的用戶。

    • EC2InstanceConnectRoleOrUser(必填):

      利用 Amazon EC2 執行個體 Connect 將金鑰推送至執行個體ARN的IAM角色或使用者。

    • SSHPort(選擇性):

      在 Amazon EC2 執行個體上設定的SSH連接埠。預設值為 22。連接埠號碼必須介於兩者之間1-65535

    • SourceNetworkType (選擇性):

      Amazon EC2 執行個體的網路存取方法:

      • 瀏覽器:您可以從 AWS 管理主控台連線。

      • 公用:您可以透過網際網路 (例如,您的本機電腦) 連線至公用子網路中的執行個體。

      • 私人:您可以透過執行個體的私有 IP 位址進行連線。

    • SourceIpCIDR(選擇性):

      包CIDR含您將使用 Amazon EC2 執行個體 Connect 登入的裝置 (例如您的本機電腦) IP 位址的來源。範例:二零一七年三十一月三十八日 如果沒有提供公有或私有存取模式的值,runbook 將不會評估 Amazon EC2 執行個體安全群組和網路ACL規則是否允許SSH流量。它將顯示SSH相關的規則。

    Input parameters form for EC2 Instance Connect troubleshooting with various fields.
  4. 選取執行。

  5. 自動化啟動。

  6. 文件會執行下列步驟:

    • AssertInitialState:

      確保 Amazon EC2 執行個體狀態正在執行。否則,自動化結束。

    • GetInstanceProperties:

      取得目前 Amazon EC2 執行個體屬性 (PlatformDetails PublicIpAddress VpcId、、 SubnetId 和 MetadataHttpEndpoint)。

    • GatherInstanceInformationFromSSM:

      如果執行個體SSM受管 Systems Manager,則會取得系統管理員執行個體的 ping 狀態和作業系統詳細資訊。

    • CheckIfAWSRegionSupported:

      檢查 Amazon EC2 執行個體是否位於支援 Amazon EC2 執行個體 Connect 的 AWS 區域中。

    • BranchOnIfAWSRegionSupported:

      如果 Amazon 執行EC2個體 Connect 支援該 AWS 區域,則繼續執行。否則,它會建立輸出並結束自動化。

    • CheckIfInstanceAMIIsSupported:

      檢查 Amazon 執行個體 Connect 是否支援與執行EC2個體AMI相關聯的項目。

    • BranchOnIfInstanceAMIIsSupported:

      如果執行個AMI體受支援,它會執行作業系統層級檢查,例如中繼資料可達性和 Amazon EC2 執行個體 Connect 套件安裝和設定。否則,它會檢查HTTP中繼資料是否使用啟用 AWS API,然後進入網路檢查步驟。

    • C heckIMDSReachabilityFromOs:

      在目標 Amazon EC2 Linux 實例上運行一個 Bash 腳本,以檢查它是否能夠到達IMDSv2.

    • C heckEICPackage 安裝方式:

      在目標 Amazon EC2 Linux 執行個體上執行 Bash 指令碼,以檢查 Amazon EC2 執行個體 Connect 套件是否已正確安裝和設定。

    • C heckSSHConfigFromOs:

      在目標 Amazon EC2 Linux 執行個體上執行 Bash 指令碼,以檢查設定的SSH連接埠是否符合輸入參數 `SSHPort。 `

    • CheckMetadataHTTPEndpointIsEnabled:

      檢查執行個體中繼資料服務HTTP端點是否已啟用。

    • C heckEICNetwork 存取權限:

      檢查網路組態 (安全群組ACL、網路和路由表規則) 是否允許透過 Amazon In EC2 stance Connect 連線至執行個體。

    • C heckIAMRoleOrUserPermissions:

      檢查用於利用 Amazon EC2 執行個體 Connect 的IAM角色或使用者是否可以使用提供的使用者名稱將金鑰推送至 Amazon EC2 執行個體。

    • MakeFinalOutput:

      合併所有先前步驟的輸出。

  7. 完成後,請查看「輸出」部分以獲取執行的詳細結果:

    目標執行處理具有所有必要先決條件的執行:

    EC2 Instance Connect prerequisites check results showing successful validations for various configurations.

    不支援目標執行個體AMI的執行:

    Error message indicating EC2 Instance Connect does not support the specified AMI version.

參考

Systems Manager Automation

AWS 服務文件