为 AEM as a Cloud Service 配置高级联网功能 configuring-advanced-networking

本文介绍 AEM as a Cloud Service 中的各种高级联网功能,包括 VPN、非标准端口以及专用出口 IP 地址的自助服务和 API 配置。

TIP
除了本文档之外,还有一系列教程旨在引导您了解此位置的每个高级网络选项。

概述 overview

AEM as a Cloud Service 提供以下高级网络选项:

本文首先详细描述每个选项以及为什么您可能会使用它们,然后描述如何使用 Cloud Manager UI 和 API 配置它们,最后以一些高级用例作为结尾。

CAUTION
如果您已配置了旧版专用出口技术并希望配置这些高级网络选项之一,请首先联系 Adobe 客户服务。
尝试使用传统出口技术配置高级网络可能会影响站点连接。

要求和限制 requirements

配置高级网络功能时,存在以下限制。

  • 程序可以提供单个高级网络选项(灵活端口出口、专用出口 IP 地址或 VPN)。

  • 高级联网对沙盒程序不可用。

  • 用户必须具有​ 管理员 ​角色才能在您的程序中添加和配置网络基础架构。

  • 必须先创建生产环境,然后才能将网络基础架构添加到程序中。

  • 您的网络基础架构必须与生产环境的主要区域位于同一区域。

    • 如果您的生产环境有其他发布区域,您可以创建镜像每个额外区域的额外网络基础架构。
    • 您创建的网络基础架构数量不得超过生产环境中配置的最大区域数量。
    • 您可以定义与生产环境中的可用区域一样多的网络基础架构,但新基础架构必须与之前创建的基础架构类型相同。
    • 创建多个基础架构时,只能选择尚未创建高级网络基础架构的区域。

配置和启用高级网络 configuring-enabling

使用高级网络功能需要两个步骤:

  1. 配置高级网络选项,无论是灵活端口出口、 专用出口 IP 地址还是 VPN,必须首先在程序级别完成。
  2. 要使用该选项,高级联网选项必须 已在环境级别启用。

这两个步骤都可以使用 Cloud Manager UI 或 Cloud Manager API 来完成。

  • 使用 Cloud Manager UI 时,这意味着使用程序级别的向导创建高级网络配置,然后编辑您希望启用配置的每个环境。

  • 使用 Cloud Manager API 时,会在程序级别调用 /networkInfrastructuresAPI 端点来声明所需的高级联网类型,然后调用每个环境的 /advancedNetworking 端点来启用基础架构并配置特定于环境的参数。

灵活端口出口 flexible-port-egress

此高级联网功能让您对 AEM as a Cloud Service 进行配置,通过默认打开的 HTTP(端口 80)和 HTTPS(端口 443)以外的端口来传入流量。

TIP
在灵活端口出口和专用出口 IP 地址之间进行选择时,如果无需特定 IP 地址,则建议您选择灵活端口出口,因为 Adobe 可以优化灵活端口出口流量的性能。
NOTE
创建后,灵活端口出口基础架构类型将无法编辑。更改配置值的唯一方法是删除并重新创建它们。

UI 配置 configuring-flexible-port-egress-provision-ui

  1. my.cloudmanager.adobe.com 登录 Cloud Manager 并选择适当的组织。

  2. 在​ 我的程序 ​屏幕上,选择该程序。

  3. 从​ 程序概述 ​页面,导航至​ 环境 ​选项卡,然后在左侧面板中选择​ 网络基础架构

    添加网络基础架构

  4. 在启动的​ 添加网络基础架构 ​向导中,选择​ 灵活端口出口 ​以及从​ 区域 ​下拉菜单中选择应创建它的区域,然后点击或单击​ 继续

    配置灵活端口出口

  5. 确认 ​选项卡总结了您的选择和后续步骤。点击或单击​ 保存 ​以创建基础架构。

    确认灵活端口出口配置

侧面板中​ 网络基础架构 ​标题下方将显示一条新记录,其中包括基础架构类型、状态、区域以及已启用该记录的环境的详细信息。

网络基础架构下的新条目

NOTE
创建灵活端口出口的基础构架可能需要长达一个小时的时间,之后可以在环境级别进行配置。

API 配置 configuring-flexible-port-egress-provision-api

每个程序调用一次 POST /program/<programId>/networkInfrastructures 端点,只需传递 kind 参数和区域的 flexiblePortEgress 值。端点使用 network_id 以及包括状态在内的其他信息进行响应。

在调用后,通常需要大约 15 分钟来预配联网基础设施。对 Cloud Manager 的网络基础架构 GET 端点的调用将显示状态​ “就绪”

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 联网库,请使用以上属性为所有流量配置代理。

如果非 http/https 流量流经 portForwards 参数中声明的端口,应该引用名为 AEM_PROXY_HOST 的属性以及映射的端口。例如:

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

下表描述了流量路由:

流量
目标条件
端口
连接
外部目标示例
Http 或 https 协议
标准 http/https 流量
80 或 443
允许

非标准流量(在 80 或 443 以外的端口上),这些流量流经使用以下环境变体和代理端口号配置的 http 代理。不要在 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

在与 SaaS 供应商(例如 CRM 供应商)集成,或者对于在 AEM as a Cloud Service 之外提供 IP 地址允许列表的其他集成时,专用 IP 地址可以增强安全性。列入允许列表通过将专用IP地址添加到,可确保只允许来自AEM Cloud Service的流量流向外部服务。 这是在允许的其他所有 IP 之外的流量。

相同的专用 IP 应用于您 Adobe 组织中的所有程序以及每个程序中的所有环境。它适用于创作和发布服务。

如果不启用专用 IP 地址功能,来自 AEM as a Cloud Service 的流量会流经与其他客户共享的一组 IP。

专用出口 IP 地址的配置方法与灵活端口出口相同。主要差别在于,配置后,流量始终从专用的唯一 IP 地址传出。要查找该 IP,请使用 DNS 解析器来确定与 p{PROGRAM_ID}.external.adobeaemcloud.com 关联的 IP 地址。该 IP 地址不应改变,但如果必须改变,则会提供提前通知。

TIP
在灵活端口出口和专用出口 IP 地址之间进行选择时,如果无需特定 IP 地址,则建议您选择灵活端口出口,因为 Adobe 可以优化灵活端口出口流量的性能。
NOTE
如果您在 2021.09.30 之前(即 2021 年 9 月版本之前)配置了专用出口 IP,则您的专用出口 IP 功能仅支持 HTTP 和 HTTPS 端口。
这包括 HTTP/1.1 以及加密的 HTTP/2。此外,专用出口端点可以分别通过端口 80/443 上的 HTTP/HTTPS 与任何目标通信。
NOTE
创建后,专用出口 IP 地址基础设施类型将无法编辑。更改配置值的唯一方法是删除并重新创建它们。
INFO
无法对专用出口 IP 地址使用 Splunk 转发功能。

UI 配置 configuring-dedicated-egress-provision-ui

  1. my.cloudmanager.adobe.com 登录 Cloud Manager 并选择适当的组织。

  2. 在​ 我的程序 ​屏幕上,选择该程序。

  3. 从​ 程序概述 ​页面,导航至​ 环境 ​选项卡,然后在左侧面板中选择​ 网络基础架构

    添加网络基础架构

  4. 在启动的​ 添加网络基础架构 ​向导中,选择​ 专用出口 IP 地址 ​以及从​ 区域 ​下拉菜单中选择应创建它的区域,然后点击或单击​ 继续

    配置专用出口 IP 地址

  5. 确认 ​选项卡总结了您的选择和后续步骤。点击或单击​ 保存 ​以创建基础架构。

    确认灵活端口出口配置

侧面板中​ 网络基础架构 ​标题下方将显示一条新记录,其中包括基础架构类型、状态、区域以及已启用该记录的环境的详细信息。

网络基础架构下的新条目

NOTE
创建灵活端口出口的基础构架可能需要长达一个小时的时间,之后可以在环境级别进行配置。

API 配置 configuring-dedicated-egress-provision-api

每个程序调用一次 POST /program/<programId>/networkInfrastructures 端点,只需传递 kind 参数和区域的 dedicatedEgressIp 值。端点使用 network_id 以及包括状态在内的其他信息进行响应。

在调用后,通常需要大约 15 分钟来预配联网基础设施。对 Cloud Manager 的网络基础架构 GET 端点的调用将显示状态​ “就绪”

TIP
API 文档中可以引用完整的参数集和准确的语法,以及以后无法更改的参数等重要信息。

流量路由 dedicated-egress-ip-traffic-routing

Http 或 https 流量将通过预配置的代理,前提是它们使用标准 Java 系统属性进行代理配置。

如果非 http/https 流量流经 portForwards 参数中声明的端口,应该引用名为 AEM_PROXY_HOST 的属性以及映射的端口。例如:

DriverManager.getConnection("jdbc:mysql://" + System.getenv("AEM_PROXY_HOST") + ":53306/test");
流量
目标条件
端口
连接
外部目标示例
Http 或 https 协议
流向 Azure 或 Adobe 服务的流量
任意
通过共享集群 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 允许从创作、发布或预览实例连接到内部部署基础架构或数据中心。例如,这对于保护数据库访问很有用。它还允许连接到 SaaS 供应商(例如支持 VPN 的 CRM 供应商),或者允许从公司网络连接到 AEM as a Cloud Service 的创作、预览或发布实例。

支持大部分采用 IPSec 技术的 VPN 设备。请参阅此设备列表中​ RouteBased 配置说明 ​列中的信息。按表中所述配置该设备。

NOTE
请注意 VPN 基础构架的这些限制:
  • 仅限于支持单个 VPN 连接
  • 无法在 VPN 连接上使用 Splunk 转发功能。
  • 必须在网关地址空间中列出 DNS 解析器才能解析私有主机名。

UI 配置 configuring-vpn-ui

  1. my.cloudmanager.adobe.com 登录 Cloud Manager 并选择适当的组织。

  2. 在​ 我的程序 ​屏幕上,选择该程序。

  3. 从​ 程序概述 ​页面,导航至​ 环境 ​选项卡,然后在左侧面板中选择​ 网络基础架构

    添加网络基础架构

  4. 在启动的​ 添加网络基础架构 ​向导中,选择​ 虚拟专用网络 ​并在点击或单击​ 继续 ​之前提供必要的信息。

    • 区域 – 这是应该创建基础架构的区域。

    • 地址空间 — 地址空间只能是您自己的空间中的一个/26 CIDR (64个IP地址)或更大的IP范围。

      • 该值以后无法更改。
    • DNS 信息 – 这是远程 DNS 解析器的列表。

      • Enter 输入 DNS 服务器地址后可添加另一个地址。
      • 点击或单击地址后的 X 将其移除。
    • 共享密钥 – 这是您的 VPN 预共享密钥。

      • 选择​ 显示共享密钥 ​可显示密钥,以便仔细检查其值。

    配置 VPN

  5. 在​ 连接 ​向导选项卡中,提供​ 连接名称 ​识别您的 VPN 连接并点击或单击​ 添加连接

    添加连接

  6. 在​ 添加连接 ​对话框中,定义您的 VPN 连接并点击或单击​ 保存

    • 连接名称 – 这是您的 VPN 连接的描述性名称,您在上一步中提供了该名称,可以在此处更新。

    • 地址 - 这是 VPN 设备 IP 地址。

    • 地址空间 – 这些是通过 VPN 路由的 IP 地址范围。

      • Enter 输入一个范围后可添加另一个范围。
      • 点击或单击范围后的X将其删除。
    • IP 安全策略 – 根据需要调整默认值

    添加 VPN 连接

  7. 对话框关闭,您返回到​ 连接 ​向导的选项卡。点击或单击​ 继续

    添加了 VPN 连接

  8. 确认 ​选项卡总结了您的选择和后续步骤。点击或单击​ 保存 ​以创建基础架构。

    确认灵活端口出口配置

侧面板中​ 网络基础架构 ​标题下方将显示一条新记录,其中包括基础架构类型、状态、区域以及已启用该记录的环境的详细信息。

API 配置 configuring-vpn-api

每个程序运行一次,POST /program/<programId>/networkInfrastructures 调用端点,传入配置信息的负载,包括:值 vpn 对于 kind 参数、区域、地址空间(CIDR列表 — 请注意,以后无法修改此列表)、DNS解析器(用于解析网络中的名称)以及VPN连接信息,例如网关配置、共享VPN密钥以及IP安全策略。 端点使用 network_id 以及包括状态在内的其他信息进行响应。

在调用后,通常需要 45 到 60 分钟来预配联网基础设施。可以调用 API 的 GET 方法以返回当前状态,这最终会从 creating 翻转到 ready。请参考 API 文档来了解所有状态。

TIP
API 文档中可以引用完整的参数集和准确的语法,以及以后无法更改的参数等重要信息。

流量路由 vpn-traffic-routing

下表描述了流量路由。

流量
目标条件
端口
连接
外部目标示例
Http 或 https 协议
流向 Azure 或 Adobe 服务的流量
任意
通过共享集群 IP(而非专用 IP)
adobe.io
api.windows.net
主机匹配 nonProxyHosts 参数
80 或 443
通过共享集群 IP
主机匹配 nonProxyHosts 参数
80 或 443 以外的端口
已阻止
如果 IP 处于 VPN 网关地址 空间范围内,并且通过 http 代理配置传输流量(默认情况下使用标准 Java HTTP 客户端库为 http/https 流量进行配置)
任意
通过 VPN
10.0.0.1:443
这也可以是主机名。
如果 IP 没有处于 VPN 网关地址 空间范围内,并且通过 http 代理配置传输流量(默认情况下使用标准 Java HTTP 客户端库为 http/https 流量进行配置)
任意
通过专用出口 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 域配置

域模式
出口(自 AEM)含义
入口(至 AEM)含义
p{PROGRAM_ID}.external.adobeaemcloud.com
专用出口 IP 地址用于流向 Internet 的流量,而非通过专用网络的流量
来自 VPN 的连接将在 CDN 上显示为来自此 IP。要仅允许来自 VPN 的连接进入 AEM,请将 Cloud Manager 配置为仅允许此 IP 并阻止其他所有流量。有关详细信息,请参阅“将传入限制为 VPN 连接”。
p{PROGRAM_ID}.{REGION}-gateway.external.adobeaemcloud.com
不适用
AEM 侧 VPN 网关的 IP。您的网络工程团队可以使用此项来仅允许从特定IP地址到VPN网关的VPN连接。
p{PROGRAM_ID}.{REGION}.inner.adobeaemcloud.net
从VPN的AEM端到您端的流量IP。 这可以在您的配置中列入允许列表,以确保只能从AEM建立连接。
如果要允许通过VPN访问AEM,则应配置CNAME DNS条目以映射您的自定义域和/或 author-p{PROGRAM_ID}-e{ENVIRONMENT_ID}.adobeaemcloud.com 和/或 publish-p{PROGRAM_ID}-e{ENVIRONMENT_ID}.adobeaemcloud.com 敬这个。

将传入限制为 VPN 连接 restrict-vpn-to-ingress-connections

如果您希望只允许通过 VPN 访问 AEM,则可以在 Cloud Manager 中配置环境允许列表,这样可以只允许 p{PROGRAM_ID}.external.adobeaemcloud.com 定义的 IP 与环境通信。此操作与在 Cloud Manager 中定义其他任何基于 IP 的允许列表相同。

如果规则必须基于路径,则在 Dispatcher 级别使用标准 http 指令来拒绝或允许特定 IP。它们可以确保所需路径在 CDN 上不可缓存,因此请求始终将获取到来源。

Httpd 配置示例 httpd-example

Order deny,allow
Deny from all
Allow from 192.168.0.1
Header always set Cache-Control private

在环境中启用高级网络配置 enabling

一旦为程序配置了高级网络选项,无论是灵活的端口出口, 专用出口 IP 地址,还是 VPN,要使用这些选项,必须在环境级别启用。

当您为环境启用高级网络配置时,您可以启用可选的端口转发和非代理主机。可以根据各个环境来配置参数以提供灵活性。

  • 转发端口 – 应为除 80/443 之外的任何目标端口声明端口转发规则,但前提是不使用 http 或 https 协议。

    • 通过指定目标主机集(名称或IP和端口)来定义端口转发规则。
    • 通过 http/https 使用端口 80/443 的客户端连接仍必须在其连接中使用代理设置,以便将高级联网属性应用于此连接。
    • 对于每个目标主机,必须将指向的目标端口映射到30000到30999之间的端口。
    • 端口转发规则适用于所有高级网络类型。
  • 非代理主机 – 非代理主机允许您声明一组主机,这些主机应通过共享的 IPS 地址范围而不是专用的 IP 进行路由。

    • 这可能很有用,因为通过共享 IPS 流出的流量可以进一步优化。
    • 非代理主机仅适用于专用出口 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. 在省略号菜单中,选择​ 编辑 ​或​ 删除

    • 如果您选择​ 编辑,请按照上一节启用用户界面中描述的步骤更新信息,然后点击或单击​ 保存
    • 如果您选择 删除,请在​ 删除网络配置 ​对话框中使用“删除”确认删除或使用“取消”中止。

更改将反映在​ 环境 ​选项卡上。

使用 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. 如果您选择​ 删除,请在​ 删除网络配置 ​对话框中使用“删除”确认删除或使用“取消”中止。

更改将反映在​ 环境 ​选项卡上。

使用 API 进行编辑和删除 delete-api

要​ 删除 ​项目的网络基础架构,请调用 DELETE /program/{program ID}/networkinfrastructure/{networkinfrastructureID}

更改程序的高级网络基础架构类型 changing-program

一次只能为程序配置一种类型的高级网络基础架构,即灵活端口出口、专用出口 IP 地址或 VPN。

如果您决定需要另一种高级网络基础架构类型而不是已配置的网络基础架构类型,则必须删除现有的网络基础架构类型并创建新的网络基础架构类型。请遵循以下程序:

WARNING
此过程将导致在删除和重新创建之间停用高级网络服务
如果停机会对业务产生重大影响,请联系客户支持以寻求帮助,并说明已创建的内容和更改的原因。

附加发布区域的高级网络配置 advanced-networking-configuration-for-additional-publish-regions

当将附加区域添加到已配置高级网络的环境中时,来自与高级网络规则匹配的附加发布区域的流量将默认路由通过主要区域。但是,如果主要区域变得不可用,在附加区域中未启用高级网络时,高级网络流量会被丢弃。如果您希望在其中一个区域发生中断时优化延迟并提高可用性,则有必要为附加发布区域启用高级网络。以下部分描述了两种不同的场景。

NOTE
所有区域共享相同的环境高级网络配置,因此无法根据流量流出的区域将流量路由到不同的目标。

专用出口 IP 地址 additional-publish-regions-dedicated-egress

高级网络已在主要区域启用 already-enabled

如果已在主要区域启用高级网络配置,请执行以下步骤:

  1. 如果您已锁定基础设施,使得专用 AEM IP 地址被列入允许列表,则建议暂时禁用该基础设施中的任何拒绝规则。如果不这样做,您自己的基础设施会在短时间内拒绝来自新区域的 IP 地址的请求。如果您已通过完全限定域名 (FQDN) 锁定您的基础设施(例如,p1234.external.adobeaemcloud.com),则没有必要这样做,因为所有 AEM 区域都会从相同的 FQDN 输出高级网络流量
  2. 如高级网络文档中所述,通过对 Cloud Manager Create Network Infrastructure API 的 POST 调用,为次要区域创建程序范围的网络基础设施。负载的 JSON 配置相对于主要区域的唯一区别是区域属性
  3. 如果您的基础设施必须由 IP 锁定以允许 AEM 流量,请添加与 p1234.external.adobeaemcloud.com 匹配的 IP。每个区域应该有一个匹配的 IP。

尚未在任何区域配置高级网络 not-yet-configured

该过程与前面的说明大体相似。但是,如果生产环境尚未启用高级网络,则有机会通过首先在暂存环境中启用配置来测试配置:

  1. 通过 POST 调用 Cloud Manager 创建网路基础设施 API 为所有区域创建网络基础设施。负载的 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 端点(可能在地理位置上更靠近新区域)。

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab