Open1
EC2 Instance ConnectでSSH接続できない
AWSで遊んでみようということでEC2のインスタンスを生やしてみた。EC2 Instance Connectを使うとブラウザを使ってSSH接続することができるそうで、これが手っ取り早い。早速やってみようと思ったら接続がコケるコケる!
なんやかんやあって解決に至ったので、ここに屍を置いておく。
前提
- 設定はほとんどデフォルト
- セキュリティーグループの設定で家のIPからのインバウンド通信のみを受け付けるようにした
状況
EC2 Instance Connectを使って接続しようとしたが、エラーが出て接続できなかった。
原因
EC2 Instance Connectを使った接続も当然ながらインバウンド通信である。その発信元となるIPアドレスからの接続を許可していなかった。
対処
EC2 Instance Connectを使う時の発信元となるIPアドレスからのインバウンド通信を許可する。
セキュリティーグループの設定で使えるマネージドプレフィックスリストというものがあり、EC2 Instance Connectの発信元IPもこれに収録されている。このリストを使用して通信を許可すると、無事SSH接続する事ができた。
参考
この記事に書いてあることに素直に従うと、セキュリティーグループにIPアドレスをハードコードすることになる。前述のマネージドプレフィックスリストを使った方が無難そう。
IP Rangesがいっぱい載ってるjson。当初はここからEC2_INSTANCE_CONNECT
なエントリを探し出しハードコードしていた。