了解如何設定和使用專用的輸出IP位址,如此可讓來自AEM的傳出連線源自於專用的IP。
專用輸出IP地址允許來自AEMas a Cloud Service的請求使用專用的IP地址,允許外部服務按此IP地址過濾傳入的請求。 贊 靈活的輸出埠,專用的輸出IP可讓您在非標準埠上輸出。
Cloud Manager程式只能有 單一 網路基礎結構類型。 請確保專用的輸出IP位址是 適當類型的網路基礎設施 以取得AEMas a Cloud Service。
設定專用的輸出IP位址時,需要下列項目:
如需詳細資訊,請觀看下列逐步說明,了解如何設定、設定及取得Cloud Manager API憑證,以及如何使用這些憑證來進行Cloud Manager API呼叫。
本教學課程使用 curl
來設定Cloud Manager API。 提供的 curl
命令採用Linux/macOS語法。 如果使用Windows命令提示符,請替換 \
斷行字元,帶 ^
.
首先,在AEMas a Cloud Service上啟用並設定專用的輸出IP位址。
首先,使用Cloud Manager API確定需要進階網路的地區 listRegions 操作。 此 region name
必要,才能進行後續的Cloud Manager API呼叫。 通常會使用生產環境所在的地區。
在中找出AEMas a Cloud Service環境的地區 Cloud Manager 在 環境的詳細資訊. Cloud Manager中顯示的地區名稱可以是 映射至地區代碼 用於Cloud Manager API。
listRegions HTTP要求
$ 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'
使用Cloud Manager API為Cloud Manager程式啟用專用的輸出IP位址 createNetworkInfrastructure 操作。 使用適當 region
從Cloud Manager API取得的程式碼 listRegions
操作。
createNetworkInfrastructure HTTP請求
$ 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 '{ "kind": "dedicatedEgressIp", "region": "va7" }'
等待15分鐘,讓Cloud Manager計畫配置網路基礎架構。
檢查程式是否已完成 專用輸出IP地址 使用Cloud Manager API進行設定 getNetworkInfrastructure 操作,使用 id
從上一步的createNetworkInfrastructure HTTP請求中傳回。
getNetworkInfrastructure HTTP請求
$ 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: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json'
確認HTTP回應包含 狀態 of 就緒. 如果尚未就緒,請每隔幾分鐘重新檢查狀態。
設定 專用輸出IP地址 使用Cloud Manager API在每個AEMas a Cloud Service環境上進行設定 enableEnvironmentAdvancedNetworkingConfiguration 操作。
enableEnvironmentAdvancedNetworkingConfiguration HTTP請求
$ 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 @./dedicated-egress-ip-address.json
在 dedicated-egress-ip-address.json
並提供通過 ... -d @./dedicated-egress-ip-address.json
.
下載example decipated-eogress-ip-address.json. 此檔案只是範例。 根據上述選填/必填欄位,視需要設定檔案 enableEnvironmentAdvancedNetworkingConfiguration.
{
"nonProxyHosts": [
"example.net",
"*.example.org",
],
"portForwards": [
{
"name": "mysql.example.com",
"portDest": 3306,
"portOrig": 30001
},
{
"name": "smtp.sendgrid.net",
"portDest": 465,
"portOrig": 30002
}
]
}
專用輸出IP地址配置的HTTP簽名與 靈活的輸出埠 因為它也支援選用 nonProxyHosts
設定。
nonProxyHosts
聲明一組主機,這些主機應通過預設的共用IP地址範圍而不是專用的輸出IP路由埠80或443。 nonProxyHosts
當透過共用IP的流量處理可能會由Adobe自動進一步最佳化時,可能會很有用。
針對每個 portForwards
映射時,高級網路定義以下轉發規則:
代理主機 | 代理埠 | 外部主機 | 外部埠 | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
對於每個環境,請使用Cloud Manager API驗證輸出規則是否有效 getEnvironmentAdvancedNetworkingConfiguration 操作。
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: <YOUR_TOKEN>' \
-H 'Content-Type: application/json'
可使用Cloud Manager API更新專屬輸出IP位址設定 enableEnvironmentAdvancedNetworkingConfiguration 操作。 記住 enableEnvironmentAdvancedNetworkingConfiguration
是 PUT
操作,因此所有規則都必須隨此操作的每次調用一起提供。
取得 專用輸出IP地址 使用DNS解析器(例如 DNSChecker.org): p{programId}.external.adobeaemcloud.com
,或執行 dig
從命令列。
$ dig +short p{programId}.external.adobeaemcloud.com
主機名不能是 pinged
,因為這是進步 not 和入口。
請注意 專用輸出IP地址 共用給方案中所有AEMas a Cloud Service環境。
現在,您可以在自訂AEM程式碼和設定中使用專屬的輸出IP位址。 使用專用輸出IP位址時,所連線的外部服務AEMas a Cloud Service通常會設定為僅允許來自此專用IP位址的流量。
啟用專用的輸出IP位址後,AEM程式碼和設定便可使用專用的輸出IP來呼叫外部服務。 有兩種外部呼叫的處理方式不同:
預設允許來自標準埠(80/443)上AEM的HTTP/HTTPS要求,但如果未依下列說明適當設定,則不會使用專用的輸出IP位址。
請參閱AEMas a Cloud Service的專屬輸出IP位址檔案,以取得 完整的路由規則集.
從AEM建立HTTP/HTTPS連線時,若使用專用的輸出IP位址,則使用專用的輸出IP位址,自動從AEM中推進HTTP/HTTPS連線。 支援HTTP/HTTPS連線不需要額外的程式碼或設定。
![]() Java™程式碼範例,使用HTTP/HTTPS通訊協定,將從AEMas a Cloud Service的HTTP/HTTPS連線至外部服務。 |
建立非HTTP/HTTPS連線時(例如 SQL、SMTP等),必須透過AEM提供的特殊主機名稱進行連線。
|變數名稱 |使用 | Java™程式碼 | OSGi配置 | | - | - | - | - | | AEM_PROXY_HOST
|非HTTP/HTTPS連線的代理主機 | System.getenv("AEM_PROXY_HOST")
| $[env:AEM_PROXY_HOST]
|
然後,會透過 AEM_PROXY_HOST
和映射埠(portForwards.portOrig
),AEM接著路由至對應的外部主機名稱(portForwards.name
)和埠(portForwards.portDest
)。
代理主機 | 代理埠 | 外部主機 | 外部埠 | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
![]() 通過配置AEM JDBC資料源池連接到外部SQL資料庫的Java™代碼示例。 |
![]() 使用Java™的SQL API連接到外部SQL資料庫的Java™代碼示例。 |
![]() OSGi設定範例,使用AEM連線至外部電子郵件服務。 |