インスタンスにsshできなくなり、反省した話
パソコンをメルカリに出そうとしてHDDを初期化したところ、プライベートキーまでお亡くなりになった。どこにもバックアップをとっていなかった。
そのためSSHでログインして細かい作業をするってことができなくなってしまった。
以下はその後対処したこと。
概要
既存のEC2インスタンスから新しいAMI(Amazonマシンイメージ)を作成し、新しいキーペアと新しいAMIから新しいEC2インスタンスを作成する。
こうする理由
もとのキーペアが揃っていなければ新しいキーペアを作ってもそれを既存のEC2インスタンスに割り当てることができないため。
手順
新しいキーペア作成
AWSで新しいキーペアを作成する
https://console.aws.amazon.com/ec2/ から Amazon EC2 コンソールを開く。
左ペインにてキーペアをクリック>キーペアの作成をクリック
プライベートキー(なんとか.pem)はブラウザにて自動的にダウンロードフォルダに保存される。同じ失敗を繰り返さないためこのファイルを別の場所にコピーしておく(バックアップ)。
プライベートキーをSSH実行環境のどこかにコピーし、chmod 400 でファイルパーミッションを変えておく。
既存のインスタンスからAMIを作成
インスタンスを右クリック>イメージ作成
新しいインスタンスを作成
上で作成したAMIからインスタンスを作成
作成過程でキーペアを聞かれるので新しいキーペア名を入れる
作成が完了したらそのインスタンスを起動する
SSHでつなげてみる
ssh -i foo.pem ec2-user@ec2-なんちゃらaws.com
セキュリティグループの設定
新しいインスタンス作成と同時に作成された新しいセキュリティグループに Web接続許可(HTTP, HTTPS)を追加する。
インバウンドタブにて
HTTP(あとはデフォルトのまま、つまり TCP 80 0.0.0.0/0 ::/0)
HTTPS(あとはデフォルトのまま、つまり TCP 443 0.0.0.0/0 ::/0)
ネームサーバーの設定
新しいインスタンスに今まで通り Web接続するため。
DNS設定においてAレコードなどのIPアドレスを新しいインスタンスのものに変える。
古いインスタンス
古いインスタンスを停止する。あとで削除する。
反省
そもそもプライベートキーをなくしてはならない。HDDを初期化するときは隠しフォルダ( . で始まるディレクトリ)もよく見てみよう。普段気にしていない何か大事なものが残っているかもしれないぞ。