Featured image of post 【罠】AWSのEC2インスタンスにPingが通らない原因と解決方法【瞬殺】

【罠】AWSのEC2インスタンスにPingが通らない原因と解決方法【瞬殺】

656文字

あれ、Pingが通らないぞ・・・?

先日、EC2インスタンスを構築し、疎通確認のためにローカルマシンからPing通信を送ったところ、何も反応がありませんでした。。。

Pingコマンド
ping {ElasticIP}
PING {ElasticIP} ({ElasticIP}): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C
--- {ElasticIP} ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss

むむ。。。

サーバーにはSSH通信で入れるし、試しにApacheを入れてみると正常にindex.htmlが表示されるので、サーバーが止まっているわけではなさそうなのに。。。orz

原因はAWSのデフォルトのセキュリティグループの設定

これは、AWSのセキュリティグループでPing通信に該当するICMP(Internet Control Message Protocol)の接続許可がデフォルトでは許されていないのが原因でした。

<[adsense-responsive]/div>

なので、セキュリティグループのインバウンドに以下のような設定を追加すればPing通信が可能になります。

タイプすべてのICMP
プロトコルICMP
ポート範囲0 - 65535
ソースカスタム:{許可するIPアドレス}
説明任意

確認

では、もう一度タイムアウトが発生していたサーバーにPing通信を試みてみましょう。

Pingコマンド
ping {ElasticIP}
PING {ElasticIP} ({ElasticIP}): 56 data bytes
64 bytes from {ElasticIP}: icmp_seq=0 ttl=236 time=19.232 ms
64 bytes from {ElasticIP}: icmp_seq=1 ttl=236 time=13.820 ms
64 bytes from {ElasticIP}: icmp_seq=2 ttl=236 time=13.606 ms
^C
--- {ElasticIP} ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 13.606/15.553/19.232/2.603 ms

正常にパケットが返ってくるようになりましたね。

終わりに

とても初歩的なことですが、当たり前のようにPingが出来るものだと思い込んでいると、この原因に気付かずにインフラ環境構築でハマってしまう可能性がありますので、AWSでサーバー構築をする際には是非念頭に入れておくといいでしょう。