立ち上げたEC2がSSHできなかったので、そのときに調べたメモ

立ち上げたEC2がSSHできなかった(Timeout)のでそのとき調べたときのメモ

結論いうとpublicIpが設定されていなかった

最初ルートテーブルあたりの設定かと踏んだけれども特に不備を見つけられなかった

最初に見た資料 よくあるトラブルシューティング https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout セキュリティグループルールやルーティングまわりのことが記載されている

ここらへん見たけど、解決できなかった(見落としているかも)

EC2立ち上げるときに設定ミスしたかと思い、新しいインスタンス立ち上げたらSSHで接続できたのでルーティング自体に問題ないと判断。 最初に接続できなかったインスタンスにEIPを付与したグローバルIP経由でSSHできた。

その他メモ

プライベートIPがないのは割と最初の方から気になっていたもののEC2のアクションから接続のコマンドが表示されていたので、問題ないかと思ってしまった。
プライベートIPでSSHする際は踏み台やELB経由(制限などが理由でインスタンスにもEIPにも空きが無い時など)で使用できる

参考 プライベートなEC2に一時的にSSHする3つの方法 https://dev.classmethod.jp/etc/bastion-3way-rk/

一度インスタンス立ち上げるときに設定しないとEIPでないpublic ip割り当てるの少しめんどくさそうなので気をつける

VPC内のEC2インスタンスにもEIPでないPublic IPを割り当てることができるようになっている。 ただしこの設定はインスタンスをローンチするときしかできない。 (2015/07/29追記)変更するにはいったんAMI化して再ローンチすればよい。

VPC内EC2インスタンスにPublic IPを割り当てるには http://sheeplogh.hatenablog.com/entry/2015/07/29/121948

EC2 における Public IP と Elastic IPの違いに関して https://awsjp.com/AWS/hikaku/Elastic-IP_Public-IP-hikaku.html

ここらへん、たまにしか触らないのですぐ忘れるので記録して少しずつ定着させていきたい