AWS で実行されている EC2 インスタンスがあります。ローカル ボックスから ping を実行しようとしても、利用できません。
インスタンスを ping 可能にするにはどうすればよいですか?
AWS で実行されている EC2 インスタンスがあります。ローカル ボックスから ping を実行しようとしても、利用できません。
インスタンスを ping 可能にするにはどうすればよいですか?
新しい EC2 セキュリティ グループのインバウンド ルールを追加します。
EC2 インスタンスが属するセキュリティ グループを編集してアクセスを許可する (または、新しいセキュリティ グループを作成してそれにインスタンスを追加する) 必要があります。
デフォルトでは、すべてが拒否されます。セキュリティ グループに追加する必要がある例外は、インターネットで利用できるようにする必要があるサービスによって異なります。
Web サーバーの場合は、ポート(つまり、任意の IP アドレス80
)へのアクセスを許可する必要があります。0.0.0.0/0
インスタンスへの ping を許可するには、ICMP トラフィックを有効にする必要があります。
AWS Web コンソールは、関連するドロップダウン リストで最も一般的に使用されるオプションのいくつかを提供します。
セキュリティ グループのカスタム 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.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.「保存」をクリック
All ICMP を使用した新しいセキュリティ グループの作成はうまくいきました。
SDK を介してプログラムで (どこからでも) ping を有効にする場合、魔法の公式は次のとおりです。
cidrIp: "0.0.0.0/0"
ipProtocol: "icmp"
toPort: -1
fromPort: 8
たとえば、Scala (AWS Java SDK v2 を使用) では、次のように動作しIpPermission
てauthorizeSecurityGroupIngress
エンドポイントの を定義します。
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 で必要なエグレス ルールはわかりません)
デフォルトでは、EC2 は AWS セキュリティ グループ (EC2 と VPC にあるサービス) によって保護されています。セキュリティ グループはデフォルトで、ping を含むすべての ICMP リクエストを許可しません。許可するには:
Goto: AWS EC2 Instance Locate:そのインスタンスにバインドするセキュリティ グループ (複数のセキュリティ グループを持つことが可能です) チェック:プロトコル (ICMP) ポート (0 - 65535) のインバウンド ルールが存在しない場合は、追加して許可することができます指定した送信元 IP または別のセキュリティ グループ。
ルールを「カスタム ICMP」ルールとして設定し、どこでも「エコー応答」を設定すると、チャンピオンのように機能します。「エコー要求」は、ping に応答するための間違ったルールです。
ec2 インスタンスの新しいポートにアクセスするとき。2か所追加しました。1. セキュリティ グループのインバウンド ポート。2. ファイアウォール設定のインバウンド ルール。