翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWSSupport-EnableWindowsEC2SerialConsole
説明
ランブックAWSSupport-EnableWindowsEC2SerialConsole
は、Amazon EC2 Windows インスタンスで Amazon EC2 シリアルコンソール、Special Admin Console (SAC)Amazon EC2およびブートメニューを有効にするのに役立ちます。Amazon Elastic Compute Cloud (Amazon EC2) シリアルコンソール機能を使用すると、Amazon EC2 インスタンスのシリアルポートにアクセスして、起動、ネットワーク設定、およびその他の問題をトラブルシューティングできます。ランブックは、実行中の状態で によって管理されているインスタンス AWS Systems Manager、および によって管理されていない停止状態のインスタンスでこの機能を有効にするために必要なステップを自動化します AWS Systems Manager。
動作の仕組み
AWSSupport-EnableWindowsEC2SerialConsole
オートメーションランブックは、Microsoft Windows Server を実行している Amazon EC2 インスタンスで SAC とブートメニューを有効にするのに役立ちます。実行中の状態で によって管理されているインスタンスの場合 AWS Systems Manager、ランブックは AWS Systems Manager Run Command PowerShell スクリプトを実行して SAC とブートメニューを有効にします。停止状態にあるインスタンス、または によって管理されていないインスタンスの場合 AWS Systems Manager、ランブックは AWSSupport-StartEC2RescueWorkflow を使用して一時的な Amazon EC2 インスタンスを作成し、必要な変更をオフラインで実行します。
詳細については、「Windows インスタンス用の Amazon EC2 シリアルコンソール」を参照してください。
重要
-
インスタンスで SAC を有効にした場合、パスワードの取得に依存する Amazon EC2 サービスは Amazon EC2 コンソールからは使用できません。詳細については、「SAC を使用して Windows インスタンスをトラブルシューティングする」を参照してください。
-
シリアルコンソールへのアクセスを設定するには、アカウントレベルでシリアルコンソールへのアクセスを許可し、ユーザーにアクセス権を付与するように AWS Identity and Access Management (IAM) ポリシーを設定する必要があります。また、ユーザーがトラブルシューティングのためにシリアルコンソールを使用できるように、すべてのインスタンスでパスワードベースのユーザーを設定する必要があります。詳細については、「Amazon EC2 シリアルコンソールへのアクセスを設定する」を参照してください。
-
アカウントでシリアルコンソールが有効になっているかどうかを確認するには、「シリアルコンソールへのアカウントアクセスステータスの表示」を参照してください。
-
シリアルコンソールアクセスは、Nitro System 上に構築された仮想インスタンスでのみサポートされます。
詳細については、「Amazon EC2 シリアルコンソールの前提条件」を参照してください。
ドキュメントタイプ
Automation
所有者
Amazon
[Platforms] (プラットフォーム)
Windows
パラメータ
必要な IAM アクセス許可
AutomationAssumeRole
パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
{ "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" ] } } } ] }
Instructions
次の手順に従って自動化を設定します。
-
AWS Systems Manager コンソール
AWSSupport-EnableWindowsEC2SerialConsole
で に移動します。 -
[Execute automation] (オートメーションを実行) を選択します。
-
入力パラメータには、次のように入力します。
-
InstanceId: (必須)
Amazon EC2 シリアルコンソール、 (SAC)、およびブートメニューを有効にする Amazon EC2 インスタンスの ID。
-
AutomationAssumeRole: (オプション)
Systems Manager Automation がユーザーに代わってアクションを実行できるようにする IAM ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
-
HelperInstanceType: (条件付き)
オフラインインスタンスの Amazon EC2 シリアルコンソールを設定するためにランブックがプロビジョニングする Amazon EC2 インスタンスのタイプ。
-
HelperInstanceProfileName: (条件付き)
ヘルパーインスタンスの既存の IAM インスタンスプロファイルの名前。停止状態にあるインスタンス、または によって管理されていないインスタンスで SAC とブートメニューを有効にする場合は AWS Systems Manager、これが必要です。IAM インスタンスプロファイルが指定されていない場合、オートメーションはユーザーに代わってインスタンスプロファイルを作成します。
-
SubnetId: (条件付き)
ヘルパーインスタンスのサブネット ID。デフォルトでは、提供されたインスタンスが存在するのと同じサブネットを使用します。
重要
カスタムサブネットを指定する場合は、 と同じアベイラビリティーゾーンに存在し InstanceId、Systems Manager エンドポイントへのアクセスを許可する必要があります。これは、ターゲットインスタンスが停止状態にあるか、 によって管理されていない場合にのみ必要です AWS Systems Manager。
-
CreateInstanceBackupBeforeScriptExecution: (オプション)
SAC とブートメニューを有効にする前に、True を指定して Amazon EC2 インスタンスの Amazon マシンイメージ (AMI) バックアップを作成します。AMI は、自動化が完了した後も維持されます。AMI へのアクセスを保護するか、AMI を削除するのはお客様の責任です。
-
BackupAmazonMachineImagePrefix: (条件付き)
CreateInstanceBackupBeforeScriptExecution
パラメータが に設定されている場合に作成される Amazon マシンイメージ (AMI) のプレフィックスTrue
。
-
-
[実行] を選択します。
-
自動化が開始されます。
-
ドキュメントは以下のステップを実行します。
-
CheckIfEc2SerialConsoleAccessEnabled:
Amazon EC2 シリアルコンソールへのアクセスがアカウントレベルで有効になっているかどうかを確認します。注: シリアルコンソールへのアクセスは、デフォルトでは利用できません。詳細については、「Amazon EC2 シリアルコンソールへのアクセスを設定する」を参照してください。
-
CheckIfEc2InstanceIsWindows:
ターゲットインスタンスプラットフォームが Windows であるかどうかをアサートします。
-
GetInstanceType:
ターゲットインスタンスのインスタンスタイプを取得します。
-
CheckIfInstanceTypeIsNitro:
インスタンスタイプのハイパーバイザーが Nitro ベースかどうかを確認します。シリアルコンソールアクセスは、Nitro System 上に構築された仮想インスタンスでのみサポートされます。
-
CheckIfInstanceIsInAutoScalingグループ:
DescribeAutoScalingInstances
API を呼び出して、Amazon EC2 インスタンスが Amazon EC2 Auto Scaling グループの一部であるかどうかを確認します。インスタンスが Amazon EC2 Auto Scaling グループの一部である場合、.NET インスタンスの Porting Assistant はスタンバイライフサイクル状態になります。 -
WaitForEc2InstanceStateStablized:
インスタンスが実行中または停止状態になるまで待ちます。
-
GetEc2InstanceState:
インスタンスの現在の状態を取得します。
-
BranchOnEc2InstanceState:
前のステップで取得したインスタンスの状態に基づいて分岐します。そのインスタンスの状態が実行中の場合は、
CheckIfEc2InstanceIsManagedBySSM
ステップに、そうでない場合は ステップに移動しますCheckIfHelperInstanceProfileIsProvided
。 -
CheckIfEc2InstanceIsManagedBySSM:
インスタンスが によって管理されているかどうかを確認します AWS Systems Manager。管理されている場合、ランブックは PowerShell Run Command を使用して SAC とブートメニューを有効にします。
-
BranchOnPreEC2RescueBackup:
CreateInstanceBackupBeforeScriptExecution
入力パラメータに基づいて分岐します。 -
CreateAmazonMachineImageBackup:
インスタンスの AMI バックアップを作成します。
-
EnableSACAndBootMenu :
PowerShell Run Command スクリプトを実行して SAC とブートメニューを有効にします。
-
RebootInstance:
Amazon EC2 インスタンスを再起動して設定を適用します。これは、インスタンスがオンラインであり、 によって管理されている場合の最後のステップです AWS Systems Manager。
-
CheckIfHelperInstanceProfileIsProvided:
一時的な Amazon EC2 インスタンスを使用して SAC とブートメニューをオフラインで有効にする前に、
HelperInstanceProfileName
指定された が存在するかどうかを確認します。 -
RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu:
インスタンスが停止状態にある場合
AWSSupport-StartEC2RescueWorkflow
、または によって管理されていない場合に、 を実行して SAC とブートメニューを有効にします AWS Systems Manager。 -
GetExecutionDetails:
バックアップおよびオフラインスクリプト出力のイメージ ID を取得します。
-
-
完了したら、出力セクションで実行の詳細な結果を確認します。
-
EnableSACAndBootMenu .Output:
EnableSACAndBootMenu
ステップでのコマンド実行の出力。 -
GetExecutionDetails.OfflineScriptOutput:
RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu
ステップで実行されたオフラインスクリプトの出力。 -
GetExecutionDetails.BackupBeforeScriptExecution:
CreateInstanceBackupBeforeScriptExecution
入力パラメータが True の場合に実行される AMI バックアップのイメージ ID。
-
によって実行および管理されるインスタンスでの実行の出力 AWS Systems Manager
![Console output showing successful operations and pending execution details.](images/awssupport-enable-windows-ec2-serial-console_outputs_online.png)
によって停止または管理されていないインスタンスでの実行の出力 AWS Systems Manager
![Console output showing offline script execution details and successful operations.](images/awssupport-enable-windows-ec2-serial-console_outputs_offline.png)
リファレンス
Systems Manager Automation