ネットワーク接続テスト network-connectivity-test
ネットワーク接続テストは、環境でアドバンストネットワークを有効にする前と本番稼働前に、アドバンストネットワークとVPN設定を検証できるCloud Manager診断ツールです。 内部エンドポイントまたはプライベート エンドポイントを含め、AEMが到達する必要があるホストとポートが、アドバンストネットワークが使用するのと同じ接続パス経由で到達できることを確認するために使用します。
テストは、オーサーまたはパブリッシュ ポッドからではなく、プログラムの高度なネットワーク設定に属する エグレス プロキシ インフラストラクチャ から実行されます。 アドバンスドネットワークがアクティブな場合にAEMが使用するのと同じアウトバウンドネットワークパスを使用します。 この設計は、VPN シナリオで特に便利です。運用開始する前に、プライベート システムまたはオンプレミス システムのDNS解決、ネットワーク ルーティング、ファイアウォール ルール、サービスの可用性を確認できます。
VPNのプロビジョニング、専用エグレス IP、またはフレキシブル ポート エグレスの背景については、AEM as a Cloud Serviceの高度なネットワークの設定を参照してください。
このツールの使用条件 when-to-use
- アドバンスドネットワークがプログラム レベルおよび 前 に作成された後、または 環境 で有効にする間に作成されます。
- プライベートまたはオンプレミスのシステム(内部ホスト名やプライベート IP アドレスなど)に対する VPN 接続を検証するには、次の手順を実行します。
- サービスが期待どおりに応答しない場合に、DNS問題とファイアウォールまたはルーティング問題を絞り込む。
前提条件 prerequisites
- Cloud Managerプログラム。
- プログラム用に高度なネットワーク インフラストラクチャが既に作成されています(高度なネットワークの設定を参照)。
テストの実行方法 how-to-run-a-test
-
my.cloudmanager.adobe.comでCloud Managerにログインし、組織とプログラムを開きます。
-
プログラムの「環境」タブを開きます。 左側のサイドバーで、ネットワークインフラストラクチャを選択します。
-
ネットワークインフラストラクチャ ページで、テーブル内のインフラストラクチャを見つけます。 行を選択してテスト エクスペリエンスを開くか、行のアクション メニュー(
)を開いて、テストを選択します。
-
ネットワークテスト ダイアログが開きます。 ホストと ポート を入力し、テストを選択し、結果エリアでDNS解決、ポートのオープン、HTTP接続、到達性を確認します。 クリップボードへのコピーや最近のテスト履歴などのオプションのアクションがダイアログに表示されます。 各セクションの解釈方法については、結果についてを参照してください。
入力フィールド input-fields
internal-api.example.com、10.0.1.50443手順 test-steps
- ホストと ポート を入力します。
- 「テスト」を選択します。 結果は通常、数秒以内に表示されます。
- オプション:クリップボードにコピーを使用して、完全なJSON結果を取得します(サポートケースに便利)。
- 最近のテストは、簡単に再実行するために一覧表示される場合があります。
結果の把握 understanding-results
ツールは複数の寸法をレポートします。 これらは、ターゲットが高度なネットワークから到達できるかどうか、およびHTTP対応チェックがどのように動作するかを説明します。
DNS 解決 dns-resolution
ips: ["10.0.1.50"]error: "DNS resolution error: ..."ポートが開きました port-open
Yes / trueNo / falseHTTP 接続 http-connectivity
すべてのポートでHTTP/HTTPS要求が試行されます。 ツールは常に HTTPS を最初に試し、次に HTTP にフォールバックします。 どちらも機能しない場合、結果は、読み取り可能な短いエラー メッセージにマッピングされます(以下の表を参照)。
成功の出力
protocol: "https"、status_code: 200、reason: "200 OK"protocol: "http"、status_code: 301、reason: "301 Moved Permanently"分類されたエラー出力
"Not an HTTP/HTTPS service""The service appears to be a non-HTTP service (e.g., database, message queue, or custom TCP). Use the port_open and reachability fields to verify connectivity.""Connection refused""The port is not accepting connections. Verify the service is running and listening on this port.""Connection timed out""The connection timed out. Check firewall rules and network routing.""No IPs resolved for host"200、301、302、403、404、または500)は、接続用の 成功信号 であり、ネットワークパスが機能することを意味します。 ステータスコードは、ネットワーク全体の健全性ではなく、サービス自体の応答を反映します。 非HTTP サービスの場合、ツールは HTTP/HTTPS サービス ではないことを示します。これらのサービスの信頼性の高い指標として Port open と Reachability を使用します。到達可能性 reachability
複数のDNS リゾルバー multiple-dns-resolvers
アドバンスドネットワークインフラストラクチャが 複数のDNS リゾルバー を定義している場合:
- すべてのリゾルバーが同じ結果を返すと、というラベルの付いた単一の統合
default結果が表示されます。 - リゾルバーが 異なる結果 を返すと、各リゾルバーの結果は個別 (
resolver_1、resolver_2などのラベル付き)、とリゾルバーIPが表示されるので、どのDNS サーバーが不整合を引き起こしているかを確認できます。
トラブルシューティング troubleshooting
以下のシナリオは、ツールに表示される可能性が高いものと、原因を絞り込む手順を組み合わせたものです。 同じ状況を示すクリップボードへの完全なコピー JSONについては、出力例を参照してください。
DNS解決に失敗しました dns-failed
出力
ホスト名がアドバンスドネットワーク DNS設定を使用して解決しなかったため、ツールはポートをテストできません。 結果ビューでは、DNS解決にエラー文字列が表示され、到達性はDNSが失敗したことを報告します。
DNS Resolution: error: "DNS resolution error: ..."
Reachability: "Unreachable: DNS resolution failed"
レコメンデーション
- ホスト名が正しいことを確認します。タイプミスと、意図した DNS ゾーン を使用していることを確認します(間違ったゾーンはよくある間違いです)。
- お使いのDNS リゾルバー (ネットワーク インフラストラクチャで設定されたリゾルバー)が、アドバンスネットワーク CIDR範囲(ツールとAEMがアウトバウンドチェックに使用するのと同じアドレス空間)から アクセス可能であることを確認します。 プライベート DNSに依存している場合は、VPN トンネルを介して、またはルーティングがアドバンスト ネットワークに公開するネットワーク アドレス空間内で、これらのサーバーに到達できる必要があります。
- 構成されたDNS サーバーがホスト名を解決できることを確認します。Advanced Networkingでは、ネットワークインフラストラクチャの設定で定義されたリゾルバーを のみ 使用し、パブリック DNSを使用しません(例:
8.8.8.8)。 内部DNSにそのホスト名のレコードがない場合、解決は失敗します。 - VPN設定の場合: DNS サーバーのIP アドレスがVPN アドレス空間内にあることを確認します(トンネルの構築に使用されるリモート ネットワーク CIDR)。 VPN トンネルを経由しないサブネット上のレゾルバは、アドバンストネットワークから到達できません。
DNSは機能するが、ポートにアクセスできない dns-ok-port-blocked
出力
ツールはホストを解決できますが、ポートへのTCPは成功しません。 概要は次のようになります。
DNS Resolution: ips: ["10.0.1.50"]
Port Open: No
Reachability: "Unreachable: Port not accessible"
レコメンデーション
- ファイアウォールを確認し、ターゲット サービスのルールを許可リストに追加します。アドバンスト ネットワーク インフラストラクチャ CIDR範囲(およびAEMが使用するエグレス IP アドレス)からの着信トラフィックを許可する必要があります。 VPNを使用する場合は、設計に必要に応じてリモート ネットワーク CIDRを含めます。
- サービスが実行されていることを確認しますおよび テストで入力したホストとポート でリッスンしています。
- VPN設定の場合: トンネルが起動していることを確認し、ルーティングがターゲット サブネットに到達し、ターゲット アドレスがVPN経由で転送されるリモート ネットワーク アドレス空間にあることを確認します。
- インフラストラクチャで、アドバンスドネットワークとターゲット間のポートをブロックする可能性のある ネットワークセキュリティグループ(NSG)、セキュリティルール、または同等の を確認します。
- ポート番号を確認します。テスト中のポートで、プロセスが実際にリッスンしていることを確認します。
テストは到達可能ですが、AEMが接続しません reachable-but-aem-fails
出力
接続性チェック自体が成功します。 要約すると、次のようになります。
Port Open: Yes
Reachability: "Reachable"
その結果、Advanced Networkingからテストしたホストおよびポートへのパスが開きます。 これは、AEM アプリケーショントラフィックがそのパスを使用していることを保証するものではありません。コードの実行時に、サービスログに期待するエグレス IPからのリクエストが表示されない場合があります。
レコメンデーション
- プロキシを使用するには、アプリケーションコードを設定する必要があります。 接続性テストはネットワークパスが機能することを証明しますが、AEMはリクエストをアドバンストネットワークプロキシ (例えば、
AEM_PROXY_HOST環境変数)経由で明示的にルーティングする必要があります。 コードがプロキシなしで直接接続を行う場合、トラフィックは高度なネットワークインフラストラクチャを経由しません。 - HTTP クライアントのプロキシ設定を確認する - HTTP クライアントは、同じプロキシ設定(
AEM_PROXY_HOSTおよび該当する場合はポート転送)を使用する必要があります。 - 高度なネットワークのポート転送設定を環境 レベルで確認します。
portForwardsでは、各エントリが右側のportOrigターゲットホストportDestで から にマッピングする必要があります。portOrigは、プロキシを介してアウトバウンド接続を開くときに、AEM アプリケーション コードがに接続する ポートです。portDestは、リモートプロセスがリッスンしているターゲットサービス の実際のポートです。 ターゲットホストは、転送で使用されるサービス の ホスト名またはアドレスです。 この3つの要件は、アプリケーションの接続方法と一致している必要があります。 nonProxyHostsを確認してください。 ターゲットホストがそこに表示されている場合、リクエスト はそのホストのプロキシをスキップし、検証したアドバンスドネットワークパスに従いません。
HTTPでエラーが表示されますが、ポートが開いている http-error-port-open
出力
TCPは成功しますが、HTTP/HTTPS プローブは依然として失敗を報告します。 概要は次のようになります。
Port Open: Yes
HTTP Connectivity: error: "Connection error: ..." or "Both HTTPS and HTTP failed. ..."
Reachability: "Reachable"
レコメンデーション
- サービスがHTTPまたはHTTPSを話せない可能性があります(生のTCP、gRPC、または別のプロトコルなど)。
Port open: YesおよびReachability: Reachableがネットワークパスが機能することを確認している間、HTTP プローブが失敗する可能性があります。 これらのフィールドを、非HTTP サービスの信頼できる唯一の情報源として使用します。 - TLSと証明書の構成を調査します。 HTTPSが失敗してもHTTPが成功する場合(場合によっては
HTTPS failed, HTTP succeededなどのメモで示される場合もあります)、サービスに証明書の問題がある場合や、そのポートでのみHTTPを提供する場合があります。
要求タイムアウト timeout
出力
{ "error": "Request timeout" }
レコメンデーション
- サービスの応答時間を許可 – チェックでは5秒のタイムアウトが使用されます。 それよりも遅く回答したターゲットは、そうでない場合でもタイムアウトします。
- ネットワーク待ち時間のアカウント。 VPN接続では、高い遅延または不健全なトンネルが制限を越えてラウンドトリップをプッシュする可能性があります。トンネルのステータスとルーティングを確認します。
- もう一度テストを実行。 1回限りのネットワークの不具合により、タイムアウトが発生する可能性があります。
出力例 example-outputs
HTTPS テストの成功(例:ポート 443の内部API) example-output-successful-https
{
"resolvers": [
{
"name": "default",
"dns_resolution": {
"ips": ["10.0.1.50"]
},
"port_open": true,
"http_connectivity": {
"protocol": "https",
"status_code": 200,
"reason": "200 OK"
},
"reachability": "Reachable"
}
]
}
HTTP以外のサービスのテストに成功しました(例:ポート 5432のデータベース) example-output-successful-non-http
{
"resolvers": [
{
"name": "default",
"dns_resolution": {
"ips": ["10.0.1.50"]
},
"port_open": true,
"http_connectivity": {
"error": "Not an HTTP/HTTPS service",
"note": "The service appears to be a non-HTTP service (e.g., database, message queue, or custom TCP). Use the port_open and reachability fields to verify connectivity."
},
"reachability": "Reachable"
}
]
}
DNS解決の失敗 example-output-dns-resolution-failure
{
"resolvers": [
{
"name": "default",
"dns_resolution": {
"error": "DNS resolution error: dial udp 10.0.0.2:53: i/o timeout"
},
"port_open": false,
"http_connectivity": {
"error": "DNS resolution failed"
},
"reachability": "Unreachable: DNS resolution failed"
}
]
}
ポートにアクセスできません(ファイアウォール / サービスダウン) example-output-port-not-accessible
{
"resolvers": [
{
"name": "default",
"dns_resolution": {
"ips": ["10.0.1.50"]
},
"port_open": false,
"http_connectivity": {
"error": "Connection error: dial tcp 10.0.1.50:443: i/o timeout"
},
"reachability": "Unreachable: Port not accessible"
}
]
}
重要な注意事項 important-notes
このテストで実行できないこと what-this-test-does-not-do
- テストは、AEM オーサーポッドまたはパブリッシュポッド内から実行されません。 エグレス プロキシ インフラストラクチャから実行されます。 これにより、コード内のアプリケーションレベルのプロキシ設定ではなく、ネットワーク層が検証されます。
- AEM アプリケーションのプロキシ設定は検証されません。 結果が
Reachableの場合でも、プロキシを使用するようにAEM コードを設定する必要があります。 - 環境レベルのポート転送設定は、単独では検証されません。 インフラストラクチャパスからの生の接続をテストします。
- カスタムペイロードは送信されません。 HTTP テストは、基本的な
GETリクエストを/に発行します。
応答時間 response-time
- 典型的:約2 ~ 3秒。
- 最大:約5秒のタイムアウトです。
- すべてのDNS リゾルバーと接続性チェックが並行して実行されます。
HTTPと非HTTP サービス http-vs-non-http-services
ツールは、すべてのポートでHTTP/HTTPS接続を試みます。 HTTP以外のサービス(例えば、ポート 5432のPostgreSQL、3306のMySQL、22のSFTP、6379のRedis)の場合、HTTP チェックは接続エラーで失敗する可能性があります。これは予想されます。 これらのサービスの接続を確認するには、Port openとReachabilityに依存します。