稼働中のサーバーやパソコンなら、当たり前のように応答する「pingコマンド」ですが、実は、AWS(Amazon Web Service)に作成したWindowsサーバー(EC2)は、設定を変更しないと応答しないんです。
「pingコマンド」では、次のようなことが分かります。
- ラウンドトリップタイム(RTT)の計測
- パケットロスの有無と割合の確認
- DNSに関する障害の有無
障害発生時は、調査範囲の絞り込みに役立ちそうですね。
2、3分でできるので、是非、設定しておきましょう。
先ずはpingを送信してみる
先ずは、コマンドプロンプトを起動して、WindowsサーバーのEC2インスタンスが持つパブリックDNSに、pingを送信してみます。
まだpingに応答するよう設定していないので、応答要求がタイムアウトしていますね。
ですが、パブリックDNSが正確にパブリックIPに変換されており、これだけでもDNSに関して問題ないことはわかります。
インバウンドにICMPを追加
Windowsサーバーがpingに応答しないのは、そのEC2インスタンスのセキュリティグループのインバウンドに、ICMP(Internet Control Message Protocol)が設定されていないためです。
AWSのマネジメントコンソールにログインして、EC2のセキュリティグループを表示します。
EC2インスタンスで使用しているセキュリティグループを選択して、「インバウンド」タブの[編集]をクリックします。
[ルールの追加]をクリックします。
タイプのプルダウンリストから「すべてのICMP」を選択します。送信元は、既知のIPアドレス(pingを送信する可能性のあるIPアドレス)が決まっている場合は、絞ることができます。入力したら[保存]をクリックします。
pingへの応答を確認
設定できたことを確認したら、もう一度、pingを送信してみましょう。
AWS EC2のWindowsサーバーが、「pingコマンド」に応答するようになりました。
とても簡単でしょ?
余談ですが、わたしのサーバー、リージョンは米国西部(オレゴン)になっています。自分のサーバーが行ったこともないオレゴン州のデータセンターにあって、海を越えて応答が帰ってきていると想像すると、ちょっと楽しいです。
コメント