AEM as a Cloud Serviceの専用エグレス IPを使用した接続タイムアウトエラーの解決
この記事では、外部API呼び出しを安全にルーティングするようにAdobe Experience Manager as a Cloud Service(AEMaaCS)で専用のエグレス IPを設定する際の接続タイムアウトエラーに対処します。 この問題は、設定された専用エグレス IPを使用するのではなく、Adobeの共有IP プールにアウトバウンドトラフィックがデフォルトで送信される場合に発生します。 この問題を修正するには、アウトバウンドトラフィックが設定された専用エグレス IPを使用していることを確認します。
説明 description
環境
製品: Adobe Experience Manager as a Cloud Service (AEMaaCS) 機能:専用エグレス IP設定 ネットワーク: HTTP/HTTPS プロキシを使用した高度なネットワーク
問題/症状
- 専用のエグレス IPを介した外部API呼び出しでは、接続タイムアウトエラーが発生します。
- ネットワークログでは、専用エグレス IPを経由するトラフィックがルーティングされていないことが示されます。
- 一般にアクセス可能な外部API エンドポイントは成功しますが、共有IP アドレスを使用します。
System.getenv("AEM_HTTP_PROXY_PORT")はnullを返します。これにより、プロキシ設定が適切に行われなくなります。
解決策 resolution
この問題を解決するには、次の手順に従います。
-
専用エグレス IP アドレス が サービス のCloud Manager内の 準備完了 状態であることを確認します
>ネットワークインフラストラクチャ 。 -
環境で、関連する環境に対して高度なネットワークが有効になっていることを確認します
>高度なネットワーク構成。 -
専用エグレス IPを介してHTTP/HTTPS トラフィックをルーティングするためのデフォルトのプロキシポートとして、ポート
3128を使用します。 アプリケーションコードを更新して、プロキシホストとポートを明示的に設定し、すべてのHTTP/HTTPS リクエストで次のプロキシ設定が使用されるようにします。code language-none String proxyHost = System.getenv("AEM_PROXY_HOST"); // Example: "proxy.tunnel" int proxyPort = Integer.parseInt(System.getenv().getOrDefault("AEM_HTTP_PROXY_PORT", "3128")); -
標準のHTTP/HTTPS ポート(80および443)に対する不要なポート転送ルールは不要なので削除します。 この設定と競合する場合は、Advanced Networkingの下にある既存の設定を削除します。
-
API呼び出しが専用のエグレス IPを正常に経由することを検証し、ネットワークログを監視するか、ホワイトリストに登録されたエンドポイントに対してテストすることで、接続をテストします。
-
コードにフォールバックロジックを実装して、
System.getenv("AEM_HTTP_PROXY_PORT")がnullを返した場合にポート 3128を動的に取得するか、デフォルトで取得します。 さらに、デフォルトのプロキシ設定の更新やネットワーク動作の変更について、Adobeのドキュメントを監視します。
次の手順に従うことで、外部API呼び出しが、設定済みの専用エグレス IPを通じて安全かつ確実にルーティングされます。