EC2 Windows インスタンスの管理者パスワードをリセットするにはどうすればよいですか?

最終更新日: 2022 年 3 月14 日

Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスの管理者パスワードをリセットしたいと考えています。どうすればできますか?

解決方法

AWS Systems Manager または EC2Rescue を使用して、EC2 Windows インスタンスの管理者パスワードをリセットできます。

Systems Manager Run Command AWSSupport-RunEC2RescueForWindowsTool (オンラインメソッド)

前提条件:

  • AWS アカウントに Systems Manager を設定し、インスタンスに Systems Manager エージェントをインストールする必要があります。詳細については、AWS Systems Manager の設定を参照してください。
  • インスタンスには、パブリック IP アドレスまたは NAT を使用して (Systems Manager の場合) インターネットアクセスが必要です。
    - または -
    インスタンスは、Systems Manager 用に設定された Amazon Virtual Private Cloud (Amazon VPC) エンドポイントを使用する必要があります。
    詳細については、VPC エンドポイントを参照してください。

Run Command を使用して Systems Manager で管理者パスワードをリセットするには、以下の手順に従います。

1.    暗号化されたパスワードをパラメータストアに書き込むには、インスタンスに関連付けられた IAM ロールに次のポリシーをアタッチします。

{ 
  "Version": "2012-10-17", 
  "Statement": [ 
    { 
      "Effect": "Allow", 
      "Action": [ 
      "ssm:PutParameter" 
      ], 
      "Resource": [ 
        "arn:aws:ssm:*:*:parameter/EC2Rescue/Passwords/i-*" 
        ] 
    } 
  ] 
}

2.    AWS Systems Manager コンソールを開き、ナビゲーションペインから [Run Command] を選択します。

3.    [Run a command] (コマンドを実行) を選択します。

4.    [Command document] で、[AWSSupport-RunEC2RescueForWindowsTool] を選択します。

5.    [Command parameters] で、CommandResetAccessに設定されていることを確認します。

6.    [Targets] で、[Choose instances manually] を選択し、インスタンスを選択します。

7.    [Run] (実行) を選択します。

8.    [Targets and outputs] セクションで、インスタンスの Instance ID を選択します。

9.    新しいパスワードを取得する方法については、[View output] を選択します。

10.    インスタンスへのアクセスを回復したら、パスワードを変更してからパラメータストアからパラメータを削除するのがベストプラクティスです。

詳細については、Systems Manager Run Command での EC2Rescue for Windows Server の使用を参照してください。

Systems Manager Automation AWSSupport-ResetAccess (オフラインメソッド)

警告: オートメーションを実行する前に、次の点に注意してください。

  • Elastic IP アドレスを使用していない場合は、インスタンスを停止するとパブリック IP アドレスが解放されます。
  • このインスタンスにインスタンスストアボリュームがある場合、インスタンスが停止すると、そのインスタンスのデータはすべて失われます。
  • インスタンスのシャットダウン動作[Terminate] (終了) に設定されている場合、インスタンスは停止時に終了します。
  • インスタンスが Auto Scaling グループの一部である場合は、まず Auto Scaling グループからインスタンスをデタッチします。その後、インスタンスを停止して起動したら、インスタンスを Auto Scaling グループにアタッチし直します。

詳細については、インスタンスの停止と起動をご参照ください。

AWSSupport-ResetAccess は、AWS CloudFormation および AWS Lambda 機能を使用して EC2Rescue オフラインパスワードのリセットを自動化する Systems Manager オートメーションドキュメントです。自動化ドキュメントでは、以下の処理を行うことができます。

  • アベイラビリティーゾーンでの復旧を支援するインスタンスを作成します。
  • EBS ボリュームをアタッチおよびデタッチします。
  • EC2Rescue ユーティリティを実行します。
  • 環境から分離された EC2Rescue に対して使用する Amazon VPC を作成します。
  • インスタンスのバックアップ AMI を作成します。

AWSSupport-ResetAccess ドキュメントは、以下の場合に使用できます。

  • EC2 キーペアを紛失し、EC2 インスタンスからパスワード対応 AMI を作成して、既存のキーペアで新しいインスタンスを起動したい場合。
  • ローカル管理者パスワードを紛失し、現在の EC2 キーペアで復号できる新しいパスワードを生成したい場合。

重要: 暗号化されたルート EBS ボリュームで AWSupport-ResetAccess ドキュメントを使用することはできません。

1.    AWS Systems Manager コンソールを開き、ナビゲーションペインから [Automation] を選択します。

2.    [Execute automation] を選択します。

3.    [Automation document] で、[AWSSupport-ResetAccess] 、[Next] の順に選択します。

4.    [Input parameters] に、EC2 インスタンスの InstanceID を入力します。

5.    [Execute] を選択します。

6.    状態が Successに変わるまで待ちます。これには最大 25 分かかることがあります。

注意: [Execution detail] ページで、Executed steps を表示して進行状況をモニタリングします。[Outputs] を展開して、自動化の出力を表示します。このページに戻るには、AWS Systems Manager コンソールを開き、ナビゲーションペインから [Automation] を選択します。実行中の自動化を選択し、[View details] を選択します。

7.    既存のキーペアを使用して、EC2 コンソールから新しく生成されたパスワードをデコードします。詳細については、インスタンスの起動後に Windows の管理者パスワードを取得するにはどうすればよいですか? を参照してください。

Systems Manager Run Command (オンラインメソッド)

前提条件:

  • AWS アカウントに Systems Manager を設定し、インスタンスに Systems Manager エージェントをインストールする必要があります。詳細については、AWS Systems Manager の設定を参照してください。
  • インスタンスには、パブリック IP アドレスまたは NAT を使用して (Systems Manager の場合) インターネットアクセスが必要です。
    - または -
    インスタンスは、Systems Manager 用に設定された Amazon Virtual Private Cloud (Amazon VPC) エンドポイントを使用する必要があります。
    詳細については、VPC エンドポイントを参照してください。

1.    AWS IAM コンソールを開きます。

2.    [Roles] (ロール)、[Create new role] (新しいロールを作成) を選択します。

3.    [EC2] を選択し、[Select] (選択) を選択します。

4.    [Policy Name] (ポリシー名) で、[AmazonSSMManagedInstanceCore] にチェックを入れ、[Role] (ロール) の名前を入力します。

5.    [Create Role] (ロールの作成) を選択します。

6.    Amazon EC2 コンソールを開き、適切なリージョンを選択します。

7.    影響を受けるインスタンスを選択し、[Actions] (アクション)、[Security] (セキュリティ)、[Modify IAM role] (IAM ロールを変更) の順に選択します。

8.    先ほど作成した IAM ロールを選択し、[Save] (保存) を選択します。

注: 適切な IAM ポリシーを使用して IAM ロールをインスタンスにアタッチした後、約 5 分間待機します。AWS Systems Manager コンソールの [Managed Instances] (マネージドインスタンス)でインスタンスを確認できます。インスタンスが [Managed Instances] (マネージドインスタンス) の下に表示されない場合は、インスタンスを再起動してみてください。それでもインスタンスが表示されないときは、Systems Manager コンソールの [マネージドインスタンス] に EC2 インスタンスが表示されないのはなぜですか? を参照してください。

9.    インスタンスが [Managed Instances] (マネージドインスタンス) に表示されたら、AWS Systems Manager コンソールで [Run Command] (コマンドを実行) を選択します。

10.    [Run a command] (コマンドを実行) を選択します。

11.    [Command document] (コマンドドキュメント) で、[AWS-RunPowerShellScript] を選択してください。

12.    [Command parameters] (コマンドパラメータ) で、次のコマンドをコピーして貼り付けます。Password@123 をご自身のパスワードに置き換えます。

net user Administrator Password@123

重要: このコマンドを実行すると、AWS Systems Manager Agent (SSM Agent) ログにユーザー名とパスワードの詳細が記録されます。これにより、インスタンスへの不正アクセスが発生する可能性があります。インスタンスへのアクセスが回復したら、パスワードを変更するのがベストプラクティスです。

13.    [Targets] (ターゲット) で、[Choose instances manually] (インスタンスを手動で選択) を選択し、パスワードのリセットが必要なインスタンスを選択します。

14.    [<t1>Run</t1>] (実行) を選択します。

注: すべての設定はデフォルトのままにしておきます。

run コマンドが正常に完了すると、ステップ 12 で使用したローカル管理者パスワードを使用してインスタンスにログインできるようになります。この方法を使用した後には、パスワードを変更するのがベストプラクティスです。

EC2 キーペアを紛失した場合

1.    インスタンスを停止します。

警告: インスタンスを停止する前に、以下の点に注意してください。

  • Elastic IP アドレスを使用していない場合、インスタンスを停止するとパブリック IP アドレスが解放されます。
  • このインスタンスにインスタンスストアボリュームがある場合、インスタンスが停止すると、そのインスタンスのデータはすべて失われます。
  • インスタンスのシャットダウン動作Terminate 終了 に設定されている場合、インスタンスは停止時に終了します。
  • インスタンスが Auto Scaling グループの一部である場合は、まず Auto Scaling グループからインスタンスをデタッチします。その後、インスタンスを停止して起動したら、インスタンスを Auto Scaling グループにアタッチし直します。

詳細については、インスタンスの停止と起動をご参照ください。

2.    Amazon EC2 コンソールを開き、[AMI] を選択します。

3.    インスタンス ID を検索します。

4.    AWSSupport-EC2Rescue-Post-Script-Backup-i-xxxxxxxxx_Date という名前の AMI を選択し、[Launch] を選択します。

5.    起動ウィザードに従ってインスタンスの設定を指定し、所有するキーペアを選択します。

6.    他のインスタンスを終了する前に、新しいインスタンスに接続できること、およびアプリケーションが想定どおりに動作していることを確認してください。

EC2Rescue (オフラインまたはオンラインメソッド)

次回の起動時に管理者パスワードを再生成するには、EC2Rescue を使用して EC2SetPassword を有効にします。

1.    [Diagnose and Rescue] を選択します。「EC2Config」セクションには、現在の Ec2SetPassword 設定が表示されます。[次へ] を選択します。

2.    [Detect possible issues] (考えられる問題を検出) で、[Ec2SetPassword] チェックボックスをオンにし、[Next] (次へ) を選択します。

詳細については、「EC2Rescue を使用して Amazon EC2 Windows インスタンスの問題をトラブルシューティングするにはどうすればよいですか?」を参照してください。