AWSSupport-EnableWindowsEC2SerialConsole - AWS Systems Manager 自動化手冊參考

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

AWSSupport-EnableWindowsEC2SerialConsole

Description

手冊可AWSSupport-EnableWindowsEC2SerialConsole協助您在 Amazon EC2 Windows 執行個體上啟用亞馬遜 EC2 序列主控台、特殊管理主控台 (SAC) 和開機功能表。使用 Amazon Elastic Compute Cloud (Amazon EC2) 序列主控台功能,您可以存取 Amazon EC2 執行個體的序列埠,以便對開機、網路組態和其他問題進行疑難排解。runbook 會自動執行個體在執行中狀態和管理的執行個體上啟用此功能所需的步驟 AWS Systems Manager,以及處於停止狀態或未受管理的執行個體。 AWS Systems Manager

它是如何工作的?

AWSSupport-EnableWindowsEC2SerialConsole自動化手冊有助於在運行 Microsoft Windows 服務器的 Amazon EC2 實例上啟用 SAC 和啟動菜單。對於處於執行中狀態且由管理的執行個體 AWS Systems Manager,runbook 會執行「 AWS Systems Manager 執行命令」指 PowerShell 令碼,以啟用 SAC 和開機功能表。對於處於停止狀態或未受管理的執行個體 AWS Systems Manager,執行手冊會使用 AWSSupport-StarteC2 RescueWorkflow 建立暫時性的 Amazon EC2 執行個體,以離線執行所需的變更。

如需詳細資訊,請參閱適用於 Windows 執行個體的 Amazon EC2 序列

重要
  • 如果您在執行個體上啟用 SAC,依賴密碼擷取的 Amazon EC2 服務將無法從 Amazon EC2 主控台運作。如需詳細資訊,請參閱使用 SAC 疑難排解您的 Windows 執行個體

  • 若要設定序列主控台的存取權,您必須在帳戶層級授予序列主控台存取權,然後設定 AWS Identity and Access Management (IAM) 政策以授予使用者存取權。您還必須在每個執行個體上設定以密碼為基礎的使用者,以便使用者可以使用序列主控台進行疑難排解。如需詳細資訊,請參閱設定對 Amazon EC2 序列主控台的存取權。

  • 若要查看您的帳戶是否已啟用序列主控台,請參閱檢視序列主控台的帳戶存取狀態。

  • 只有在 Nitro 系統上建置的虛擬化執行個體上才支援序列主控台存取。

如需詳細資訊,請參閱 Amazon EC2 序列主控台先決條件。

文件類型

 自動化

擁有者

Amazon

平台

Windows

參數

必要的 IAM 許可

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingInstances", "ec2:GetSerialConsoleAccessStatus", "ec2:Describe*", "ec2:createTags", "ec2:createImage", "ssm:DescribeAutomationExecutions", "ssm:DescribeInstanceInformation", "ssm:GetAutomationExecution", "ssm:ListCommandInvocations", "ssm:ListCommands" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume", "ec2:ModifyInstanceAttribute", "ec2:RebootInstances", "ec2:StartInstances", "ec2:StopInstances", "iam:GetInstanceProfile", "ssm:GetParameters", "ssm:SendCommand", "ssm:StartAutomationExecution" ], "Resource": [ "arn:${Partition}:ec2:${Region}:${AccountId}:instance/${InstanceId}", "arn:${Partition}:ec2:${Region}:${AccountId}:volume/${VolumeId}", "arn:${Partition}:iam::${AccountId}:instance-profile/${InstanceProfileName}", "arn:${Partition}:ssm:${Region}::parameter/aws/service/*", "arn:${Partition}:ssm:${Region}::automation-definition/AWSSupport-StartEC2RescueWorkflow:*", "arn:${Partition}:ssm:${Region}::document/AWS-ConfigureAWSPackage", "arn:${Partition}:ssm:${Region}::document/AWS-RunPowerShellScript" ] }, { "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/Name": "AWSSupport-EC2Rescue: *" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "AWSSupport-EC2Rescue-AutomationExecution", "Name" ] } } }, { "Effect": "Allow", "Action": [ "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStacks", "ec2:AttachVolume", "ec2:DetachVolume", "ec2:RebootInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ssm:SendCommand" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/Name": "AWSSupport-EC2Rescue: *" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateLaunchTemplate", "ec2:DeleteLaunchTemplate", "ec2:RunInstances" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "cloudformation.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "iam:PassedToService": [ "ssm.amazonaws.com", "ec2.amazonaws.com" ] } } } ] }

指示

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

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

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

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

    • InstanceId: (必填)

      您要啟用 Amazon EC2 序列主控台 (SAC) 和開機功能表的 Amazon EC2 執行個體識別碼。

    • AutomationAssumeRole: (選擇性)

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

    • HelperInstanceType: (有條件)

      執行手冊佈建用於為離線執行個體設定 Amazon EC2 序列主控台的 Amazon EC2 執行個體類型。

    • HelperInstanceProfileName: (有條件)

      協助程式執行個體的現有 IAM 執行個體設定檔名稱。如果您要在處於停止狀態或未受管理的執行個體上啟用 SAC 和 boot 功能表 AWS Systems Manager,則必須執行此動作。如果未指定 IAM 執行個體設定檔,則自動化會代表您建立一個設定檔。

    • SubnetId: (有條件)

      協助程式執行個體的子網路 ID。依預設,它會使用所提供執行個體所在的相同子網路。

      重要

      如果您提供自訂子網路,則該子網路必須與其位於相同的可用區域中 InstanceId,而且必須允許存取 Systems Manager 端點。只有在目標執行處於停止狀態或不受管理時,才需要這樣做 AWS Systems Manager。

    • CreateInstanceBackupBeforeScriptExecution: (選擇性)

      指定 True 可在啟用 SAC 和開機功能表之前建立 Amazon EC2 執行個體的亞馬遜機器映像 (AMI) 備份。自動化完成之後,AMI 會持續存在。您有責任保護 AMI 的訪問或刪除它。

    • BackupAmazonMachineImagePrefix: (有條件)

      如果CreateInstanceBackupBeforeScriptExecution參數設定為,則會建立 Amazon 機器映像 (AMI) 的前置詞True

    Input parameters for configuring EC2 serial console, including instance ID and IAM role settings.
  4. 選取執行。

  5. 自動化啟動。

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

    • CheckIfEc2SerialConsoleAccessEnabled:

      檢查是否已在帳戶層級啟用 Amazon EC2 序列主控台存取。注意:依預設,無法存取序列主控台。如需詳細資訊,請參閱設定對 Amazon EC2 序列主控台的存取權。

    • CheckIfEc2InstanceIsWindows:

      宣告目標執行個體平台是否為 Windows。

    • GetInstanceType:

      擷取目標執行個體的執行個體類型。

    • CheckIfInstanceTypeIsNitro:

      檢查執行個體類型虛擬化管理程序是否以硝基為基礎。只有在 Nitro 系統上建置的虛擬化執行個體上才支援序列主控台存取。

    • CheckIfInstanceIsInAutoScaling群組:

      透過呼叫 DescribeAutoScalingInstances API 來檢查 Amazon EC2 執行個體是否屬於 Amazon EC2 Auto Scaling 群組的一部分。如果執行個體屬於 Amazon EC2 Auto Scaling 群組,則可確保 .NET 執行個體的移植助理處於待命生命週期狀態。

    • WaitForEc2InstanceStateStablized:

      等待執行處理處於執行中或已停止狀態。

    • GetEc2InstanceState:

      取得執行個體的目前狀態。

    • BranchOnEc2InstanceState:

      根據在上一個步驟中擷取的例證狀態進行分支。如果該執行個體狀態正在執行,它會移至CheckIfEc2InstanceIsManagedBySSM步驟,如果沒有,則會移至CheckIfHelperInstanceProfileIsProvided步驟。

    • CheckIfEc2 InstanceIsManagedBy 特殊傳統管理:

      檢查執行個體是否由管理 AWS Systems Manager。如果受管理,runbook 會使用 PowerShell 執行命令啟用 SAC 和開機功能表。

    • BranchOnPreEC2RescueBackup:

      根據CreateInstanceBackupBeforeScriptExecution輸入參數進行分支。

    • CreateAmazonMachineImageBackup:

      建立執行個體的 AMI 備份。

    • 啟用交流:AndBootMenu

      透過執行「 PowerShell 執行命令」指令碼啟用 SAC 和開機功能表。

    • RebootInstance:

      重新啟動 Amazon EC2 執行個體以套用組態。如果執行個體在線且由管理,則這是最後一個步驟 AWS Systems Manager。

    • CheckIfHelperInstanceProfileIsProvided:

      在使用臨時 Amazon EC2 執行個體離線啟用 SAC 和開機功能表之前,檢查HelperInstanceProfileName指定項目是否存在。

    • RunAutomationToInjectOfflineScriptFor功能包括AndBootMenu:

      執行個體處於停止狀態或未受管理時,執行AWSSupport-StartEC2RescueWorkflow以啟用 SAC 和開機功能表 AWS Systems Manager。

    • GetExecutionDetails:

      擷取備份和離線指令碼輸出的映像 ID。

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

    • 啟用輸AndBootMenu出:

      在步驟中執行命令的輸EnableSACAndBootMenu出。

    • GetExecutionDetails.OfflineScriptOutput:

      在步驟中執行的離線指令碼輸RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu出。

    • GetExecutionDetails.BackupBeforeScriptExecution:

      如果CreateInstanceBackupBeforeScriptExecution輸入參數為 True,則採用 AMI 備份的映像識別碼。

執行及管理的執行個體上的執行輸出 AWS Systems Manager

Console output showing successful operations and pending execution details.

已停止或未受管理之執行個體的執行輸出 AWS Systems Manager

Console output showing offline script execution details and successful operations.

參考

Systems Manager Automation