AWSでEC2インスタンスを実行しています。自分のローカルボックスからpingを実行しようとすると、利用できません。
インスタンスをping可能にする方法
新しいEC2セキュリティグループインバウンドルールを追加します。
EC2インスタンスが属する セキュリティグループ を編集してアクセスを許可する(または新しいインスタンスを作成してインスタンスを追加する)必要があります。
デフォルトではすべてが拒否されています。セキュリティグループに追加する必要がある例外は、インターネットで利用できるようにするために必要なサービスによって異なります。
Webサーバーの場合は、80
のためにポート0.0.0.0/0
へのアクセスを許可する必要があります( これは任意のIPアドレス を意味します)。
インスタンスへのpingを許可するには、ICMPトラフィックを有効にする必要があります。
AWS Webコンソールの関連ドロップダウンリストには、最も一般的に使用されるオプションがいくつかあります。
数年遅れていますが、うまくいけばこれは他の人を助けるでしょう...
1)最初にEC2インスタンスにパブリックIPがあることを確認してください。 パブリックDNSまたはパブリックIPアドレス(下の丸で囲まれている)がある場合は、それでいいでしょう。これはあなたがpingするアドレスになります。
2)次に、Amazonネットワークルールが Echo Requests を許可することを確認します。 EC2のセキュリティグループに移動します。
3)次に、Windowsファイアウォールはデフォルトで受信エコー要求をブロックします。 Windowsファイアウォールの例外を作成してエコー要求を許可する...
4)完了しました。うまく行けば、サーバーにpingを送信できるはずです。
セキュリティグループのカスタムICMPルールは、少なくとも私にとってはそうではありません。しかし、以下のルールが機能します。
Type: All ICMP
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0
これをした後、あなたは他のインスタンスをpingすることができるでしょう。次のようなものが見えるはずです。
PING 10.0.0.15 (10.0.0.15): 56 data bytes
64 bytes from 10.0.0.14: icmp_seq=1 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=2 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=3 ttl=64 time=10.6 ms
64 bytes from 10.0.0.14: icmp_seq=4 ttl=64 time=40.6 ms
64 bytes from 10.0.0.14: icmp_seq=5 ttl=64 time=3.8 ms
64 bytes from 10.0.0.14: icmp_seq=6 ttl=64 time=5.3 ms
64 bytes from 10.0.0.14: icmp_seq=7 ttl=64 time=6.5 ms
64 bytes from 10.0.0.14: icmp_seq=8 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=9 ttl=64 time=21.0 ms
64 bytes from 10.0.0.14: icmp_seq=10 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=11 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=12 ttl=64 time=59.7 ms
64 bytes from 10.0.0.14: icmp_seq=13 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=14 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=15 ttl=64 time=4.8 ms
64 bytes from 10.0.0.14: icmp_seq=16 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=17 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=18 ttl=64 time=3.0 ms
64 bytes from 10.0.0.14: icmp_seq=19 ttl=64 time=3.1 ms
--- 10.0.0.14 ping statistics ---
20 packets transmitted, 19 packets received, 5% packet loss
round-trip min/avg/max = 3.0/9.9/59.7 ms
それでおしまい。
下記のチェックリストをご覧ください
1)インスタンスがインターネットから到達可能なサブネットで起動されているかどうかを最初に確認する必要があります。
そのためには、インスタンスが起動したサブネットにインターネットゲートウェイが接続されているかどうかを確認してください。AWSのネットワークの詳細については、以下のリンクを参照してください。
aws vpcのパブリックサブネットとプライベートサブネット
2)適切なセキュリティグループルールが追加されているかどうかを確認します。not not instanceに接続されているセキュリティグループに以下のルールを追加します。セキュリティグループは起動されるすべてのインスタンスにファイアウォール接続されています。デフォルトでは、すべてのセキュリティグループは、インスタンスからのすべての発信トラフィックを許可し、インスタンスへの着信トラフィックは許可しません。トラフィックの詳細については、次のリンクを確認してください。
タイプ:カスタムICMPV4
プロトコル:ICMP
ポートレンジ:エコー要求
ソース:0.0.0.0/0
NACLと呼ばれるサブネットレベルのファイアウォールに十分なルールがあるかどうかを確認します。NACLは、インバウンドトラフィックとアウトバウンドトラフィックの両方を別々に指定する必要があるステートレスファイアウォールです。NACLはサブネットレベルで適用されます。 NACLの規則。以下は、詳細なリンクです。
インバウンドルール。 送信ルール
タイプ:カスタムIPV4タイプ:カスタムIPV4
プロトコル:ICMPプロトコル:ICMP
Portrange:ECHO REQUEST Portrange:エコーリプライ
ソース:0.0.0.0/0宛先:0.0.0.0/0
許可/拒否:許可許可/拒否:許可
4)IPTABLESのようなファイアウォールをチェックし、pingをテストすることができません。
All ICMPを使用して新しいセキュリティグループを作成することができました。
EC2インスタンスのセキュリティグループに移動し、ICMPの0.0.0.0/0を許可する受信ルールを編集します。
それが動作します。
あなたが "Custom ICMP"ルールと "echo reply"としてルールをどこにでも設定すれば、それはチャンピオンのように働くでしょう。 「エコー要求」はpingに答えるための間違った規則です。
セキュリティグループに対する terraform の具体的な説明は、-1は私にとって明白ではなかったためです。
resource "aws_security_group" "Ping" {
vpc_id = "${aws_vpc.MyVPC.id}"
ingress {
from_port = -1
to_port = -1
protocol = "icmp"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
}
セキュリティグループで開き、VPCが正しい場合、内部ネットワークがそのIP pingをブロックしているか、ファイアウォールでpingパケットをブロックしている可能性があります。
私はLinuxサーバからEC2に接続しようとするのと同じ問題を抱えていました、あなたは2つが上記のようにEC2から追加され、それだけではうまくいかないことを確認2.4、以前のバージョン2.2では動作しませんでした。
ネットワークセキュリティグループに移動し、ソースネットワークIP(サーバーにpingを送信するPC)ですべてのICMPポートを開きます。数秒後、再度pingを試行します。パブリックからのアクセスを制限してください。
私はより深い問題を抱えていました - 私はVPC、サブネット、そして適切なセキュリティグループを作成しましたが、インターネットゲートウェイを追加してそれを私のサブネットに関連付けることを怠りました。これは "Can't ping ec2"の私の最初のグーグル結果であるので、私はそれが他の誰か(または将来私自身)にとって有用であることを証明する場合に備えてこの情報をここに掲載する。
はい、ポートへのアクセスを開く必要があります。セキュリティグループを見る http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
EC2インスタンスは、必要なアクセスを許可するセキュリティグループにアタッチする必要があります。
1.Go to EC2 Dashboard and click "Running Instances" on "Security Groups"
2.select the group of your instance which you need to add security.
3.click on the "Inbound" tab
4.Click "Edit" Button (It will open an popup window)
5.click "Add Rule"
6.Select the "Custom ICMP rule - IPv4" as Type
7.Enter the "0.0.0.0/0" as Source or your public IP
7.「保存」をクリックします