AWSSupport-EnableWindowsEC2SerialConsole - AWS Systems Manager 自動化ランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-EnableWindowsEC2SerialConsole

説明

ランブックAWSSupport-EnableWindowsEC2SerialConsoleは、Amazon EC2 Windows インスタンスで Amazon EC2 シリアルコンソール、特殊管理コンソール (SAC)、およびブートメニューを有効にするのに役立ちます。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 シリアルコンソール」を参照してください。

重要

詳細については、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" ] } } } ] }

指示

次の手順に従って自動化を設定します。

  1. AWS Systems Manager コンソールAWSSupport-EnableWindowsEC2SerialConsoleで に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 入力パラメータには、次のように入力します。

    • 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 へのアクセスを保護するか、削除するのはお客様の責任です。

    • BackupAmazonMachineImagePrefix: (条件付き)

      CreateInstanceBackupBeforeScriptExecution パラメータが に設定されている場合に作成される Amazon マシンイメージ (AMI) のプレフィックスTrue

  4. [実行] を選択します。

  5. 自動化が開始されます。

  6. ドキュメントは以下のステップを実行します。

    • CheckIfEc2SerialConsoleAccessEnabled:

      Amazon EC2 シリアルコンソールアクセスがアカウントレベルで有効になっているかどうかを確認します。注: シリアルコンソールへのアクセスは、デフォルトでは利用できません。詳細については、Amazon EC2 シリアルコンソールへのアクセスを設定する」を参照してください。

    • CheckIfEc2InstanceIsWindows:

      ターゲットインスタンスプラットフォームが Windows であるかどうかをアサートします。

    • GetInstanceType:

      ターゲットインスタンスのインスタンスタイプを取得します。

    • CheckIfInstanceTypeIsNitro:

      インスタンスタイプのハイパーバイザーが Nitro ベースかどうかを確認します。シリアルコンソールアクセスは、Nitro System 上に構築された仮想化インスタンスでのみサポートされます。

    • CheckIfInstanceIsInAutoScalingGroup:

      DescribeAutoScalingInstances API を呼び出して、Amazon EC2 インスタンスが Amazon EC2 Auto Scaling グループの一部かどうかを確認します。インスタンスが Amazon EC2 Auto Scaling グループの一部である場合、Porting Assistant for .NET インスタンスがスタンバイライフサイクル状態になります。

    • 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:

      インスタンスが停止状態であるか、 によって管理されていないときに、 を実行して SAC とブートメニューAWSSupport-StartEC2RescueWorkflowを有効にします AWS Systems Manager。

    • GetExecutionDetails:

      バックアップスクリプト出力とオフラインスクリプト出力のイメージ ID を取得します。

  7. 完了したら、出力セクションで実行の詳細な結果を確認します。

    • EnableSACAndBootMenu.Output:

      EnableSACAndBootMenu ステップでのコマンド実行の出力。

    • GetExecutionDetails.OfflineScriptOutput:

      RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu ステップで実行されたオフラインスクリプトの出力。

    • GetExecutionDetails.BackupBeforeScriptExecution:

      CreateInstanceBackupBeforeScriptExecution 入力パラメータが True の場合に取得される AMI バックアップのイメージ ID。

によって実行および管理されているインスタンスでの実行の出力 AWS Systems Manager

によって停止または管理されていないインスタンスの実行の出力 AWS Systems Manager

リファレンス

Systems Manager Automation