カスタム AMI から Windows Server を起動してログインできなくなったときの解決方法

カスタム AMI から Windows Server を起動してログインできなくなったときの解決方法

うっかり EC2(Windows Server)にログインできなくなったこと、ありませんか?
Clock Icon2025.04.27

カスタマーサクセス部 運用支援チームのいたくらです。

うっかり EC2(Windows Server)にログインできなくなったこと、ありませんか?私はあります。
そんなときに便利な Run Command のコマンドドキュメントがあるのでご紹介します。

はじめに

なぜ EC2 にログインできなくなったのかを簡単にご説明します。
検証で AWS 上に Windows Server を起動し、AMI を取得し、取得した AMI を使用して新たに Windows Server を起動する、といったことを繰り返していました。
あるとき、その AMI から起動した Windows Server に RDP 接続しようと思い、EC2 のインスタンス一覧から EC2 を選択し、いつも通り接続しようとしたところ、以下の画面が表示されました。
1-2.png

「インスタンスはカスタム AMI から作成されたか、デフォルトパスワードが変更されています。」…はい、カスタム AMI から起動しました。
というわけで、カスタム AMI から起動したため、初期パスワードが取得できない状況となり EC2 にログインできなくなりました。

今回は下記 re:Post を元にパスワードを再設定・ログインまで実施してみました。
https://repost.aws/ja/knowledge-center/reset-admin-password

前提条件

  • 当該 EC2 には Systems Manager エージェントがインストールされていること
  • 当該 EC2 はインターネットにアクセスできること
    • 今回の EC2 はプライベートサブネットに存在するが、NAT Gateway 経由でインターネットアクセス可能

やってみた

IAM ポリシーの準備

暗号化された新しいパスワードをパラメータストアに書き込むために、当該 EC2 に対して IAM ポリシーを追加アタッチします。
まず以下のように IAM ポリシーを新規作成します。
6.png

IAM ポリシー(JSON)
{  
  "Version": "2012-10-17",  
  "Statement": [  
    {  
      "Effect": "Allow",  
      "Action": [  
        "ssm:PutParameter"  
      ],  
      "Resource": [  
        "arn:aws:ssm:*:*:parameter/EC2Rescue/Passwords/i-*"  
      ]  
    }  
  ]  
}

作成した IAM ポリシーを、EC2 にアタッチしている IAM ロールに追加アタッチします。
37.png

コマンドドキュメントを実行

AWS Systems Manager のサービスページに移動し、「Run Command」を開き、右上の「Run Command」をクリックします。
9.png

コマンドドキュメントで AWSSupport-RunEC2RescueForWindowsTool を検索し、選択します。
10-1.png

Command が ResetAccess になっていることを確認します。
ターゲットは インスタンスを手動で選択する を選択し、当該 EC2 を選択します。
11.png

その他のパラメータは変更せず、「実行」をクリックします。
12-1.png

すると、「コマンドが正常に送信されました」と表示され、ステータスが「進行中」となります。
13-1.png

少し待つと、ステータスが「成功」となります。
「ターゲットと出力」に表示されている「インスタンス ID」をクリックします。
15.png

「ステップ 2 - コマンドの説明とステータス」の「Output」のトグルを開くと、新しいパスワードの URL が記載されているので、その URL に移動します。
16-1.png

新しいパスワードで EC2 にログイン

URL に移動すると、パラメータストアの /EC2Rescue/Passwords/インスタンスID のページが表示されます。
「値」のトグルボタンをクリックし、表示された文字列をコピーします。
18.png

Systems Manager の「フリートマネージャー」に移動し、当該 EC2 を選択 >「ノードアクション」>「接続」>「リモートデスクトップで接続」の順にクリックします。
19.png

ユーザー名は Administrator、パスワードは先ほどコピーした文字列を入力し、「接続」をクリックします。
20.png

無事にログインできました!
21.png

パスワードを再設定

ベストプラクティスに沿ってパスワードをローテーションします。
Windows メニューから「サーバーマネージャー」を開きます。
22.png

「ツール」>「コンピューターの管理」の順にクリックします。
23.png

「ユーザー」内の「Administrator」を選択し、「パスワードの設定」をクリックします。
25.png

警告画面が表示されるので記載を確認し、「続行」をクリックします。
26.png

新しいパスワードを入力し、「OK」をクリックします。
27.png

「パスワードは設定されました。」と表示されたことを確認し、「OK」をクリックします。
28.png

右上の「アクション」>「接続を終了」の順にクリックし、フリートマネージャーでの接続を終了します。
29.png
30.png

再設定したパスワードでログイン確認

念の為、再設定したパスワードでログイン確認を実施します。
接続を終了した直後だと以下のような画面だと思うので、「接続の追加」をクリックします。
31.png

ノードとして当該 EC2 を選択し、「追加」をクリックします。
32.png

ユーザー名は Administrator、パスワードは先ほど再設定したパスワードを入力し、「接続」をクリックします。
33.png

先ほど接続を終了したときと同じ画面が表示されるはずです。
34.png

パラメータストアからパラメータを削除

ベストプラクティスに沿ってパラメータを削除します。
パラメータストアの /EC2Rescue/Passwords/インスタンスID のページに戻り、「削除」をクリックします。
35.png
36.png

あとはキャプチャを撮り忘れてしまいましたが、一時的にアタッチした IAM ポリシーもデタッチしましょう。
不要であれば IAM ポリシーも削除してしまいましょう。

あとがき

とても便利なコマンドドキュメントのご紹介でした。
カスタム AMI から EC2 を起動すること自体はよくあることだと思いますので、Windows Server の場合はこういうことも起きうるよ、でも便利なコマンドドキュメントがあるから何とかなるよ、と頭の片隅に置いておいていただけると良いかもしれません。
あとはこのような便利機能を使用できるため、積極的に SSM エージェントはインストールしておいた方が良いと感じました。

この記事がどなたかのお役に立てれば幸いです。

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。
サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.