これはただただ、紆余曲折経た経験談を書くだけの記事になります。
はじめ、キーペアなしでEC2を立ち上げ、サーバOSはDebian12を指定。
もともと、AWS SSMセッションマネージャーを介してEC2接続する実験をしていたので、
セキュリティグループもSSH22ポートは解放せず。
何が起きたかといいますと。。。
「あれ?セッションマネージャー経由でEC2接続できない?」
↓
今までamazon Linuxばかり使用していたから、SSMエージェントがプリインストールされている状態とは知らず(ここらへん、サーバやインフラに詳しい方ならピンときたかも)、IAMロールの設定、ネットワーク設定(セキュリティグループ、ネットワークACL、インバウンド、アウトバンド、VPCやサブネット周りを調べてました)
↓
「いつもと違うのは、Debian(OS)を指定しているからか!?」
調べて、SSMエージェントがプリインストールされていない、という仮説が立ちます。
↓
「それじゃあ、SSMエージェントがインストールされているかどうか調べよう!」
しかし、そもそもSSHクライアントからの接続は考えておらず、ポート22番(SSH接続)を許可していませんでした。
↓
「セキュリティグループを変更だ!」
セキュリティグループを変更しますが、そもそも、キーペアって後からEC2にアタッチするようなことができるのか?
↓
調べましたが、、、、EC2インスタンス作成時にキーペアを設定し忘れた場合、後からキーペアを「付与」するという直接的な操作はAWSコンソール上にありませんでした。
なんらかの方法でインスタンスにOSログインし、~/.ssh/authorized_keysなどのファイルに新しいキーペアの公開鍵を追加する必要があります。。。
↓
セッションマネージャー経由やユーザデータを使用する方法があるらしいのですが、
結局SSMセッションマネージャーで接続もできず、ユーザデータのスクリプトを打つのは調べるのに時間かかるとふんで、最初からやりなおすことに。(今思えば、練習でユーザデータのスクリプト打っても良かった)
↓
新しくEC2を作成し、その時にキーペアを一緒に作成し、無事にEC2へSSHクライアントから接続できました。