View a markdown version of this page

AWSSupport-EnableWindowsEC2SerialConsole - AWS Systems Manager 自动化运行手册参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWSSupport-EnableWindowsEC2SerialConsole

描述

该运行手册AWSSupport-EnableWindowsEC2SerialConsole可帮助您在亚马逊 EC2 Windows 实例上启用亚马逊 EC2 串行控制台、特殊管理控制台 (SAC) 和启动菜单。借助亚马逊弹性计算云 (Amazon EC2) 串行控制台功能,您可以访问亚马逊 EC2 实例的串行端口,对启动、网络配置和其他问题进行故障排除。该运行手册自动执行在处于运行状态并由 AWS Systems Manager其管理的实例以及处于停止状态或不受管理的实例上启用该功能所需的步骤。 AWS Systems Manager

如何工作?

AWSSupport-EnableWindowsEC2SerialConsole自动化运行手册有助于在运行微软 Windows 服务器的亚马逊 EC2 实例上启用 SAC 和启动菜单。对于处于运行状态并由管理的实例 AWS Systems Manager,运行手册 AWS Systems Manager 运行运行命令 PowerShell 脚本以启用 SAC 和启动菜单。对于处于停止状态或不由管理的实例 AWS Systems Manager,运行手册使用创建AWSSupport-StartEC2RescueWorkflow临时 Amazon EC2 实例以离线执行所需的更改。

有关更多信息,请参阅适用于 Windows 实例的亚马逊 EC2 串行控制台。

重要

有关更多信息,请参阅 Amazon EC2 串行控制台先决条件。

文档类型

自动化

所有者

Amazon

平台

Windows

参数

所需的 IAM 权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

JSON
{ "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:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE", "arn:aws:ec2:us-east-1:111122223333:volume/vol-049df61146EXAMPLE", "arn:aws:iam::111122223333:instance-profile/instance-profile-name", "arn:aws:ssm:us-east-1:111122223333:parameter/aws/service/*", "arn:aws:ssm:us-east-1:*:document/AWSSupport-StartEC2RescueWorkflow", "arn:aws:ssm:us-east-1:*:document/AWS-ConfigureAWSPackage", "arn:aws:ssm:us-east-1:*:document/AWS-RunPowerShellScript", "arn:aws:ssm:us-east-1:111122223333:automation-execution/*" ] }, { "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": { "StringEquals": { "iam:PassedToService": [ "ssm.amazonaws.com", "ec2.amazonaws.com" ] } } } ] }

说明

按照这些步骤对自动化进行配置:

  1. 在 AWS Systems Manager 控制台AWSSupport-EnableWindowsEC2SerialConsole中导航到。

  2. 选择 Execute automation(执行自动化)。

  3. 对于输入参数,请输入以下内容:

    • InstanceId:(必填)

      您想要启用亚马逊 EC2 串行控制台 (SAC) 和启动菜单的 Amazon EC2 实例的 ID。

    • AutomationAssumeRole:(可选)

      允许系统管理员自动化代表您执行操作的 IAM 角色的亚马逊资源名称 (ARN)。如果未指定任何角色,系统管理员自动化将使用启动本运行手册的用户的权限。

    • HelperInstanceType:(有条件的)

      运行手册规定的用于为离线实例配置 Amazon EC2 串行控制台的 Amazon EC2 实例的类型。

    • HelperInstanceProfileName:(有条件的)

      辅助实例的现有 IAM 实例配置文件的名称。如果您在处于停止状态或未由其管理的实例上启用 SAC 和启动菜单 AWS Systems Manager,则这是必需的。如果未指定 IAM 实例配置文件,则自动化会代表您创建一个。

    • SubnetId:(有条件的)

      辅助实例的子网 ID。默认情况下,它使用提供的实例所在的相同子网。

      重要

      如果您提供自定义子网,则它必须位于相同的可用区内 InstanceId,并且必须允许访问 Systems Manager 端点。仅当目标实例处于停止状态或不由管理时,才需要这样做 AWS Systems Manager。

    • CreateInstanceBackupBeforeScriptExecution:(可选)

      在启用 SAC 和启动菜单之前,指定 True 以创建亚马逊 EC2 实例的亚马逊系统映像 (AMI) 备份。Automation 完成后,AMI 仍将存在。您有责任保护对 AMI 的访问权限或将其删除。

    • BackupAmazonMachineImagePrefix:(有条件的)

      如果将CreateInstanceBackupBeforeScriptExecution参数设置为,则创建的亚马逊系统映像 (AMI) 的前缀True

  4. 选择执行。

  5. 自动化启动。

  6. 文档将执行以下步骤:

    • CheckIfEc2SerialConsoleAccessEnabled:

      检查账户级别是否启用了 Amazon EC2 串行控制台访问权限。注意:默认情况下,无法访问串行控制台。有关更多信息,请参阅配置对 Amazon EC2 串行控制台的访问权限。

    • CheckIfEc2InstanceIsWindows:

      断言目标实例平台是否为 Windows。

    • GetInstanceType:

      检索目标实例的实例类型。

    • CheckIfInstanceTypeIsNitro:

      检查实例类型虚拟机管理程序是否为。 Nitro-based仅在 Nitro 系统上构建的虚拟化实例支持串行控制台访问。

    • CheckIfInstanceIsInAutoScalingGroup:

      通过调用 DescribeAutoScalingInstances API 来检查亚马逊 EC2 实例是否属于亚马逊 EC2 Auto Scaling 组。如果该实例是 Amazon EC2 Auto Scaling 组的一部分,它将确保.NET 实例的移植助手处于待机生命周期状态。

    • WaitForEc2InstanceStateStablized:

      等待实例处于运行或停止状态。

    • GetEc2InstanceState:

      获取实例的当前状态。

    • BranchOnEc2InstanceState:

      基于上一步中检索到的实例状态进行分支。如果该实例状态正在运行,则进入该CheckIfEc2InstanceIsManagedBySSM步骤,如果没有,则进入该CheckIfHelperInstanceProfileIsProvided步骤。

    • CheckIfEc2InstanceIsManagedBySSM:

      检查该实例是否由管理 AWS Systems Manager。如果受到管理,则运行手册使用 PowerShell 运行命令启用 SAC 和启动菜单。

    • BranchOnPreEC2RescueBackup:

      基于CreateInstanceBackupBeforeScriptExecution输入参数的分支。

    • CreateAmazonMachineImageBackup:

      创建实例的 AMI 备份。

    • EnableSACAndBootMenu:

      通过 PowerShell 运行命令脚本启用 SAC 和启动菜单。

    • RebootInstance:

      重新启动 Amazon EC2 实例以应用配置。如果实例处于联机状态并由其管理,则这是最后一步 AWS Systems Manager。

    • CheckIfHelperInstanceProfileIsProvided:

      在使用临时 Amazon EC2 实例离线启用 SAC 和启动菜单之前,检查HelperInstanceProfileName指定的是否存在。

    • RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu:

      当实例处于停止状态或不由其管理时,运行启用 SAC 和启动菜单 AWS Systems Manager。AWSSupport-StartEC2RescueWorkflow

    • GetExecutionDetails:

      检索备份和离线脚本输出的映像 ID。

  7. 完成后,查看 “输出” 部分,了解详细的执行结果:

    • EnableSACAndBootMenu.Output:

      EnableSACAndBootMenu步骤中命令执行的输出。

    • GetExecutionDetails.OfflineScriptOutput:

      RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu步骤中执行的离线脚本的输出。

    • GetExecutionDetails.BackupBeforeScriptExecution:

      如果CreateInstanceBackupBeforeScriptExecution输入参数为 True,则拍摄的 AMI 备份的映像 ID。

参考

Systems Manager Automation