(1)スクリーンショット取得
まずAWSマネージメントコンソールよりスクリーンショットを取得して状況を確認してください。
またインスタンスを再起動中のスクリーンショットを取得することにより、起動時のログを確認することができます。これに問題解決のヒントが含まれる可能性があります。
(2)PINGチェック
pingを送信します。
・要求がタイムアウトしました (Request timed out)
この場合はIPは存在しているが接続が拒否されている可能性があります。インスタンスのfirewalldの状況に問題があるかもしれません。
・宛先ホストに到達できません (Destination Host Unreachable)
この場合はそもそもIPが存在していない可能性があります。
(3)EC2インスタンスコネクトを使用する。
EC2インスタンスコネクトとはAWSマネージメントコンソールより直接ログインする方法です。root アカウントでログインが可能です。
VMware のコンソール接続と同じ感じでしょうか。ただしデフォルトでは権限が付けられていないのでEC2インスタンスコネクトは使用できません。
裏口(バックドア)を利用したログインのようなものなのでセキュリティの観点から十分に気を付ける必要があります。
参考:EC2 Instance Connect を使用して接続
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html
(3)ユーザデータ
ユーザデータにコマンドを記載することによりAMIからインスタンスを生成するときに1度だけコマンドを実行することが可能です。
もしiptabbles などに問題がある場合は、このコマンド内にiptablesのフィルタをクリアするコマンドを入れれば無事に疎通が可能となるかもしれません。
#!/bin/bash
iptables -F
service sshd restart
参考:EC2 インスタンスに SSH で接続しようとすると、「接続が拒否されました」または「接続がタイムアウトしました」というエラーが表示されます。解決方法を教えてください。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-linux-resolve-ssh-connection-errors/
(4)他のインスタンスにボリューム接続
他の正常に動作しているLinux系インスタンスにこのインスタンスのボリュームをアタッチして設定を確認するのも一つの方法です。
基本的にLinux系の設定はファイルベースなのでファイルを修正することにより問題を解決することが可能な場合があります。
その他"AWS Systems Manager Session Manager を使用する"や"AWSSupport-TroubleshootSSH オートメーションドキュメントを実行する"などの方法があります。
同じく上記のリンクを参考にしてください。
【超重要】本ページは情報が古くなっている可能性があります。参考程度にしてください。
[ 一覧に戻る]
【注意事項】本ページの内容は個人的に調査した結果がであり内容が正しいことは保証されません。
またAWSサービスは常に改良、アップデートされており本ページの内容が古く誤った内容になる可能性もあります。変更になっても本ページが正しく更新されるとは限りません。
あくまでも参考程度でご覧ください。内容により発生したいかなる時間的損害、金銭的損害、その他の損害に関しても何人も保証しません。