EC2にpingが通らない?!

ht-kittan
2025-09-04
2025-09-04

EC2にSSHでログインできているのにping が通らない?

AWSの勉強を始めたての頃、よく引っかかっていたトラップですが、久しぶりに「あれ?」っとなって一瞬つまずいたので、改めて備忘録を兼ねて記しておきたいと思います。

筆者はプロトタイプなどをラフに開発したい時や、未知のツールを雑にインストールしてお試しする時の為の、使い捨てEC2向けに、特定のVPNからの全てのTCP接続を許可するセキュリティグループを作っています。大抵はHTTPSとSSHが開いていれば事足りるので、このセキュリティグループは普段はあまり使用しませんが、たまに使うと「全部開いているはず」という思い込みがトラップになります。

なぜpingが通らないか?

ping は 、ICMPプロトコルだから!


これです。SSHやHTTPSなどのサービスポートはTCP/IPです。
そのため、EC2のTCPポートを全て許可してもpingは通りません。

以下のようにタイプの選択にも ping は出てきません。
ping を許可するにはICMPプロトコルの接続を許可する必要があります。

解決策:ICMP接続を許可する

セキュリティグループにICMP接続許可を追加する

「セキュリティグループの編集」画面から、インバウンドルールで「すべてのICMP-IPv4」を追加して保存します。

このように設定してから、改めてpingを試してみます。

これで問題なくpingが通るようになりました。

まとめ

pingがTCP/IPではなくICMPであることをつい忘れがちですね。
理解していればセキュリティグループに追加するだけなので簡単に解決します。

なお、TCP/IP、ICMPにかかわらず、全てのIPからの全アクセスを許可することは危険を伴いますので、接続元を特定IPからに制限するなど、注意が必要です。