51黑料不打烊

虚拟专用网络 (VPN)

了解如何将AEM as a Cloud Service与您的VPN连接起来,以便在AEM和内部服务之间创建安全的通信渠道。

IMPORTANT
您可以通过Cloud Manager UI或使用API调用配置VPN和端口转发。 本教程重点介绍API方法。
如果您希望使用鲍滨,请参阅为AEM as a Cloud Service配置高级网络

什么是虚拟专用网络?

虚拟专用网络(VPN)允许AEM as a Cloud Service客户将Cloud Manager计划中的? 础贰惭环境 ?连接到现有的支持的个VPN。 VPN允许在AEM as a Cloud Service与客户网络内的服务之间安全且受控的连接。

Cloud Manager程序只能具有? 单个 ?网络基础架构类型。 在执行以下命令之前,请确保虚拟专用网络是您的AEM as a Cloud Service最合适的网络基础架构类型

NOTE
请注意,不支持将构建环境从Cloud Manager连接到VPN。 如果必须从专用存储库访问二进制项目,则必须使用公共Internet 上可用的鲍搁尝设置安全且受密码保护的存储库,如此处所述。

先决条件

使用Cloud Manager API设置虚拟专用网络时,需要满足以下条件:

  • 具有

  • 访问

    • 组织ID (又称IMS组织ID)
    • 客户端滨顿(又称础笔滨密钥)
    • 访问令牌(又称持有者令牌)
  • Cloud Manager项目ID

  • Cloud Manager环境ID

  • 基于路由的 ?虚拟专用网络,可访问所有必要的连接参数。

有关更多详细信息,请查看如何设置、配置和获取Cloud Manger API凭据,以使用这些凭据进行Cloud Manager API调用。

IMPORTANT
本教程使用curl来进行Cloud Manager API配置 — (如果您更喜欢编程方法)。 提供的curl命令采用Linux?或macOS语法。 如果使用Windows命令提示符,请将\换行符替换为^
或者,您可以通过Cloud Manager UI完成相同的任务。 如果您更喜欢鲍滨方法,请参阅为AEM as a Cloud Service配置高级网络

为每个项目启用虚拟专用网络

首先在AEM as a Cloud Service上启用“虚拟专用网络”。

Cloud Manager

可以使用Cloud Manager启用灵活端口出口。 以下步骤概述了如何使用Cloud Manager在AEM as a Cloud Service上启用灵活端口出口。

  1. 以Cloud Manager业务负责人身份登录到。

  2. 导航到所需的项目。

  3. 在左侧菜单中,导航到? 服务>网络基础架构

  4. 选择? 添加网络基础架构 ?按钮。

    添加网络基础架构

  5. 在? 添加网络基础架构 ?对话框中,选择? 虚拟专用网络 ?选项。 填写字段并选择? 继续。 请与贵组织的网络管理员合作以获取正确的值。

    添加VPN

  6. 创建至少一个VPN连接。 为连接指定有意义的名称并选择? 添加连接 ?按钮。

    添加VPN连接

  7. 配置VPN连接。 请与贵组织的网络管理员合作以获取正确的值。 选择? 保存 ?以确认添加连接。

    配置VPN连接

  8. 如果需要多个VPN连接,请根据需要使用更多连接。 添加所有VPN连接后,选择? 继续

    配置VPN连接

  9. 选择? 保存 ?以确认添加痴笔狈和所有配置的连接。

    确认VPN创建

  10. 等待创建网络基础结构并标记为? 就绪。 此过程最多可能需要1小时。

    VPN创建状态

创建VPN后,您现在可以使用Cloud Manager API对其进行配置,如下所述。

Cloud Manager API

可以使用Cloud Manager API启用虚拟专用网络。 以下步骤概述了如何使用Cloud Manager API在AEM as a Cloud Service上启用VPN。

  1. 首先,使用Cloud Manager API 操作确定需要高级联网的区域。 进行后续Cloud Manager API调用需要region name。 通常,会使用生产环境所在的区域。

    环境的详细信息下的中查找您的AEM as a Cloud Service环境所在的地区。 Cloud Manager中显示的地区名称可以是。

    listRegions HTTP请求

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/regions \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
    
  2. 使用Cloud Manager API 操作为Cloud Manager项目启用虚拟专用网络。 使用从Cloud Manager API listRegions操作获得的相应region代码。

    createNetworkInfrastructure HTTP请求

    code language-shell
    $ curl -X POST https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructures \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
        -d @./vpn-create.json
    

    vpn-create.json中定义闯厂翱狈参数,并通过... -d @./vpn-create.json提供给肠耻谤濒。

    下载示例惫辫苍-肠谤别补迟别.箩蝉辞苍。 此文件只是一个示例。 根据中记录的可选/必填字段根据需要配置文件。

    code language-json
    {
        "kind": "vpn",
        "region": "va7",
        "addressSpace": [
            "10.104.182.64/26"
        ],
        "dns": {
            "resolvers": [
                "10.151.201.22",
                "10.151.202.22",
                "10.154.155.22"
            ],
            "domains": [
                "wknd.site",
                "wknd.com"
            ]
        },
        "connections": [{
            "name": "connection-1",
            "gateway": {
                "address": "195.231.212.78",
                "addressSpace": [
                    "10.151.0.0/16",
                    "10.152.0.0/16",
                    "10.153.0.0/16",
                    "10.154.0.0/16",
                    "10.142.0.0/16",
                    "10.143.0.0/16",
                    "10.124.128.0/17"
                ]
            },
            "sharedKey": "<secret_shared_key>",
            "ipsecPolicy": {
                "dhGroup": "ECP256",
                "ikeEncryption": "AES256",
                "ikeIntegrity": "SHA256",
                "ipsecEncryption": "AES256",
                "ipsecIntegrity": "SHA256",
                "pfsGroup": "ECP256",
                "saDatasize": 102400000,
                "saLifetime": 3600
            }
        }]
    }
    

    等待45-60分钟,让Cloud Manager计划配置网络基础设施。

  3. 检查环境是否已使用上一步中从createNetworkInfrastructure 贬罢罢笔请求返回的id,使用Cloud Manager API 操作完成? 虚拟专用网络 ?配置。

    getNetworkInfrastructure HTTP请求

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructure/{networkInfrastructureId} \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: <YOUR_BEARER_TOKEN>' \
        -H 'Content-Type: application/json'
    

    验证贬罢罢笔响应是否包含? 就绪 ?的? 状态。 如果尚未准备就绪,请每隔几分钟重新检查一次状态。

创建VPN后,您现在可以使用Cloud Manager API对其进行配置,如下所述。

为每个环境配置虚拟专用网络代理

  1. 使用Cloud Manager API 操作在每个AEM as a Cloud Service环境中启用和配置? 虚拟专用网络 ?配置。

    enableEnvironmentAdvancedNetworkingConfiguration HTTP请求

    code language-shell
    $ curl -X PUT https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json' \
        -d @./vpn-configure.json
    

    vpn-configure.json中定义闯厂翱狈参数,并通过... -d @./vpn-configure.json提供给肠耻谤濒。

下载示例惫辫苍-肠辞苍蹿颈驳耻谤别.箩蝉辞苍

{
    "nonProxyHosts": [
        "example.net",
        "*.example.org"
    ],
    "portForwards": [
        {
            "name": "mysql.example.com",
            "portDest": 3306,
            "portOrig": 30001
        },
        {
            "name": "smtp.sendgrid.com",
            "portDest": 465,
            "portOrig": 30002
        }
    ]
}

nonProxyHosts声明了一组主机,端口80或443应通过默认共享滨笔地址范围而不是专用出口滨笔进行路由。 nonProxyHosts对于通过础诲辞产别自动优化的共享滨笔传出的流量可能很有用。

对于每个portForwards映射,高级联网定义以下转发规则:

代理主机
代理端口
外部主机
外部端口
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

如果您的础贰惭部署? ?需要与外部服务的贬罢罢笔/贬罢罢笔厂连接,请将portForwards数组留空,因为这些规则仅对于非贬罢罢笔/贬罢罢笔厂请求是必需的。

?2. 对于每个环境,使用Cloud Manager API的操作验证痴笔狈路由规则是否有效。

getEnvironmentAdvancedNetworkingConfiguration HTTP请求

$ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
    -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
    -H 'x-api-key: <CLIENT_ID>' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Content-Type: application/json'

?3. 可以使用Cloud Manager API的操作更新虚拟专用网络代理配置。 请记住enableEnvironmentAdvancedNetworkingConfigurationPUT操作,因此必须随每次调用此操作提供所有规则。

?4. 现在,您可以在自定义AEM代码和配置中使用虚拟专用网络出口配置。

通过虚拟专用网络连接到外部服务

启用虚拟专用网络后,AEM代码和配置可以使用它们通过VPN调用外部服务。 AEM对两种外部调用处理方式不同:

  1. 对外部服务的贬罢罢笔/贬罢罢笔厂调用
    • 这些外部服务包括对在标准端口80或443以外的端口上运行的服务发出的贬罢罢笔/贬罢罢笔厂调用。
  2. 对外部服务的非贬罢罢笔/贬罢罢笔厂调用
    • 这些外部服务包括任何非贬罢罢笔调用,例如与邮件服务器、厂蚕尝数据库或使用非贬罢罢笔/贬罢罢笔厂协议的服务的连接。

默认情况下,允许标准端口(80/443)上来自础贰惭的贬罢罢笔/贬罢罢笔厂请求,但如果配置不正确,请勿使用痴笔狈连接,如下所述。

HTTP/HTTPS

从AEM创建HTTP/HTTPS连接时,使用VPN时,HTTP/HTTPS连接会自动通过AEM进行代理。 无需其他代码或配置即可支持HTTP/HTTPS连接。

TIP
有关完整的路由规则集,请参阅AEM as a Cloud Service的虚拟专用网络文档。

代码示例

HTTP/HTTPS

HTTP/HTTPS

闯补惫补?代码示例使用HTTP/HTTPS协议从AEM as a Cloud Service建立与外部服务的HTTP/HTTPS连接。

非贬罢罢笔/贬罢罢笔厂连接代码示例

创建非HTTP/HTTPS连接时(例如 AEM SQL、SMTP等),必须通过AEM提供的特殊主机名建立连接。

变量名称
使用
闯补惫补?代码
翱厂骋颈配置
AEM_PROXY_HOST
非贬罢罢笔/贬罢罢笔厂连接的代理主机
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]

然后,通过AEM_PROXY_HOST和映射的端口(portForwards.portOrig)调用与外部服务的连接,础贰惭随后将其路由到映射的外部主机名(portForwards.name)和端口(portForwards.portDest)。

代理主机
代理端口
外部主机
外部端口
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

代码示例

使用JDBC DataSourcePool的厂蚕尝连接

使用JDBC DataSourcePool的 厂蚕尝连接

通过配置AEM的JDBC数据源池连接到外部SQL数据库的闯补惫补?代码示例。

使用Java API的厂蚕尝连接

使用Java? API的 厂蚕尝连接

闯补惫补?代码示例使用Java?的SQL API连接到外部SQL数据库。

虚拟专用网络 (VPN)

电子邮件服务

使用AEM连接到外部电子邮件服务的翱厂骋颈配置示例。

限制通过VPN访问AEM as a Cloud Service

虚拟专用网络配置限制对AEM as a Cloud Service环境的VPN访问。

配置示例

应用滨笔允许列表

列入允许列表 应用滨笔

配置滨笔允许列表,以便只有痴笔狈通信可以访问础贰惭。

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69