AEM as a Cloud Serviceの高度なネットワークの設定 configuring-advanced-networking

この記事では、AEM as a Cloud Service で使用できる高度なネットワーク機能について説明します。 これらの機能には、VPN、非標準ポート、専用エグレス IP アドレスのセルフサービスおよび API プロビジョニングが含まれます。

このドキュメントに加えて、高度なネットワークオプションのそれぞれについて説明するように設計された一連のチュートリアルもあります。 高度なネットワーク機能を参照してください。

IMPORTANT
AEM as a Cloud Service では、Cloud Manager UI を通じて、または Cloud Manager API(cURL など)を使用して、高度なネットワーク機能を設定できます。
この記事では、UI メソッドの使用に焦点を当てています。 API を通じて設定を自動化する場合は、仮想プライベートネットワーク(VPN)チュートリアルを参照してください。
APIを使用した高度なネットワークの自動化
高度なネットワーク機能の設定(VPN の作成など)を自動化するには、Cloud Manager API を使用できます。
code language-bash
curl -X POST https://cloudmanager.adobe.io/api/program/{PROGRAM_ID}/environment/{ENV_ID}/vpn \
      -H "Authorization: Bearer {ACCESS_TOKEN}" \
      -H "x-api-key: {API_KEY}" \
      -H "Content-Type: application/json" \
      -d '{
          "providerId": "aws",
          "portMappings": [
              {
                  "name": "SSH",
                  "protocol": "TCP",
                  "port": 22
              }
          ]
      }'
完全なチュートリアルと他の API の例について詳しくは、仮想プライベートネットワーク(VPN)チュートリアルを参照してください。

概要 overview

AEM as a Cloud Service では、次の高度なネットワークオプションを提供します。

この記事では、Cloud Manager UIとAPIを使用して設定する方法を説明する前に、これらの各オプションについて詳しく説明し、それらを使用する理由を説明します。 この記事では、最後にいくつかの高度なユースケースを紹介します。

CAUTION
従来の専用エグレステクノロジーを既にプロビジョニングしていて、これらの高度なネットワークオプションのいずれかを設定する場合は、アドビクライアントケアにお問い合わせください
従来のエグレステクノロジーを使用して高度なネットワークを設定しようとすると、サイトの接続に影響を与える場合があります。

要件と制限事項 requirements

高度なネットワーク機能を設定する場合、次の制限が適用されます。

  • プログラムは、単一の高度なネットワークオプション(柔軟なポートエグレス、専用エグレス IP アドレスまたは VPN)をプロビジョニングできます。

  • 高度なネットワーク機能は、サンドボックスプログラムでは使用できません。

  • プログラムにネットワークインフラストラクチャを追加して設定するには、ユーザーが​ 管理者 ​の役割を持っている必要があります。

  • プログラムにネットワークインフラストラクチャを追加する前に、本番環境を作成する必要があります。

  • ネットワークインフラストラクチャは、本番環境のプライマリ地域と同じ地域に存在する必要があります。

    • 実稼動環境に追加のパブリッシュ領域がある場合は、追加の各領域をミラーリングするネットワークインフラストラクチャを作成します。
    • 作成できるネットワークインフラストラクチャの数は、本番環境で設定された最大地域数を超えることはできません。
    • 実稼動環境に使用可能な領域がある場合と同じ数のネットワークインフラストラクチャを定義できますが、新しいインフラストラクチャは、以前に作成したインフラストラクチャと同じタイプである必要があります。
    • 複数のインフラストラクチャを作成する場合は、高度なネットワークインフラストラクチャが作成されていない地域のみから選択できます。

高度なネットワークの設定と有効化 configuring-enabling

高度なネットワーク機能を使用するには、次の 2 つの手順が必要です。

  1. 高度なネットワークオプションの設定(フレキシブルポートエグレス専用エグレス IP アドレスまたは VPN)は、まずプログラムレベルで行う必要があります。
  2. 使用するには、高度なネットワークオプションを環境レベルで有効にする必要があります。

どちらの手順も、Cloud Manager UI または Cloud Manager API を使用して実行できます。

  • Cloud Manager UI を使用する場合、つまり、プログラムレベルでウィザードを使用して高度なネットワーク設定を作成し、その設定を有効にする各環境を編集することです。

  • Cloud Manager API を使用する場合、/networkInfrastructures API エンドポイントがプログラムレベルで呼び出され、目的のタイプの高度なネットワーク機能を宣言します。 各環境の/advancedNetworking エンドポイントへの呼び出しが続き、インフラストラクチャを有効にし、環境固有のパラメーターを設定します。

フレキシブルポートエグレス flexible-port-egress

高度なネットワーク機能を使用すると、デフォルトで開いている HTTP(ポート 80)と HTTPS(ポート 443)以外のポートからトラフィックを送信するように、AEM as a Cloud Service を設定することができます。

TIP
フレキシブルポートエグレス IP アドレスと専用エグレス IP アドレスのいずれかを決定する際には、特定の IP アドレスが必要なければ、フレキシブルポートエグレスを選択することをお勧めします。 その理由は、Adobeがフレキシブルポートエグレスのトラフィックのパフォーマンスを最適化できることです。
NOTE
フレキシブルポートエグレスのインフラストラクチャタイプは、作成後に編集することはできません。 設定値を変更する唯一の方法は、設定値を削除して再作成することです。

UI設定 configuring-flexible-port-egress-provision-ui

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、プログラムを選択します。

  3. プログラムの概要 ページで、環境 タブに移動し、左側のパネルで​ ネットワークインフラストラクチャ ​を選択します。

    ネットワークインフラストラクチャを追加

  4. ネットワークインフラストラクチャを追加​ウィザードで、「フレキシブルポートエグレス」を選択します。

  5. 地域​ドロップダウンメニューから目的の地域を選択し、「続行」をクリックします。

    フレキシブルポートエグレスの設定

  6. 確認」タブには、選択内容と次の手順がまとめられています。 「保存」をクリックして、インフラストラクチャを作成します。

    フレキシブルポートエグレス設定の確認

サイドパネルの​ ネットワークインフラストラクチャ ​見出しに、新しいレコードが表示されます。 これには、インフラストラクチャのタイプ、ステータス、地域、有効な環境が含まれます。

​ ネットワークインフラストラクチャの下の新しいエントリ ​

NOTE
フレキシブルポートエグレス用のインフラストラクチャの作成には最大 1 時間かかる場合があり、その後、環境レベルで設定できるようになります。

API設定 configuring-flexible-port-egress-provision-api

プログラムごとに1回、POST /program/<programId>/networkInfrastructures エンドポイントが呼び出され、kind パラメーターと地域にflexiblePortEgressの値を渡します。 エンドポイントは、応答として network_id の他に、ステータスなどの他の情報も返します。

一度呼び出されると、ネットワークインフラストラクチャがプロビジョニングされるまでに約15分かかります。 Cloud Managerの​ ネットワークインフラストラクチャ GET エンドポイント ​への呼び出しは、ready​のステータスを示します。

TIP
パラメーターの完全なセットと正確な構文および後で変更できないパラメーターなどの重要な情報は、API ドキュメントで参照できます

トラフィックルーティング flexible-port-egress-traffic-routing

80または443以外のポートに送信されるhttpまたはhttps トラフィックの場合は、次のホストおよびポート環境変数を使用してプロキシを設定します。

  • httpの場合:AEM_PROXY_HOST/AEM_HTTP_PROXY_PORT (AEM リリース < 6094のデフォルトはproxy.tunnel:3128
  • httpsの場合:AEM_PROXY_HOST/ AEM_HTTPS_PROXY_PORT (AEM リリース < 6094のデフォルトはproxy.tunnel:3128

www.example.com:8443 にリクエストを送信するサンプルコードを以下に示します。

String url = "www.example.com:8443"
String proxyHost = System.getenv().getOrDefault("AEM_PROXY_HOST", "proxy.tunnel");
int proxyPort = Integer.parseInt(System.getenv().getOrDefault("AEM_HTTPS_PROXY_PORT", "3128"));
HttpClient client = HttpClient.newBuilder()
      .proxy(ProxySelector.of(new InetSocketAddress(proxyHost, proxyPort)))
      .build();

HttpRequest request = HttpRequest.newBuilder().uri(URI.create(url)).build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());

非標準の Java™ ネットワークライブラリを使用する場合は、上記のプロパティを使用して、すべてのトラフィックに対してプロキシを設定します。

portForwards パラメーターで宣言されたポートを介した宛先を持つHTTP/S以外のトラフィックは、マッピングされたポートと共にAEM_PROXY_HOSTというプロパティを参照します。 次に例を示します。

DriverManager.getConnection("jdbc:mysql://" + System.getenv("AEM_PROXY_HOST") + ":53306/test");

次の表にトラフィックルーティングを示します。

トラフィック
宛先の条件
ポート
接続
外部宛先の例
HTTP または HTTPS プロトコル
標準の HTTP または HTTPS トラフィック
80 または 443
許可

次の環境変数とプロキシポート番号を使用して設定された http プロキシを介した(80 または 443 以外の他のポートでの)非標準トラフィック。 Cloud Manager API 呼び出しの portForwards パラメーターで宛先ポートを宣言しないでください。

  • AEM_PROXY_HOST(AEM リリース 6094 未満では、デフォルトは `proxy.tunnel`)
  • AEM_HTTPS_PROXY_PORT(AEM リリース 6094 未満では、デフォルトはポート 3128)
80 または 443 以外のポート
許可
example.com:8443
HTTP プロキシを使用しない(80 または 443 以外のポート上の)非標準トラフィック
80 または 443 以外のポート
ブロック
HTTP 以外または HTTPS 以外
クライアントは、portForwards API パラメーターで宣言された portOrig を使用して、AEM_PROXY_HOST 環境変数のプロキシホストに接続
任意
許可
mysql.example.com:3306
その他すべて
任意
ブロック
db.example.com:5555

Apache/Dispatcher設定 apache-dispatcher

AEM Cloud Service の Apache/Dispatcher 層の mod_proxy ディレクティブは、上記のプロパティを使用して設定できます。

ProxyRemote "http://example.com:8080" "http://${AEM_PROXY_HOST}:3128"
ProxyPass "/somepath" "http://example.com:8080"
ProxyPassReverse "/somepath" "http://example.com:8080"
SSLProxyEngine on //needed for https backends

ProxyRemote "https://example.com:8443" "http://${AEM_PROXY_HOST}:3128"
ProxyPass "/somepath" "https://example.com:8443"
ProxyPassReverse "/somepath" "https://example.com:8443"

専用エグレス IP アドレス dedicated-egress-ip-address

専用 IP アドレスは、SaaS ベンダー(CRM ベンダーなど)との統合や、IP アドレスの許可リストを提供する AEM as a Cloud Service 外部のソリューションと統合する場合のセキュリティを強化します。 専用 IP アドレスを許可リストに追加することで、AEM Cloud Service からのトラフィックのみが外部サービスに送信されるようになります。 このアプローチは、その他の許可されている IP からのトラフィックに追加されます。

同じ専用 IP がプログラム内のすべての環境に、オーサーサービスとパブリッシュサービスの両方に適用されます。

専用 IP アドレス機能を有効にしない場合、AEM as a Cloud Service からのトラフィックは、共有する一連の IP を流れていきます。 AEM as a Cloud Serviceの他のお客様は、これらのIPを使用します。

専用エグレス IP アドレスの設定は、フレキシブルポートエグレスと似ています。 主な違いは、設定後、トラフィックは常に専用の一意のIPからエグレスすることです。 その IP を確認するには、DNS リゾルバーを使用して、p{PROGRAM_ID}.external.adobeaemcloud.com に関連付けられている IP アドレスを特定します。 この IP アドレスは固定ですが、変更する必要がある場合は、事前に通知されます。

TIP
フレキシブルポートエグレス IP アドレスと専用エグレス IP アドレスのいずれかを決定する際には、特定の IP アドレスが必要なければ、フレキシブルポートエグレスを選択します。 その理由は、Adobeがフレキシブルポートエグレスのトラフィックのパフォーマンスを最適化できることです。
NOTE
2021年9月30日(PT)以前(つまり、2021年9月リリースより前)に専用エグレス IP がプロビジョニングされていた場合、専用エグレス IP 機能は HTTP ポートと HTTPS ポートのみをサポートします。
この結果には、HTTP/1.1 と HTTP/2(暗号化時)が含まれます。 また、1 つの専用の出力エンドポイントは、それぞれポート 80/443 の HTTP/HTTPS 経由でのみ任意のターゲットと通信できます。
NOTE
専用のエングレス IP アドレスインフラストラクチャタイプは、作成後に編集することはできません。 設定値を変更する唯一の方法は、設定値を削除して再作成することです。

UI設定 configuring-dedicated-egress-provision-ui

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、プログラムを選択します。

  3. プログラムの概要 ページで、環境 タブに移動し、左側のパネルで​ ネットワークインフラストラクチャ ​を選択します。

    ネットワークインフラストラクチャを追加

  4. 開いた​ ネットワークインフラストラクチャを追加 ​ウィザードで、「専用エグレス IP アドレス」をクリックします。

  5. 地域​ドロップダウンメニューから目的の地域を選択し、「続行」をクリックします。

    専用エグレス IP アドレスの設定

  6. 確認」タブには、選択内容と次の手順がまとめられています。 「保存」をクリックして、インフラストラクチャを作成します。

    フレキシブルポートエグレス設定の確認

サイドパネルの​ ネットワークインフラストラクチャ ​見出しの下に新しいレコードが表示されます。 これには、インフラストラクチャのタイプ、ステータス、地域、有効な環境が含まれます。

​ ネットワークインフラストラクチャの下の新しいエントリ ​

NOTE
フレキシブルポートエグレス用のインフラストラクチャの作成には最大 1 時間かかる場合があり、その後、環境レベルで設定できるようになります。

API設定 configuring-dedicated-egress-provision-api

プログラムごとに1回、POST /program/<programId>/networkInfrastructures エンドポイントが呼び出され、kind パラメーターと地域にdedicatedEgressIpの値を渡します。 エンドポイントは、応答として network_id の他に、ステータスなどの他の情報も返します。

一度呼び出されると、ネットワークインフラストラクチャがプロビジョニングされるまでに約15分かかります。 Cloud Managerの​ ネットワークインフラストラクチャ GET エンドポイント ​への呼び出しは、ready​のステータスを示します。

TIP
パラメーターの完全なセットと正確な構文および後で変更できないパラメーターなどの重要な情報は、API ドキュメントで参照できます

トラフィックルーティング dedicated-egress-ip-traffic-routing

HTTPまたはHTTPS トラフィックは、プロキシ設定に標準のJava™ システムプロパティを使用する場合、事前設定済みのプロキシを経由します。

portForwards パラメーターで宣言されたポートを介した宛先を持つHTTP/S以外のトラフィックは、マッピングされたポートと共にAEM_PROXY_HOSTというプロパティを参照します。 次に例を示します。

DriverManager.getConnection("jdbc:mysql://" + System.getenv("AEM_PROXY_HOST") + ":53306/test");
トラフィック
宛先の条件
ポート
接続
外部宛先の例
HTTP または HTTPS プロトコル
Azure(*.windows.net)またはアドビサービスへのトラフィック
任意
(専用 IP ではなく)共有クラスター IP を経由
adobe.io
api.windows.net
nonProxyHosts パラメーターに一致するホスト
80 または 443
共有クラスター IP を経由
nonProxyHosts パラメーターに一致するホスト
80 または 443 以外のポート
ブロック
HTTP プロキシ設定を使用(標準の Java™ HTTP クライアントライブラリを使用する HTTP または HTTPS トラフィックにデフォルトで設定済み)
任意
専用エグレス IP を経由
HTTP プロキシ設定を無視(例えば、標準の Java™ HTTP クライアントライブラリから明示的に削除された場合や、標準のプロキシ設定を無視する Java™ ライブラリが使用されている場合)
80 または 443
共有クラスター IP を経由
HTTP プロキシ設定を無視(例えば、標準の Java™ HTTP クライアントライブラリから明示的に削除された場合や、標準のプロキシ設定を無視する Java™ ライブラリが使用されている場合)
80 または 443 以外のポート
ブロック
HTTP 以外または HTTPS 以外
クライアントは、portForwards API パラメーターで宣言されている portOrig を使用して、AEM_PROXY_HOST 環境変数のプロキシホストに接続
任意
専用エグレス IP を経由
mysql.example.com:3306
その他すべて
ブロック

機能の利用状況 feature-usage

この機能は、プロキシ設定に標準の Java™ システムプロパティを使用する場合、送信トラフィックを発生させる Java™ コードまたはライブラリと互換性があります。 実際には、このアプローチでは、最も一般的なライブラリを含める必要があります。

次にコード例を示します。

public JSONObject getJsonObject(String relativePath, String queryString) throws IOException, JSONException {
  String relativeUri = queryString.isEmpty() ? relativePath : (relativePath + '?' + queryString);
  URL finalUrl = endpointUri.resolve(relativeUri).toURL();
  URLConnection connection = finalUrl.openConnection();
  connection.addRequestProperty("Accept", "application/json");
  connection.addRequestProperty("X-API-KEY", apiKey);

  try (InputStream responseStream = connection.getInputStream(); Reader responseReader = new BufferedReader(new InputStreamReader(responseStream, Charsets.UTF_8))) {
    return new JSONObject(new JSONTokener(responseReader));
  }
}

一部のライブラリでは、プロキシ設定に標準の Java™ システムプロパティを使用するために、明示的な設定が必要です。

Apache HttpClientを使用したコードサンプルで、明示的な呼び出しが必要
HttpClientBuilder.useSystemProperties()または使用
HttpClients.createSystem():

public JSONObject getJsonObject(String relativePath, String queryString) throws IOException, JSONException {
  String relativeUri = queryString.isEmpty() ? relativePath : (relativePath + '?' + queryString);
  URL finalUrl = endpointUri.resolve(relativeUri).toURL();

  HttpClient httpClient = HttpClientBuilder.create().useSystemProperties().build();
  HttpGet request = new HttpGet(finalUrl.toURI());
  request.setHeader("Accept", "application/json");
  request.setHeader("X-API-KEY", apiKey);
  HttpResponse response = httpClient.execute(request);
  String result = EntityUtils.toString(response.getEntity());
}

デバッグの考慮事項 debugging-considerations

期待される専用 IP アドレスでトラフィックが実際に発信されていることを検証するには、目的のサービスでログを確認します(可能な場合)。 それ以外の場合は、https://ifconfig.me/ipなどのデバッグサービスを呼び出して、呼び出し元のIP アドレスを返します。

仮想プライベートネットワーク(VPN) vpn

VPN を使用すると、作成者、公開、またはプレビューインスタンスからオンプレミスインフラストラクチャまたはデータセンターに接続できます。 この機能は、データベースへのアクセスを保護する場合などに役立ちます。 また、VPN をサポートしている CRM ベンダーなどの SaaS ベンダーへの接続も可能になります。

IPSec 技術を搭載したほとんどの VPN デバイスがサポートされています。 このデバイスのリストRouteBase の設定手順​の列にある情報を参照してください。 表の説明に従って、デバイスを設定します。

VPN インフラストラクチャは複数の接続をサポートしているので、同じインフラストラクチャから複数のオンプレミス ネットワークまたはデータ センターに接続できます。 Adobeでは、1つのインフラストラクチャにつき最大20個の接続を推奨しています。

プライベートホスト名を解決するには、DNS リゾルバーをゲートウェイアドレス空間にリストする必要があります。

UI設定 configuring-vpn-ui

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、プログラムを選択します。

  3. プログラムの概要 ページで、環境 タブに移動し、左側のパネルで​ ネットワークインフラストラクチャ ​を選択します。

    ネットワークインフラストラクチャを追加

  4. 開始される​ ネットワークインフラストラクチャを追加 ​ウィザードで、「仮想プライベートネットワーク」を選択し、必要な情報を入力してから、「続行」をクリックします。

    • 地域 - インフラストラクチャを作成する必要がある地域。

    • アドレス空間 - アドレス空間に使用できるのは、独自のスペース内の 1 つの /26 CIDR(64 IP アドレス)またはそれより大きい IP 範囲のみです。

      • この値を後で変更することはできません。
    • DNS情報 - リモート DNS リゾルバーのリスト。

      • DNS サーバーのアドレスを入力した後、Enter を押して別のアドレスを追加します。
      • アドレスの後の X をクリックして削除します。
    • 共有キー - VPN 事前共有キー。

      • 共有キーを表示」を選択してキーを表示し、その値を再確認します。

    VPN の設定

  5. VPN接続を特定するには、ウィザードの「接続」タブで「接続名」を指定し、「接続を追加」をクリックします。

    接続を追加

  6. 接続を追加​ダイアログボックスで、VPN 接続を定義し、「保存」をクリックします。

    • 接続名 - 前の手順で指定した VPN 接続のわかりやすい名前。ここで更新できます。

    • アドレス - VPN デバイスの IP アドレス。

    • アドレス空間 - VPN 経由でルーティングする IP アドレス範囲。

      • 範囲を入力した後、Enter を押して別の範囲を追加します。
      • 範囲の後の X をクリックして削除します。
    • IP セキュリティポリシー - 必要に応じてデフォルト値から調整します

    VPN 接続の追加

  7. ダイアログボックスが閉じて、ウィザードの「接続」タブに戻ります。 「続行」をクリックします。

    VPN 接続が追加されました

  8. 確認」タブには、選択内容と次の手順がまとめられています。 「保存」をクリックして、インフラストラクチャを作成します。

    フレキシブルポートエグレス設定の確認

サイドパネルの​ ネットワークインフラストラクチャ ​見出しの下に新しいレコードが表示されます。 これには、インフラストラクチャのタイプ、ステータス、地域、有効な環境が含まれます。

API設定 configuring-vpn-api

プログラムごとに 1 回、POST /program/<programId>/networkInfrastructures エンドポイントが呼び出されます。 設定情報のペイロードが渡されます。 この情報には、kind パラメーター、地域、アドレス空間(CIDR のリスト - この値は後で変更できません)、DNS リゾルバー(ネットワーク内の名前を解決するため)の vpn の値が含まれます。 また、ゲートウェイ設定、共有 VPN キー、IP セキュリティポリシーなどの VPN 接続情報も含まれます。 エンドポイントは、応答として network_id の他に、ステータスなどの他の情報も返します。

呼び出しの後、ネットワークインフラストラクチャがプロビジョニングされるまで、通常は 45~60 分かかります。 APIのGET メソッドを呼び出してステータスを返すことができ、最終的にはcreatingからreadyに変わります。 すべてのステータスについては、 API ドキュメントを参照してください。

TIP
パラメーターの完全なセットと正確な構文および後で変更できないパラメーターなどの重要な情報は、API ドキュメントで参照できます

トラフィックルーティング vpn-traffic-routing

次の表にトラフィックルーティングを示します。

トラフィック
宛先の条件
ポート
接続
外部宛先の例
HTTP または HTTPS プロトコル
Azure サービスまたはアドビサービスへのトラフィック
任意
(専用 IP ではなく)共有クラスター IP を経由
adobe.io
api.windows.net
nonProxyHosts パラメーターに一致するホスト
80 または 443
共有クラスター IP を経由
nonProxyHosts パラメーターに一致するホスト
80 または 443 以外のポート
ブロック
IP が VPN ゲートウェイアドレス空間の範囲に収まり、(標準の Java™ HTTP クライアントライブラリを使用する HTTP または HTTPS トラフィックにデフォルトで設定済みの)HTTP プロキシ設定を使用する場合
任意
VPN を経由
10.0.0.1:443
ホスト名を指定することもできます。
IP が VPN ゲートウェイアドレス空間の範囲に収まらず、(標準の Java™ HTTP クライアントライブラリを使用する HTTP または HTTPS トラフィックにデフォルトで設定済みの)HTTP プロキシ設定を使用する場合
任意
専用エグレス IP を経由
HTTP プロキシ設定を無視(例えば、標準の Java™ HTTP クライアントライブラリから明示的に削除された場合や、標準のプロキシ設定を無視する Java™ ライブラリを使用する場合)
80 または 443
共有クラスター IP を経由
HTTP プロキシ設定を無視(例えば、標準の Java™ HTTP クライアントライブラリから明示的に削除された場合や、標準のプロキシ設定を無視する Java™ ライブラリを使用する場合)
80 または 443 以外のポート
ブロック
HTTP 以外または HTTPS 以外
IP が VPN ゲートウェイアドレス空間の範囲に収まり、portForwards API パラメーターで宣言されている portOrig を使用して AEM_PROXY_HOST 環境変数のプロキシホストにクライアントが接続する場合
任意
VPN を経由
10.0.0.1:3306
ホスト名を指定することもできます。
IP が VPN ゲートウェイアドレス空間の範囲に収まらず、portForwards API パラメーターで宣言されている portOrig を使用して AEM_PROXY_HOST 環境変数のプロキシホストにクライアントが接続する場合
任意
専用エグレス IP を経由
その他すべて
任意
ブロック

設定に役立つドメイン vpn-useful-domains-for-configuration

次の図は、設定と開発に役立つ一連のドメインと関連 IP を視覚的に表したものです。 図の下の表に、これらのドメインと IP を示します。

VPN ドメイン設定

ドメインパターン
説明
p{PROGRAM_ID}.external.adobeaemcloud.com
専用エグレス IP アドレスは、プライベートネットワークではなく、インターネットに送信するトラフィック用です。
p{PROGRAM_ID}.{REGION}-gateway.external.adobeaemcloud.com
AEM 側の VPN ゲートウェイの IP。 ネットワークエンジニアリングチームでは、この IP を使用して、特定の IP アドレスから VPN ゲートウェイへの VPN 接続のみを許可することができます。

環境で高度なネットワーク設定を有効にする enabling

プログラムの高度なネットワークオプションを設定したら、フレキシブルポートエグレス専用エグレス IP アドレスまたは VPN のいずれで使用する場合であっても、環境レベルでそのオプションを有効にする必要があります。

環境の高度なネットワーク設定を有効にすると、オプションのポート転送と非プロキシホストも有効にすることができます。 柔軟性を持たせるために、パラメーターは環境ごとに設定できます。

  • ポート転送 - ポート転送ルールは、http または https プロトコルを使用しない場合に限り、80/443 以外の宛先ポートに対して宣言する必要があります。

    • ポート転送ルールは、宛先ホストのセット(名前または IP およびポート)を指定することによって定義されます。
    • http/https 経由のポート80/443を使用するクライアント接続でも、接続でプロキシ設定を使用して、高度なネットワークのプロパティを接続に適用する必要があります。
    • 宛先ホストごとに、宛先ポートを 30000~30999 のポートにマッピングする必要があります。
    • ポート転送ルールは、すべての高度なネットワークタイプで使用できます。
  • 非プロキシ ホスト – 非プロキシ ホストでは、専用IPではなく共有IP アドレス範囲を経由するホストのセットを宣言できます。

    • このアプローチは、共有IP アドレスを通じてエグレスするトラフィックをさらに最適化する可能性があるので、有用です。
    • 非プロキシホストは、専用エグレス IP アドレスおよび VPN の高度なネットワークタイプでのみ使用できます。
NOTE
環境が​ 更新中 ​ステータスにある場合、環境の高度なネットワーク設定を有効にすることはできません。

UIを使用して有効にする enabling-ui

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、プログラムを選択します。

  3. プログラムの概要​ページから「環境」タブに移動し、左側のパネルの​ 環境 ​見出しの下から、高度なネットワーク設定を有効にする環境を選択します。 次に、選択した環境の「高度なネットワーク設定」タブを選択し、「ネットワークインフラストラクチャを有効にする」をタップまたはクリックします。

    高度なネットワーク機能を有効にする環境の選択

  4. 高度なネットワーク機能を設定​ダイアログボックスが開きます。

  5. 非プロキシホスト」タブでは、専用グレス IP アドレスと VPN に対して、オプションでホストのセットを定義できます。 これらの定義されたホストは、非プロキシ ホスト フィールドにホスト名を指定し、追加​をクリックして、専用IP アドレスではなく共有IP アドレス範囲を通じてルーティングする必要があります。

    • ホストがタブ上のホストのリストに追加されます。
    • 複数のホストを追加する場合は、この手順を繰り返します。
    • ホストを削除する場合は、行の右側にある「X」をクリックします。
    • このタブは、フレキシブルポートエグレス設定では使用できません。

    非プロキシホストの追加

  6. ポート転送」タブでは、HTTP または HTTPS を使用しない場合、80/443 以外の宛先ポートに対するポート転送ルールをオプションで定義できます。 名前送信元ポート宛先ポート​を入力し、「追加」をクリックします。

    • ルールがタブ上のルールのリストに追加されます。
    • 複数のルールを追加する場合は、この手順を繰り返します。
    • ルールを削除する場合は、行の右側にある「X」をクリックします。

    オプションのポート転送の定義

  7. ダイアログボックスで「保存」をクリックして、設定を環境に適用します。

高度なネットワーク構成が、選択した環境に適用されます。 「環境」タブに戻ると、選択した環境に適用された設定の詳細とそのステータスが表示されます。

高度なネットワーク機能で設定された環境

APIを使用して有効にする enabling-api

環境の高度なネットワーク設定を有効にするには、環境ごとに PUT /program/<program_id>/environment/<environment_id>/advancedNetworking エンドポイントを呼び出す必要があります。

APIは数秒で応答し、ステータスがupdatingであることを示します。 約 10 分後、Cloud Manager の環境 GET エンドポイントを呼び出すと、ready のステータスが表示され、環境へのアップデートが適用されたことが示されます。

環境ごとのポート転送ルールは、PUT /program/{programId}/environment/{environmentId}/advancedNetworking エンドポイントを呼び出し、サブセットではなく構成パラメーターの完全なセットを含めることで更新できます。

専用エグレス IP アドレスと VPN の高度なネットワークタイプは、nonProxyHosts パラメーターをサポートします。 このサポートにより、専用IPではなく共有IP アドレス範囲を経由するホストのセットを宣言できます。 nonProxyHost URLはexample.comまたは*.example.comのパターンに従います。ワイルドカードはドメインの開始時にのみサポートされます。

環境トラフィックルーティングルール(ホストまたはバイパス)がない場合でも、空のペイロードでPUT /program/<program_id>/environment/<environment_id>/advancedNetworkingを呼び出します。

TIP
パラメーターの完全なセットと正確な構文および後で変更できないパラメーターなどの重要な情報は、API ドキュメントで参照できます

環境の詳細ネットワーク設定の編集と削除 editing-deleting-environments

環境に対して高度なネットワーク設定を有効にした後、設定の詳細を更新または削除できます。

NOTE
ネットワークインフラストラクチャのステータスが​作成中更新中​または​ 削除中 ​の場合は編集できません。

UIを使用した編集または削除 editing-ui

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、プログラムを選択します。

  3. プログラムの概要​ページから「環境」タブに移動し、左側のパネルの​ 環境 ​見出しの下から、高度なネットワーク設定を有効にする環境を選択します。 次に、選択した環境の「高度なネットワーク設定」タブを選択し、省略記号ボタンをクリックします。

    プログラムレベルでの高度なネットワーク機能の編集または削除の選択

  4. 省略記号メニューで「編集」または「削除」を選択します。

    • 編集」を選択した場合は、前の UI を使用した有効化の節で説明した手順に従って情報を更新し、「保存」をクリックします。
    • 削除」を選択した場合は、ネットワーク設定を削除​ダイアログボックスで「削除」を選択して削除を確認するか、「キャンセル」を選択して中止します。

変更は「環境」タブに反映されます。

APIを使用した編集または削除 editing-api

特定の環境で高度なネットワーク機能を削除するには、DELETE [/program/{programId}/environment/{environmentId}/advancedNetworking]() を呼び出します。

TIP
パラメーターの完全なセットと正確な構文および後で変更できないパラメーターなどの重要な情報は、API ドキュメントで参照できます

プログラムのネットワークインフラストラクチャの編集と削除 editing-deleting-program

プログラムのネットワークインフラストラクチャを作成すると、編集できるプロパティは制限されます。 不要になった場合は、プログラム全体の高度なネットワーク インフラストラクチャを削除できます。

NOTE
ネットワークインフラストラクチャの編集および削除には次の制限があります。
  • 削除では、すべての環境の高度なネットワークが無効になっている場合にのみ、インフラストラクチャが削除されます。
  • ネットワークインフラストラクチャのステータスが​作成中更新中​または​ 削除中 ​の場合は編集できません。
  • 作成後に編集できるのは、VPN の高度なネットワークインフラストラクチャタイプのみであり、その後は制限されたフィールドのみ編集できます。
  • セキュリティ上の理由から、VPN の高度なネットワークインフラストラクチャを編集する際は、キー自体を編集していない場合でも、常に​ 共有キー ​を指定する必要があります。

UIを使用した編集、テスト、削除 delete-ui

  1. my.cloudmanager.adobe.com で Cloud Manager にログインし、適切な組織を選択します。

  2. マイプログラム​コンソールで、プログラムを選択します。

  3. プログラムの概要​ページから、「環境」タブに移動します。

  4. 左側のパネルで、ネットワークインフラストラクチャ​をクリックします。

  5. 編集、テスト、または削除するインフラストラクチャの横にある 詳細アイコン、省略記号 をクリックします。

    プログラムレベルでの高度なネットワーク機能の編集または削除の選択

  6. 編集テスト、または​ 削除 ​をクリックします。

  7. 次のいずれかの操作を行います。

    • 編集」を選択すると、ネットワークインフラストラクチャを編集​ウィザードが開きます。 インフラストラクチャの作成時に説明した手順に従い、必要に応じて編集します。

    • 環境レベルで有効にする前に接続をセルフテストするために​ テスト ​を選択した場合、最近のテスト ドロップダウンメニューで、設定を再読み込みするエントリを選択し、テスト​をクリックします。 テストが実行されていない場合、メニューに​ 最近のテストはありません ​と表示されます。

      または、ホスト テキストフィールドに、必要なターゲットホスト名を入力します。 次に、Port ドロップダウンメニューで、必要な適切なポートを選択します。 「テスト」をクリックします。 結果は、ダイアログボックスの​テスト結果 セクションに表示されます。

    • 削除」を選択した場合は、ネットワーク設定を削除​ダイアログボックスで「削除」を選択して削除を確認するか、「キャンセル」を選択して中止します。

変更は「環境」タブに反映されます。

APIを使用した編集と削除 delete-api

プログラムのネットワークインフラストラクチャを​ 削除 ​するには、DELETE /program/{program ID}/networkinfrastructure/{networkinfrastructureID} を呼び出します。

プログラムの高度なネットワーク インフラストラクチャの種類を変更する changing-program

プログラムに対して一度に設定できる高度なネットワークインフラストラクチャは、1 つのタイプのみです。 高度なネットワークインフラストラクチャは、フレキシブルポートエグレス、専用エグレス IP アドレス、または VPN のいずれかにする必要があります。

既に設定したタイプ以外の高度なネットワークインフラストラクチャタイプが必要であると判断した場合は、既存のタイプを削除して、別のタイプを作成します。 次の手順を実行します。

WARNING
この手順を実行すると、削除と再作成の間に高度なネットワークサービスのダウンタイムが発生します。
ダウンタイムによってビジネスに大きな影響が生じた場合は、カスタマーサポートにお問い合わせいただき、作成済みの内容と変更の理由を説明してください。

他のパブリッシュ地域の高度なネットワーク設定 advanced-networking-configuration-for-additional-publish-regions

高度なネットワーク機能が既に設定されている環境にさらに地域を追加すると、追加の公開地域からのトラフィックは既存のルールに従います。 デフォルトでは、一致するトラフィックはプライマリ地域を通じてルーティングされます。 ただし、プライマリ地域が使用できなくなった場合、その他の地域で詳細ネットワークが有効になっていないと、高度なネットワークトラフィックは破棄されます。 いずれかの地域で障害が発生した場合に、待ち時間を最適化して可用性を高めるには、追加の公開地域の高度なネットワークを有効にする必要があります。 次の節では、2 つの異なるシナリオについて説明します。

NOTE
すべての地域が環境の高度なネットワーク設定を共有するので、トラフィックが出力される地域に基づいて、別の宛先にトラフィックをルーティングすることはできません。

専用エグレス IP アドレス additional-publish-regions-dedicated-egress

プライマリ地域で既に有効になっている高度なネットワーク already-enabled

プライマリ地域で既に高度なネットワーク設定が有効になっている場合は、次の手順に従います。

  1. 専用の AEM IP アドレスが許可リストに表示されるようにインフラストラクチャをロックダウンした場合は、そのインフラストラクチャ内の拒否ルールを一時的に無効にします。 この手順をスキップすると、インフラストラクチャは新しい地域の IP アドレスからのリクエストを一時的に拒否します。 p1234.external.adobeaemcloud.com などの完全修飾ドメイン名(FQDN)を使用してインフラストラクチャをロックダウンしている場合、この手順は必要ありません。 すべての AEM 地域では、同じ FQDN から高度なネットワークトラフィックを送信します。
  2. 高度なネットワークのドキュメントに記載されるように、Cloud Manager Create Network Infrastructure API への POST 呼び出しを通じて、セカンダリ地域のプログラム範囲のネットワークインフラストラクチャを作成します。 ペイロードの JSON 設定のプライマリ地域に対する唯一の違いは、地域プロパティです
  3. AEM トラフィックを許可するためにIPでインフラストラクチャをロックダウンする必要がある場合は、p1234.external.adobeaemcloud.comに対応するIP アドレスを追加します。 地域ごとに1つあります。

どの地域にもまだ設定されていない高度なネットワーク not-yet-configured

手順は、前述の手順とほとんど同じです。 ただし、本番環境でまだ高度なネットワークが有効にされていない場合は、まずステージング環境で有効にして設定をテストできます。

  1. Cloud Manager Create Network Infrastructure API への POST 呼び出しを通して、すべての地域のネットワークインフラストラクチャを作成します。 ペイロードの JSON 設定のプライマリ地域に対する唯一の違いは、地域プロパティです。
  2. ステージング環境の場合は、PUT api/program/{programId}/environment/{environmentId}/advancedNetworking を実行して、環境範囲を指定した高度なネットワークを有効にし、設定します。 詳しくは、API のドキュメントを参照してください
  3. 必要に応じて、できれば FQDN(例えば p1234.external.adobeaemcloud.com)で、外部インフラストラクチャをロックダウンします。 それ以外の場合は、IP アドレスで行うことができます
  4. ステージング環境が期待どおりに動作する場合は、実稼動環境用に環境範囲を定めた高度なネットワーク設定を有効にして設定します。

VPN vpn-regions

手順は、専用のエグレス IP アドレスの手順とほとんど同じです。 唯一の違いは、地域プロパティの設定がプライマリ地域とは異なることです。 さらに、オプションで connections.gateway フィールドを設定できます。 設定では、組織が運用する、新しい地域と地理的に近い、別の VPN エンドポイントにルーティングできます。

トラブルシューティング

次の点は、参考となるガイドラインとして提供され、トラブルシューティングのベストプラクティスを含みます。 これらのレコメンデーションは、問題の効果的な診断と解決を支援することを目的としています。

接続プーリング connection-pooling-advanced-networking

接続プールは、接続のコレクションを作成および維持するために設計された手法です。 これらの接続は、それらを必要とするすべてのスレッドで即座に使用できます。 様々な接続プール技術が利用でき、それぞれに独自のメリットと考慮事項があります。 お客様には、これらの手法を調査して、システムのアーキテクチャに最も適合する手法を特定することをお勧めします。

適切な接続プール戦略を実装することは、システム構成の一般的な問題に対処するための手段であり、多くの場合、パフォーマンスの低下につながります。 Adobe Experience Manager(AEM)では、接続プーリングを正しく設定することで、外部呼び出しの効率を向上させることができます。 このアプローチにより、リソースの消費が削減され、サービスが停止するリスクが軽減され、外部サーバーと通信する際にリクエストが失敗する可能性が低減されます。

この情報に基づいて、アドビでは現在の AEM 設定を確認することをお勧めします。 また、高度なネットワーク機能の設定と共に接続プーリングを意図的に使用することも考慮してください。 並列接続数を管理し、古い接続を減らすことで、ネットワークのパフォーマンスを最適化できます。 これらのアクションにより、プロキシサーバーが接続制限に達するリスクが低減されます。 したがって、この戦略的実装は、リクエストが外部エンドポイントに到達できない可能性を減らすように設計されています。

接続制限に関するFAQ

高度なネットワーク機能を使用する場合、環境全体の安定性を確保し、下位の環境で使用可能な接続が使い果たされるのを防ぐために、接続数が制限されます。

接続数は AEM インスタンスごとに 1000 に制限され、接続数が 750 に達すると顧客にアラートが送信されます。

接続制限は、非標準ポートからの送信トラフィックにのみ適用されますか、それともすべての送信トラフィックに適用されますか?

制限は、高度なネットワーク機能(非標準ポートでのエグレス、専用のエグレス IP の使用または VPN)を使用した接続にのみ適用されます。

送信接続数は大幅に増加していないようです。 通知が届いたのはなぜですか?

顧客が動的に接続を作成する場合(リクエストごとに 1 つ以上など)、トラフィックが増加すると、接続が急増する可能性があります。

過去にアラートをトリガーせずに同様の状況が発生しましたか?

アラートは、ソフトリミットに到達した場合にのみ送信されます。

上限に達した場合はどうなりますか?

ハード制限に達すると、高度なネットワークを介したAEMからの新しいエグレス接続(非標準ポートでのエグレス、専用エグレス IP、またはVPNを使用)がドロップされ、DoS攻撃から保護されます。

制限を引き上げることはできますか?

いいえ、接続数が多いと、パフォーマンスに大きな影響を与え、ポッドや環境全体で DoS の原因となる可能性があります。

一定期間が経過すると、AEM システムによって接続が自動的に閉じられますか?

はい、接続はJVM レベルとネットワークインフラストラクチャ内で閉じます。 ただし、このワークフローは、実稼動サービスには遅すぎます。 接続プールを使用する場合、接続は、不要になった際に明示的に閉じるか、プールに戻す必要があります。 そうしないと、リソースの消費量が高くなりすぎて、リソースが枯渇する可能性があります。

接続数の上限に達した場合、ライセンスに影響し、追加コストが発生しますか?

いいえ、この制限に関連するライセンスやコストはありません。 これは技術的な制限です。

現在の使用量は、上限にどれくらい近づいていますか? 許可される上限はどれくらいですか?

接続数が 750 を超えるとアラートがトリガーされます。 AEM インスタンスあたりの接続数の上限は 1,000 です。

この制限は VPN に適用されますか?

はい、制限は VPN を含む高度なネットワーク機能を使用した接続に適用されます。

専用のエグレス IPを使用する場合、制限はまだ適用されますか?

はい、専用のエグレス IP を使用する場合、制限は引き続き適用されます。

recommendation-more-help
experience-manager-cloud-service-help-main-toc