Posted at

AWSでSSH接続できなくなってしまったときの復旧方法

More than 1 year has passed since last update.

AWSでEBSを追加したらSSH接続できなくなってしまった事案があり、復旧にちょっとハマったので備忘も兼ねて記載していきます。

オンプレサーバーと違って、クラウドだとSSH接続できないと何もできなくなっちゃいますからね。


手順


  1. 対象インスタンスのEBSのスナップショットを取得(バックアップ用)

  2. 作業用インスタンスを作成

  3. 作業用インスタンスに、対象インスタンスのEBSをアタッチ&マウント

  4. SSH等の設定を見直し&修正

  5. 対象インスタンスに、元のEBSをアタッチ


SSH接続できなくなっちゃう原因

以下のような時に、この方法は役立ちます。


  • ファイアーウォールの設定ミス

  • キーペアの紛失

  • OS設定ミスで起動しなくなっちゃった


1. 対象インスタンスのEBSのスナップショットを取得(バックアップ用)

現状のバックアップをとっておくために、対象のEBSを右クリックしてスナップショットを取得しましょう。EC2_Management_Console.png


2. 作業用インスタンスを作成

SSHできなくなっちゃったインスタンスと同様のインスタンスを作ります。

対象インスタンスを右クリックして出てくる、「同様のものを作成」で簡単にできちゃいます。

EC2_Management_Console.png


3. 作業用インスタンスに、対象インスタンスのEBSをアタッチ&マウント


対象のインスタンスをストップしてEBSをデタッチします

EC2_Management_Console.png


作業用インスタンスに、先程デタッチしたEBSをアタッチします


  • ボリュームのアタッチを選択

    EC2_Management_Console.png


  • 作業用インスタンスIDを選択

    EC2_Management_Console.png

    デバイスは def/sdf で問題ないはず。(エラーが出る場合は環境に合わせて変更してください)



作業用インスタンスにSSH接続して先程アタッチしたEBSをマウントします


  • 作業用インスタンスにSSH接続します

  • ディスクの状態を確認

[centos@ ~]$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
└─xvda1 202:1 0 30G 0 part /
xvdf 202:80 0 30G 0 disk
└─xvdf1 202:81 0 30G 0 part


  • マウントポイントを作成

sudo mkdir /mnt/xvdf


  • ディスクをマウント

mount -t xfs /dev/xvdf /mnt/xvdf/ -o nouuid


  • マウントすると中身のファイルが見えるようになるので、SSHやファイアーウォールの設定を見直す。

  • 作業用インスタンスからEBSをデタッチ

  • 対象インスタンスにEBSをアタッチ