AWSを始める 〜 5.新しく作成したインスタンスにSSHで接続する(※プライベートキーを無くした)

◎これまでの学習

AWSを始める 〜 1.仮想サーバの立ち上げ
AWSを始める 〜 2.SSHを使用した仮想サーバへの接続
AWSを始める 〜 3.仮想ネットワークの作成
AWSを始める 〜 4.設定したVPCにインスタンスを作成する

ここで正直なことを述べておくが、本来は「1.仮想サーバの立ち上げ」と「2.SSHを使用した仮想サーバへの接続」を実施する前に、「3.仮想ネットワークの作成」を実施すべきだった。当初は正直何も考えずにインスタンスを作成して、ブログに記載したのでこのようなことになった。だから、最初にインスタンスを作成したのにもかかわらず、ここでインスタンスを作成している。もっとも、最初に作成したインスタンスVPCに合わせて変更しても良いのだが、復習も兼ねて手順を最初から振り返りたかったという理由もある。

◎今回の内容

AWSを始める 〜 2.SSHを使用した仮想サーバへの接続」で実施したことと同じことをするだけ。以上です。

これで終わりにしたかったけど、繋がらない!

そもそも、「認証情報の入力」を求められない。何故だろう。

EC2インスタンスを新規に作成したので、古い鍵は使えないから新しい鍵を使うようにしないといけないのか。
そう思い、先ほど作成した鍵を探そうとしたが、どこにダウンロードしたか忘れた。検索したけど見つからない。。。

これはつまり、プライベートキーの紛失ということだろうか。きっとそうだ。間違いない。
無くした場合はどうなるのか・・・。公式ドキュメントを参照すると・・・。

Amazon EC2 インスタンスに接続するにはキーペアファイルが必要です。キーペアファイルを再度ダウンロードすることはできないので、紛失した場合、インスタンスに接続できなくなります。

これって、インスタンスを1から作成しなおさなければならないのだろうか。
そんなことはなかった。「AWS EC2ログイン用の秘密鍵を無くした」に書いてあったのでこれを実践してみる。

下記を実施して鍵を作り直す。

1.新規に鍵を作成する
2.無くした鍵を使用しているEC2インスタンスのAMIを取得
3.取得したAMIから新しいEC2インスタンスを作成し、新しい鍵を紐付ける

1.新規に鍵を作成する
AWS Management Console -> EC2 -> NETWORK & SECURITY -> Key Pairs.

2.無くした鍵を使用しているEC2インスタンスのAMIを取得
AWS Management Console -> EC2 -> INSTANCES -> INSTANCES.
インスタンスを作成しただけだったので、イメージの作成は一瞬で完了した。

3.取得したAMIから新しいEC2インスタンスを作成し、新しい鍵を紐付ける
AWS Management Console -> IMAGES -> AMIs

取得したAMIを選択して右クリックしてlaunchする。

これ以降の作業は「AWSを始める 〜 4.設定したVPCにインスタンスを作成する」と同じ。
鍵の生成は既存の鍵を利用するようにした。

鍵を無くした方のインスタンスは削除する。

あれれ〜、まだ繋がらない!

セキュリティグループの設定で、ICMPによる通信を許可してpingを打ってみるが届かない。

pingすら届かないということは、プライベートキーの問題ではなく、ネットワークの問題だろう。
そういうわけで、VPCインスタンスが紐付ているかを確認したが問題なかったので、これはルーティングの問題だろうということで、ルートテーブルの設定を確認した。すると、パブリックのルートテーブルがどのサブネットとも紐付いていなかった。そういえば、これは「AWSを始める 〜 4.設定したVPCにインスタンスを作成する」で「デフォルトのサブネットが見つからない」というエラーが出ていたことと関係するな。
とにかく、パブリックサブネットにルートテーブルをひもづける。

pingで疎通確認。

sshで接続確認。

これで接続完了。
この時点で次のような構成になった。