

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

# `AWSSupport-EnableWindowsEC2SerialConsole`
<a name="automation-enable-windows-ec2-serial-console"></a>

 **説明** 

 ランブック`AWSSupport-EnableWindowsEC2SerialConsole`は、Amazon EC2 Windows インスタンスで Amazon EC2 シリアルコンソール、Special Admin Console (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](https://docs.aws.amazon.com//systems-manager-automation-runbooks/latest/userguide/automation-awssupport-startec2rescueworkflow.html) を使用して一時的な Amazon EC2 インスタンスを作成し、必要な変更をオフラインで実行します。

 詳細については、[「Windows インスタンス用の Amazon EC2 シリアルコンソール」を参照してください。](https://docs.aws.amazon.com//AWSEC2/latest/WindowsGuide/ec2-serial-console.html)

**重要**  
インスタンスで SAC を有効にすると、パスワードの取得に依存する Amazon EC2 サービスは Amazon EC2 コンソールから動作しません。詳細については、「[SAC を使用して Windows インスタンスをトラブルシューティングする](https://docs.aws.amazon.com//AWSEC2/latest/WindowsGuide/troubleshooting-sac.html)」を参照してください。
シリアルコンソールへのアクセスを設定するには、アカウントレベルでシリアルコンソールアクセスを許可し、ユーザーにアクセス権を付与するように AWS Identity and Access Management (IAM) ポリシーを設定する必要があります。また、ユーザーがトラブルシューティングのためにシリアルコンソールを使用できるように、すべてのインスタンスでパスワードベースのユーザーを設定する必要があります。詳細については、[Amazon EC2 シリアルコンソールへのアクセスを設定する」を参照してください。](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/configure-access-to-serial-console.html)
アカウントでシリアルコンソールが有効になっているかどうかを確認するには、[「シリアルコンソールへのアカウントアクセスステータスの表示」を参照してください。](https://docs.aws.amazon.com//AWSEC2/latest/WindowsGuide/configure-access-to-serial-console.html#sc-view-account-access)
シリアルコンソールアクセスは、[Nitro System 上に構築された仮想化インスタンスでのみサポートされます。](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/instance-types.html#nitro-instance-types)

 詳細については、Amazon EC2 シリアルコンソールの[前提条件」を参照してください。](https://docs.aws.amazon.com//AWSEC2/latest/WindowsGuide/ec2-serial-console-prerequisites.html)

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Server 

**パラメータ**

**必要な 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`で に移動します。

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

1. 入力パラメータには、次のように入力します。
   + **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 とブートメニューを有効にする前に、Amazon EC2 インスタンスの Amazon マシンイメージ (AMI) バックアップを作成するには、True を指定します。AMI は、自動化が完了した後も維持されます。AMI へのアクセスを保護するか、削除するのはお客様の責任です。
   + **BackupAmazonMachineImagePrefix: (条件付き)**

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

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

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

1. ドキュメントは以下のステップを実行します。
   + **CheckIfEc2SerialConsoleAccessEnabled:**

     Amazon EC2 シリアルコンソールアクセスがアカウントレベルで有効になっているかどうかを確認します。注: シリアルコンソールへのアクセスは、デフォルトでは利用できません。詳細については、[Amazon EC2 シリアルコンソールへのアクセスを設定する」を参照してください。](https://docs.aws.amazon.com//AWSEC2/latest/WindowsGuide/configure-access-to-serial-console.html#sc-grant-account-access)
   + **CheckIfEc2InstanceIsWindows:**

     ターゲットインスタンスプラットフォームが Windows の場合にアサートします。
   + **GetInstanceType:**

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

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

     `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 を取得します。

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

     `EnableSACAndBootMenu` ステップでのコマンド実行の出力。
   + **GetExecutionDetails.OfflineScriptOutput:**

     `RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu` ステップで実行されたオフラインスクリプトの出力。
   + **GetExecutionDetails.BackupBeforeScriptExecution:**

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

 **リファレンス** 

Systems Manager Automation
+ [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-EnableWindowsEC2SerialConsole)
+ [オートメーションを実行する](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [オートメーションの設定](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [「自動化ワークフローをサポート」ランディングページ](https://aws.amazon.com/premiumsupport/technology/saw/)