AWS EC2インスタンスにpingできない


230

AWSでEC2インスタンスを実行しています。ローカルボックスからpingしようとすると、使用できません。

インスタンスをping可能にするにはどうすればよいですか?


セキュリティグループでICMPを有効にしたくないので、単にpingを実行する代わりに、開いているポートにTelnetで接続します。
Aderemi Dayo

回答:


280

新しいEC2セキュリティグループの受信ルールを追加します。

  • タイプ:カスタムICMPルール
  • プロトコル:エコー要求
  • ポート:なし
  • ソース:あなたの選択(どのマシンからでもpingできるようにAnywhereを選択します)

3
ありがとう、私はこれが好きです。pingすべてではなく、のみを許可します。
Chu-Siang Lai

ICMPv6も必要ですか?
フランクリンユー

それも試すことができます。しかし、ICMPは私には十分でした
Rakib 2017年

1
私はどこでもやっていますが、自動的にカスタム@SyedRakibAlHasanに変換されます
alper

25
「エコーリプライ」を「エコーリクエスト」と間違えやすいので、ちょっと戸惑いました。
アンディ

100

数年遅れますが、うまくいけばこれは他の誰かを助けるでしょう...

1)最初に、EC2インスタンスにパブリックIPがあることを確認します。パブリックDNSまたはパブリックIPアドレス(以下に丸で囲まれている)がある場合は、問題ありません。これは、pingするアドレスになります。 AWSパブリックDNSアドレス

2)次に、Amazonネットワークルールでエコーリクエストが許可されていることを確認します。EC2のセキュリティグループに移動します。

  • 右クリックして、インバウンドルールを選択します
  • A:Add Ruleを選択します
  • B:カスタムICMPルールの選択-IPv4
  • C:エコー要求を選択
  • D:[ どこでも]または[ マイIP]を選択します
  • E:[ 保存 ]を選択します

セキュリティグループのICMPルールを追加して、pingとエコーを許可する

3)次に、Windowsファイアウォールはデフォルトで受信エコー要求をブロックします。Windowsファイアウォールの例外を作成して、エコー要求を許可します...

  • [スタート]に移動し、セキュリティが強化されたWindowsファイアウォールと入力します。
  • インバウンドルールを選択

Windows Server ICMPルールを追加して、pingとエコーを許可する

4)できました!うまくいけば、サーバーにpingできるようになります。


1
あなたは私の日を救った!どうもありがとう
Yugandhar Pathi

3
最善の答えです。非常に徹底しています。
ブライアンウェブスター

2
Windowsファイアウォールが原因であり、これまでのところ他の回答では言及されていません。
crokusek

これでpingを実行できますが、ポートでリッスンしているノードアプリに到達可能にする方法を知っていますか?
FluffyBeing

@zeion-私はAWSをしばらく使用していなかったので(2017年の初めに試用中でした)、あまり役に立たないでしょう。私が考えることができる唯一のこと(あなたがすでに試したことは確かです)は、上記の項目を使用することですが、アプリに必要なポートです。Windowsファイアウォール部分については、ビルド済みのルールがおそらくリストされないため、新しいルールを作成できると思います。
サンセットクエスト

84

EC2インスタンスが属するセキュリティグループを編集してアクセスを許可する必要があります(または、新しいセキュリティグループを作成してインスタンスを追加する必要があります)。

デフォルトでは、すべてが拒否されます。セキュリティグループに追加する必要のある例外は、インターネットで利用できるようにする必要のあるサービスによって異なります。

それはウェブサーバである場合は、ポートへのアクセスを許可する必要があります80のために0.0.0.0/0任意のIPアドレスを意味します)。

インスタンスへのpingを許可するには、ICMPトラフィックを有効にする必要があります。

AWSウェブコンソールは、関連するドロップダウンリストで最もよく使用されるオプションのいくつかを提供します。


7
All ICMP指定されたセキュリティグループを使用してマシンへのトラフィックを有効にすることは、私にとって非常に役立ちました。
ジョナサンウィリアムズ

セキュリティグループを作成および編集するだけでなく、インスタンスに関連付ける必要があります。そうして初めて、それが有効になります。
MikeW

セキュリティグループを使用すると、インスタンスに到達できるトラフィックの種類など、インスタンスへのトラフィックを制御できます。`` `1.セキュリティグループを確認します(PORTSがOPENになっていることを確認します)2.正しいVPCを確認します3.正しいサブネットに接続しました4. AWS EC2をパブリックサブネットに含めます5.インターネットゲートウェイを有効にします` ``ポートを開きますAWS EC2はこのリンクを公式にチェックしますAWS [リンク] [1]回答はTapan Nayan Bankerによって投稿されています| Tapanバンカーwww.tapanbanker.com
Tapanバンカー

40

セキュリティグループのカスタム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
これに関連するセキュリティの問題はありませんか?
Victor Anuebunwa 2017

おそらくIPを指定する必要があります
Laura Liparulo 2017年

@avonnadozie、はい、すべてのICMPポートを開くべきではありません。
Kartik Narayana Maringanti 2017

1
「すべてのICMPポート」?どういう意味ですか?ICMPはTCPでもUDPでもなく、ポートもありません。
David Ongaro

32
  1. EC2ダッシュボードに移動し、[セキュリティグループ]の[インスタンスの実行]をクリックして、セキュリティを追加する必要があるインスタンスのグループを選択します。
  2. 「インバウンド」タブをクリックします
  3. [編集]ボタンをクリックします(ポップアップウィンドウが開きます)
  4. 「ルールの追加」をクリックします
  5. タイプとして「カスタムICMPルール-IPv4」を選択します
  6. プロトコルとして「エコー要求」と「エコー応答」を選択します(デフォルトではポート範囲は「N / A」と表示されます)
  7. ソースとして「0.0.0.0/0」を入力します
  8. 「保存」をクリック

12

以下のチェックリストをご確認ください

1)最初に、インスタンスがインターネットから到達可能なサブネットで起動されているかどうかを確認する必要があります

そのために、インスタンスが起動したサブネットにインターネットゲートウェイが接続されているかどうかを確認します。AWSでのネットワークの詳細については、以下のリンクにアクセスしてください。

aws vpcのパブリックサブネットとプライベートサブネット

2)適切なセキュリティグループルールが追加されているかどうかを確認します。追加されていない場合は、インスタンスに接続されているセキュリティグループに以下のルールを追加します。セキュリティグループは、起動されるすべてのインスタンスに接続されているファイアウォールです。セキュリティグループには、トラフィックを許可する受信/送信ルールが含まれています/ out of the instance。デフォルトでは、すべてのセキュリティグループがインスタンスからのすべての送信トラフィックを許可し、インスタンスへの受信トラフィックは許可しません。トラフィックの詳細については、以下のリンクを確認してください。

セキュリティグループのドキュメント

タイプ:カスタムICMPV4

プロトコル:ICMP

Portrange:エコー要求

ソース:0.0.0.0/0

awsコンソールからのスクリーンショット

3)NACLと呼ばれるサブネットレベルのファイアウォールに十分なルールがあるかどうかを確認します.NACLはステートレスファイアウォールであり、インバウンドとアウトバウンドの両方のトラフィックを個別に指定する必要があります.NACLはサブネットレベルで適用され、サブネットの下のすべてのインスタンスが該当しますNACLルール。以下は、詳細についてのリンクです。

NACLドキュメント

インバウンドルール送信ルール

タイプ:カスタムIPV4タイプ:カスタムIPV4

プロトコル:ICMPプロトコル:ICMP

ポートレンジ:ECHO REQUESTポートレンジ:ECHO REPLY

ソース:0.0.0.0/0デスティネーション:0.0.0.0/0

許可/拒否:許可許可/拒否:許可

スクリーンショットの受信規則

アウトバウンドルールのスクリーンショット

4)IPTABLESなどのファイアウォールを確認し、pingのテストを無効にします。


答え書き方。詳細を追加して、回答を正当化します。および書式設定ツールを使用する
Morse

フィードバックを提供してくれたprateekに感謝します。
Haneef Mohammed 2018

画像はハイパーリンクではなく画像として追加してください。スクリーンショットを編集して画像に変換する
Morse

なぜこれが反対投票されたのですか?大丈夫そうで理にかなっている
ウィトールドカズルバ

ウィトールド、あなたの懸念に感謝します。反対票を作ったいくつかのフォーマットの問題があったようです。私は今それらを修正しました。
Haneef Mohammed

6

All ICMPを使用した新しいセキュリティグループの作成がうまくいきました。


4

aws ec2を初めて使用し、それ以降にインスタンスにアクセスしたい場合はSSH, Broswer, Ping from system、以下のインバウンドルールです。

ここに画像の説明を入力してください


4

EC2インスタンスのセキュリティグループに移動し、ICMPに対して0.0.0.0/0を許可する受信ルールを編集します。

それが動作します。


3
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.「保存」をクリックします


1

デフォルトでは、EC2はAWS Security Group(EC2およびVPCにあるサービス)によって保護されています。セキュリティグループは、デフォルトで、pingを含むすべてのICMP要求を禁止しています。それを許可するには:

Goto: AWS EC2 Instance Locate:セキュリティグループがそのインスタンスにバインドします(複数のセキュリティグループを持つことが可能です) チェック:プロトコル(ICMP)ポートの受信ルール(0-65535)存在しない場合は追加して許可できます指定したソースIPまたは別のセキュリティグループ。


1

pingを(どこからでも)プログラムでSDKを介して有効にする場合、魔法の数式は次のとおりです。

cidrIp:     "0.0.0.0/0"
ipProtocol: "icmp"
toPort:     -1
fromPort:   8

たとえば、Scalaでは(AWS Java SDK v2を使用)、次のように機能しIpPermissionauthorizeSecurityGroupIngressエンドポイントのを定義します。

  val PingPermission = {
    val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
    IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
  }

(私はこれをEC2-Classicでのみ試しました。VPCで必要な下りルールがわかりません)


これを実際に
terraform

1

セキュリティグループを使用すると、インスタンスに到達できるトラフィックの種類など、インスタンスへのトラフィックを制御できます。

1. Check the Security Groups (Enabled the PORTS to be OPEN)
2. Check the correct VPC 
3. Attached the correct Subnet 
4. AWS EC2 to be in Public Subnet 
5. Enable Internet Gateway 

AWS EC2でポートを開き、このリンクの公式AWS リンクを確認します



0

ルールを「カスタムICMP」ルールおよび「エコー応答」として設定すると、どこでもチャンプのように機能します。「エコー要求」は、pingに応答するための間違ったルールです。


14
エコー応答は機能しませんでしたが、エコー要求は機能しました。
storm_m2138

0

さらに深い問題がありました。VPC、サブネット、適切なセキュリティグループを作成しましたが、インターネットゲートウェイを追加してサブネットに関連付けることを怠っていました。これは「Ca n't ping ec2」に対する最初のGoogleの結果なので、他の誰か(または将来私自身)に役立つと思われる場合に備えて、この情報をここに投稿します。


0

-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"]
  }
}

0

LinuxサーバーからEC2に接続するときに同じ問題が発生しました。上記のようにEC2から「ALL ICMP」が追加され、それだけでは機能しないことを確認するために、Ansibleを最新バージョンに更新する必要があります。 2.4、以前のバージョン2.2では機能しませんでした。


0

セキュリティグループで次のセキュリティポートを開く必要があります。以下に示すように、各ルールは異なる目的のためのものです。

ここに画像の説明を入力してください

  1. pingのすべてのICMP。

  2. HTTPポート上のURLにアクセスするためのHTTP。

  3. 保護されたHTTPポートでURLにアクセスするためのHTTPS。

要件に従って、SOURCEを変更できます


0

セキュリティグループで開き、VPCが正しい場合、内部ネットワークがそのIPをpingするか、ファイアウォールでpingパケットをブロックしている可能性があります。


-1

2つのシステムにpingを実行すると、デフォルトでSSHが有効になります(パテまたはターミナル経由で接続している場合)。pingを許可するために、各インスタンス(受信)にセキュリティグループを追加しました。

ここに画像の説明を入力してください


6
2番目のルール、「どこでも」からの「すべてのトラフィック」は、良い考えではありません。
Devin

-3

ec2インスタンスの新しいポートにアクセスするとき。2か所に追加しました。1.セキュリティグループの受信ポート。2.ファイアウォール設定の受信規則。


-3
  1. aws ec2インスタンスのパブリックIPを使用してpingを実行していることを確認してください。

  2. EC2インスタンスにアタッチされているセキュリティグループを編集し、ICMPプロトコルの受信ルールを追加します。

  3. pingを試してみて、問題が解決しない場合は、セキュリティグループにICMPの送信ルールを追加してください。


-4

いくつかのまれなISPによって引き起こされる問題について述べたいと思います。たまたま、BSNLで次のことが起こりました。それはあなたの日常生活から数時間かかる奇妙な問題の1つです。このような場合、ISPに問題を提起するか、ISPを変更する可能性があります。

  1. Amazonインスタンスにはブラウザーからアクセスできます(すべての開いているポート)
  2. 同じものをコンソールからpingすることはできません
  3. ssh / telnetも機能しません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.