セキュリティグループ、ファイアウォール、Elastic Network Interface (ENI) の問題、ルーティング、またはネットワーク ACL が原因で発生する、ECS のパブリック IP アドレスへの ping 失敗を診断し、解決します。
問題の説明
ローカルクライアントから ECS インスタンスのパブリック IP アドレスに ping できません。例:
-
Linux クライアントで、パブリック IP アドレスに ping しても応答がありません:

-
Windows クライアントでパブリック IP アドレスに ping を実行すると、[リクエストがタイムアウトしました] エラーが返されます:

セルフサービス トラブルシューティング ツールの使用
セルフサービス トラブルシューティング ツールは、セキュリティグループの設定、インスタンスのファイアウォール、アプリケーションポートのステータスを確認し、診断レポートを生成します。
をクリックしてセルフサービスのトラブルシューティングページに移動し、対象のリージョンに切り替えます。
ツールで問題を特定できない場合は、手動でのトラブルシューティングに進んでください。
手動トラブルシューティング
ローカルネットワークが正常に動作し、他の Web サイトにアクセスできる場合、ping の失敗は以下の問題が原因である可能性があります。
|
考えられる原因 |
解決策 |
|
ECS インスタンスは 実行中 状態ではありません |
|
|
ECS インスタンスの ENI が正常に動作していない |
|
|
VPC の IPv4 ゲートウェイ集中管理モードを有効にした後のルーティングの誤り |
|
|
vSwitch のネットワーク ACL が ICMP トラフィックを許可していない |
|
|
セキュリティグループが ICMP トラフィックを許可していない |
|
|
ECS インスタンスのファイアウォールがインバウンド ICMP リクエストをドロップしている |
|
|
ECS インスタンスのリソースボトルネックがネットワークの問題を引き起こしている |
|
|
国際的なキャリアネットワークの変動がインターネットアクセスの問題を引き起こしている |
|
|
ICP 登録の未了または名前解決の失敗 |
|
|
クライアントまたは中間ネットワークノードの問題 |
|
|
ECS インスタンスがブラックホールフィルタリングされている |
|
|
ECS インスタンスが侵害されている |
インスタンスステータスの確認
ECS インスタンスは、実行中 状態の場合にのみサービスを提供できます。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
ECS インスタンスを見つけ、そのインスタンス ID をクリックして詳細ページを開き、インスタンスのステータスを確認します。
インスタンスが実行中 状態でない場合は、「インスタンスを起動する」をご参照ください。
ENIステータスの確認
ping やリモート接続には、正常に機能する ENI が必要です。VNC を使用してインスタンスに接続し、ENI のステータスを確認してください。
-
ENI が有効になっているかどうかの確認
-
Linux インスタンスの場合は、
ip aコマンドを実行すると、プライマリ ENI eth0 がstate UPで表示されます。
-
プライマリ ENI eth0 が UP 状態でない場合は、
sudo ifup eth0またはsudo ip link set eth0 upコマンドを実行して ENI を再度有効にします。 -
インスタンスに セカンダリ ENI を設定した場合、一部の OS イメージでは自動的に認識されない可能性があります。インスタンス内で設定する必要があります。たとえば、設定されていないセカンダリ ENI に EIP を関連付けると、インターネット通信が失敗します。詳細については、「ステップ2:LinuxでのENIの設定」をご参照ください。
-
-
Windows インスタンスの場合:ENI ドライバーの誤動作により、通信障害が発生する可能性があります。
-
-
IP アドレス、サブネットマスク、ゲートウェイが割り当てられた値と一致していることの確認
ECS インスタンスは、パブリック IP アドレスとプライベート IP アドレス間の IP マッピングを使用してインターネット通信を行います。プライベート IP アドレスが誤って設定されていると、インターネット通信が失敗します。プライベート IP アドレスは、有効な割り当て済み IP アドレスである必要があります。
-
Linux インスタンスの場合:
ip aコマンドを実行します。ENI のプライマリプライベート IPv4 アドレスが表示されます。
-
デフォルトの DHCP による IP アドレス自動割り当てを維持してください。ネットワークが変更された場合 (VPC の切り替えや IP アドレスの変更など) 、内部設定が自動的に更新されます。詳細については、「LinuxイメージでネットワークのDHCPを設定する方法」をご参照ください。
-
[静的設定] を手動で適用する場合は、割り当てられた値と一致していることを確認してください。不一致があると、ネットワーク通信に異常が発生します。詳細については、「LinuxインスタンスのENI設定ファイルとコンソール間のIPアドレスの不一致を解決する」をご参照ください。
-
デフォルトでは、ENI はプライマリプライベート IP アドレスのみを認識します。セカンダリプライベート IP アドレスを割り当てた場合は、インスタンス内で設定する必要があります。設定されていないセカンダリプライベート IP アドレスに EIP を関連付けると、通信が失敗します。詳細については、「セカンダリプライベートIPアドレスを認識するようにオペレーティングシステムを設定する」をご参照ください。
-
-
Windows インスタンスの場合は、内部ネットワーク接続情報を確認します。
-
VPC IPv4 ゲートウェイ設定の確認
デフォルトでは、VPC 内のリソースはパブリック IP アドレスを介して直接インターネットと通信します。IPv4 ゲートウェイを有効にすると、すべてのインターネットトラフィックがゲートウェイによって管理され、ゲートウェイのポリシー変更は VPC 内のすべてのインスタンスに影響します。
たとえば、IPv4 ゲートウェイを有効化した後にデフォルトのルートエントリを削除したり、ゲートウェイを削除するときにプライベートモードを選択したりすると、ECS インスタンスを含むすべての VPC リソースのインターネットアクセスが中断されます。
-
VPC が [IPv4 ゲートウェイの集中管理モード] であるかどうかを確認します。
VPC が IPv4 ゲートウェイの集中管理下にない場合は、この確認をスキップしてください。
-
IPv4 ゲートウェイの集中管理を維持するには、ゲートウェイのルーティング設定を確認します。
-
-
他のカスタムルートエントリを設定した場合は、ルーティングリンクが正しいことを確認してください。
-
-
集中管理の IPv4 ゲートウェイ管理が不要になった場合は、[パブリックモード] で IPv4 ゲートウェイを削除してください。
詳細については、「IPv4 ゲートウェイ」をご参照ください。
vSwitch のネットワーク ACL の確認
ネットワーク ACL は、Virtual Private Cloud (VPC) 内のネットワークアクセスを制御します。ネットワーク ACL を vSwitch に関連付けると、インスタンスの インバウンド と アウトバウンド のトラフィックが ACL ルールによって制限されます。
-
VPCコンソールにログオンします。
-
左側のナビゲーションペインで、 を選択します。
-
左上隅で、ECS インスタンスのリージョンを選択します。
-
VPC のネットワーク ACL が存在するかどうかを確認します。
-
ACL が存在しない、または vSwitch に関連付けられていない場合:この確認をスキップしてください。
-
ACL が存在し、vSwitch に関連付けられている場合:ACL ルールにテストクライアントの IP アドレスに対する [拒否] ポリシーが含まれていないことを確認してください。必要な送信元アドレス、プロトコルタイプ (ping には ICMP を許可する必要があります) 、およびポート範囲に対する [許可] ポリシーを追加してください。
-
デフォルトでは、vSwitch がネットワーク ACL に関連付けられると、ルールは インバウンド と アウトバウンド の両方向のすべてのトラフィックを許可します。これらのルールを削除すると、アクセスが制限されます。
インバウンドルール:

アウトバウンドルール:

-
ビジネスニーズに基づいて送信元/宛先アドレスとプロトコルタイプ (ping には ICMP を許可する必要があります) を設定し、最小権限の原則に従います。すべてのポートを開かないでください (::/0 または 0.0.0.0/0 は慎重に使用してください) 。詳細については、「ネットワーク ACLの作成と管理」をご参照ください。
-
-
セキュリティグループルールの確認
ping が機能するには、セキュリティグループが ICMP プロトコルを許可する必要があります。ICMP ルールが削除されると、ping が失敗します。
ECS コンソール - セキュリティグループ に移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
ECS インスタンスに関連付けられているセキュリティグループを見つけます。操作 列で、[ルールの管理] をクリックします。
-
[インバウンド] 方向に ICMP プロトコルルールが存在するかどうかを確認します。

インバウンド ICMP ルールが存在しない場合は、「セキュリティグループルールを追加」します。
[アクション] を 許可 に設定し、優先度 はデフォルトのままにし、[プロトコル] を [All ICMP - IPv4] に、[ポート] を
-1/-1に設定し、[ソース] には特定の IP アドレスからのみのアクセスを許可します。 -
セキュリティグループタイプに基づいてアウトバウンドルールを確認します。
-
ベーシックセキュリティグループ:アウトバウンド方向はデフォルトですべてのアクセスを許可します。追加のルールは必要ありません。

-
高度セキュリティグループ:[アウトバウンド] 方向はデフォルトですべてのアクセスを拒否します。[アウトバウンド] 方向に ICMP トラフィックを許可するルールを追加する必要があります。詳細については、「ベーシックセキュリティグループと高度セキュリティグループ」をご参照ください。

-
ECS インスタンスのファイアウォール設定の確認
ファイアウォールが有効になっていて外部アクセスをブロックしている場合、リモート接続が失敗する可能性があります。インスタンスの OS に基づいて設定を確認します。
Linux システムのカーネルパラメータとファイアウォール設定の確認
Linux システムが ping に応答するかどうかは、icmp_echo_ignore_all カーネルパラメーターとファイアウォールの設定の両方によって決まります。いずれかがリクエストを拒否した場合、インスタンスに ping できません。
Linux システムのカーネルパラメータの確認
-
カーネルパラメーター
icmp_echo_ignore_allの値を確認します。cat /proc/sys/net/ipv4/icmp_echo_ignore_all-
コマンドが 0 を返す場合、すべての ICMP リクエストが許可されています。「Linux のファイアウォール設定の確認」に進んでください。
-
コマンドが 1 を返した場合、すべての ICMP リクエストは拒否されます。ステップ 3 に進みます。
-
-
ICMP リクエストを許可するには、
icmp_echo_ignore_allカーネルパラメーターを 0 に設定します。-
一時的に許可する場合:
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all -
永続的に許可する場合:
echo net.ipv4.icmp_echo_ignore_all=0 >> /etc/sysctl.conf sysctl -p
-
Linux のファイアウォール設定の確認
-
VNC 接続を使用して ECS インスタンスに接続します。
詳細については、「VNCを使用してインスタンスに接続する」をご参照ください。
-
ファイアウォールルールを表示します。
iptables -L-
次の結果が返される場合、ICMP はブロックされていません。
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT icmp -- anywhere anywhere icmp echo-request Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT icmp -- anywhere anywhere icmp echo-reque -
ICMP がブロックされている場合は、次のコマンドを実行して許可します:
#Chain INPUT iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT #Chain OUTPUT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
-
Windows のファイアウォール設定の確認
この例では Windows Server 2012 を使用しています。他のバージョンの手順も同様です。
-
アイコンをクリックして、[サーバー マネージャー] を開きます。 -
右上隅で、[ツール] > [セキュリティが強化された Windows Defender ファイアウォール] を選択します。

-
[セキュリティが強化された Windows Defender ファイアウォール] ページで、[受信の規則] と [送信の規則] の ICMP 関連のプロトコルがブロックされているかどうかを確認します。
ICMP プロトコルがブロックされている場合は、ルールを有効にします。

CPUと帯域幅使用率の確認
高い CPU 使用率、帯域幅の飽和、メモリの枯渇、または過度なディスク I/O などのリソースボトルネックにより、ping に失敗する可能性があります。
CPU またはメモリが枯渇すると、プロトコルスタックが ICMP 応答を遅延させ、タイムアウトしたりドロップされたりする可能性があります。帯域幅が継続的に飽和状態になると、パケットの送受信がブロックされます。極端なディスク I/O 負荷はシステムをフリーズさせ (例:D 状態のプロセス) 、間接的にネットワークサービスの応答を遅くします。これらの問題は高負荷シナリオで複合的に発生することがあります。トラフィックのバーストは CPU と帯域幅の両方を過負荷状態にし、メモリ不足はスワッピングを引き起こし、ディスク I/O への負荷を増加させます。
ヘルス診断または CloudMonitor を使用して、帯域幅、メモリ、CPU のメトリクスを表示してください。Linux では sar や atop などのツール、Windows ではリソースモニターを使用して、異常なプロセスを特定してください。問題を解決するには、リソースを解放するか、インスタンスをスケールアウトしてください。詳細については、「インスタンスの高負荷問題のトラブルシューティングと解決」をご参照ください。
ブラックホールフィルタリングの確認
ブラックホール通知を受信したかどうかを確認します。ブラックホールフィルタリング中は、ping とリモート接続がブロックされます。
詳細については、「Alibaba Cloudのブラックホールフィルタリングポリシー」をご参照ください。
Security Centerでのセキュリティアラートの確認
Security Center で異常なセキュリティアラートを確認してください。悪意のある侵入により、インスタンスに ping できなくなる可能性もあります。詳細については、「ECS インスタンスのセキュリティリスクの表示」をご参照ください。
インスタンスのリージョンの確認
異なるリージョンのキャリア間の国際出口帯域幅は制限されています。リージョンをまたぐトラフィックは複数のルーティングホップを通過し、回線の輻輳、BGP ルートの迂回、またはレート制限により、高いレイテンシ、パケット損失、ジッターが発生することがあります。中国本土から中国 (香港) または中国以外のリージョンのインスタンスにアクセスする場合、通信品質が影響を受ける可能性があります。時間をおいてから、再度お試しください。
近接性の原則に従ってください。中国本土のお客様は、本土のリージョン (華北や華東など) のサーバーにアクセスする必要があります。中国本土以外のお客様は、近くのノード (中国 (香港) やシンガポールなど) にアクセスして、安定性と規制遵守を確保する必要があります。
ビジネスが国境を越えた通信に依存している場合は、Global Accelerator (GA) を使用してルーティングを最適化するか、Cloud Enterprise Network (CEN) を使用して国境を越えたプライベート接続を構築します。
クライアントからECS インスタンスへの双方向リンク診断の実行
特定のクライアントのみがインスタンスに ping できず、他のクライアントは ping できる場合は、クライアントとインスタンスの両方から双方向リンクテストを実行して、中間ネットワークノードまたはローカル設定の問題を特定してください。詳細については、「MTRツールを使用したネットワークリンク分析」をご参照ください。
ICP 登録または名前解決設定の確認
パブリック IP アドレスに ping できるがドメイン名に ping できない場合、問題は ICP 登録の未了または DNS 解決エラーである可能性があります。
中国本土のサーバーに解決されるドメイン名は、Web サイトトラフィックを提供する前に ICP 登録が必要です。ICP 登録がない Web サイトは、Alibaba Cloud の監視システムによってブロックされることがあります。
-
ドメイン名に ICP 登録がない場合は、「ICP登録とは」をご参照ください。
-
ドメイン名に既に ICP 登録がある場合は、名前解決が無効かどうかを確認します。詳細については、「DNSレコードが有効になったかどうかをテストする」をご参照ください。
アイコンを右クリックし、[ネットワークと共有センターを開く] を選択します。







