AWSのEC2インスタンスをpingで確認できるようにする

classroom-1189988_1280

稼働中のサーバーやパソコンなら、当たり前のように応答する「pingコマンド」ですが、実は、AWS(Amazon Web Service)に作成したWindowsサーバー(EC2)は、設定を変更しないと応答しないんです。

わずか30分しかも無料!AWS EC2でクラウドな最新Redmineサーバーを公開する方法
「Amazon Web Service(AWS)」のEC2で、クラウドな最新のRedmineサーバーを公開する方法です。アカウントがあれば、サーバー構築から公開まで、のんびり作業しても30分ほどで完成します。ストレージの上限が30GBなど制約はありますが、アカウントには一年間の無料利用枠(750時間/月)が付いているので、ご自分で作業すれば費用はかかりません。

「pingコマンド」では、次のようなことが分かります。

  • ラウンドトリップタイム(RTT)の計測
  • パケットロスの有無と割合の確認
  • DNSに関する障害の有無

障害発生時は、調査範囲の絞り込みに役立ちそうですね。

2、3分でできるので、是非、設定しておきましょう。

スポンサーリンク

先ずはpingを送信してみる

先ずは、コマンドプロンプトを起動して、WindowsサーバーのEC2インスタンスが持つパブリックDNSに、pingを送信してみます。

まだpingに応答するよう設定していないので、応答要求がタイムアウトしていますね。

ですが、パブリックDNSが正確にパブリックIPに変換されており、これだけでもDNSに関して問題ないことはわかります。

EC2インスタンスにICMPを追加

Windowsサーバーがpingに応答しないのは、そのEC2インスタンスのセキュリティグループのインバウンドに、ICMP(Internet Control Message Protocol)が設定されていないためです。

AWSのマネジメントコンソールにログインして、EC2のセキュリティグループを表示します。

EC2インスタンスで使用しているセキュリティグループを選択して、「インバウンド」タブの[編集]をクリックします。

[ルールの追加]をクリックします。

タイプのプルダウンリストから「すべてのICMP」を選択します。送信元は、既知のIPアドレス(pingを送信する可能性のあるIPアドレス)が決まっている場合は、絞ることができます。入力したら[保存]をクリックします。

pingへの応答を確認

設定できたことを確認したら、もう一度、pingを送信してみましょう。

AWSのWindowsサーバー(EC2)が、「pingコマンド」に応答するようになりました。

とても簡単でしょ?

余談ですが、ぼくのこのサーバー、リージョンは米国西部(オレゴン)になっています。自分のサーバーが行ったこともないオレゴン州のデータセンターにあって、海を越えて応答が帰ってきていると思うと、ちょっと楽しいです。