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

最終更新日: 2022 年 11 月 7 日

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) エンドポイントを使用する必要があります。
    詳細については、「 AWS PrivateLink の料金」を参照してください。

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] (コマンドのパラメータ) で、[Command] (コマンド) が ResetAccessに設定されていることを確認します。

6.    [Targets] (ターゲット) で、[Choose instances manually] (インスタンスを手動で選択) を選択し、インスタンスを選択します。

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

8.    [Targets and outputs] (ターゲットと出力) セクションで、インスタンスの [Instance ID] (インスタンス ID) を選択します。

9.    新しいパスワードを取得する方法については、[View output] (アウトプットを表示する) を選択します。

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

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

マネージドノードのパスワードのリセット (オンラインメソッド)

Amazon EC2 インスタンスのマネージドノード上のすべてのユーザーのパスワードをリセットできます。手順については、「 マネージドノードのパスワードをリセットする」を参照してください。

この方法を使用する前に、前提条件をすべて満たしていることを確認してください。

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) エンドポイントを使用する必要があります。
    詳細については、「 AWS PrivateLink の料金」を参照してください。

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.    [Run] (実行) を選択します。

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

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 設定が表示されます。[Next] (次へ) を選択します。

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

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