EC2インスタンスにPingが通らず疎通確認ができない時の対処法
はじめに
こんにちは。今回は、AWSのLinux EC2インスタンスにPingを試みた際に疎通確認ができず、その原因と解決方法について記載します。
背景
サーバーへの疎通確認をする際にpingコマンドを利用することはよくあると思います。AWSでLinuxのインスタンスを立てた際に例の如く試してみたのですが、残念ながらPingが通りませんでした。
ping ec2-54-199-142-193.ap-northeast-1.compute.amazonaws.com
PING ec2-54-199-142-193.ap-northeast-1.compute.amazonaws.com (54.199.142.193): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
^C
--- ec2-54-199-142-193.ap-northeast-1.compute.amazonaws.com ping statistics ---
8 packets transmitted, 0 packets received, 100.0% packet loss
SSH接続は問題なく行えていたため、インスタンス自体は正常に動作していることがわかりました。そこで、原因を探るべくいくつか試してみることにしました。
試したこと
1.セキュリティグループのTCPポートを全開放
問題があるのはセキュリティグループだろうと当たりをつけました。もしかすると、インバウンドルールに問題があるかもと思い、TCPポートをすべてのIPに対して開放しました。
しかし、これでは状況は改善せず、Pingは相変わらず通りませんでした。
2.ICMPポートを解放
pingについて調べるとどうやら「ICMPを使用している」ということが判明したのでセキュリティグループのインバウンドルールにICMPを設定することを試みました。
結果
ICMPの設定を追加したことで、無事にPingが通るようになりました!
ping ec2-54-199-142-193.ap-northeast-1.compute.amazonaws.com
PING ec2-54-199-142-193.ap-northeast-1.compute.amazonaws.com (54.199.142.193): 56 data bytes
64 bytes from 54.199.142.193: icmp_seq=0 ttl=112 time=50.234 ms
64 bytes from 54.199.142.193: icmp_seq=1 ttl=112 time=62.147 ms
64 bytes from 54.199.142.193: icmp_seq=2 ttl=112 time=39.205 ms
64 bytes from 54.199.142.193: icmp_seq=3 ttl=112 time=34.470 ms
^C
--- ec2-54-199-142-193.ap-northeast-1.compute.amazonaws.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 34.470/46.514/62.147/10.685 ms
余談
PingとICMPポートについてのまとめをしてこの記事を終わりにしようと思います。
ICMP
一言で表すと「ネットワークで繋がっている機器同士の通信状況を確認するためのプロトコル」です。
具体的には、ネットワーク層で動作するプロトコルであり、次の目的で利用されます。
- ネットワークの疎通確認
- エラーメッセージの通知
- パケット送受信の管理
ICMPを利用することでネットワーク間の問題を特定することができます。
ping
一言で表すと「CMPプロトコルを使用してネットワークの疎通状況を確認するコマンド」です。
具体的には対象機器に「Echo Request」を送信し、「Echo Reply」が返ってくるかどうかを確認します。
セキュリティ上の問題で環境によっては制限されていることも多いようです。
おしまい。
Discussion