在 Code Engine
IBM Cloud® Code Engine 向外連線功能支援為您的 Code Engine 專案定義可達端點。
- 以 CIDR 符號為出站連線使用允許的目的地 IP 位址範圍。
- 使用 Code Engine 主控台或 CLI 連接您的 Code Engine 專案與 IBM Cloud VPC Private Path 服務。
您可以透過控制台或命令列介面 (CLI) 建立外連線。
出站連線允許的目的地 IP 位址範圍
允許的目的地 IP 位址範圍可確保出站流量僅限於您定義為安全的位址。 因此,您可以防止不需要的網際網路存取,並提升合規性和安全性。
CIDR 範圍規格不會影響專案內部通訊、專用路徑連線或專用服務連線,這些都是允許的目的地。 因此,根據 CIDR 範圍限制出站流量並不會阻止 Code Engine 專案內的應用程式彼此通訊,或與連接的私有路徑服務或 IBM Cloud Service API 的私有端點通訊。
您的使用情況可以決定您的出站連線規格。 一般使用案例如下所示:
- 如果 Code Engine 專案內的應用程式不應接達任何外部端點,則指定無規則 (即不允許 IP 位址)。
- 指定單一允許的目的地 IP 位址範圍 (
0.0.0.0/0) 以允許所有可能的端點。 預設情況下,有一個名為 allow-all 的規則,設定的 IP 範圍為 0.0.0.0/0。 - 指定具有允許的目的地 IP 位址範圍的規則,讓 Code Engine 專案內的工作負載只能到達您指定的端點範圍 (例如,到達您的內部部署資料中心)。
私人路徑連接
Private Path 允許在 IBM Cloud 服務(如 Code Engine )和您的 VPC 之間進行連接,而不會影響安全性或使您的 VPC 遭受風險。 請參閱 啟用 IBM Cloud 服務連線至提供者的 VPC。
此圖說明如何建立與 Code Engine 應用程式的 VPE 閘道和您的 VPC 連線的 Private Path 服務。 首先,Code Engine 應用程式連線至 Code Engine 'VPC 內的 VPE 閘道。 然後,VPE 閘道連線至提供者 VPC 中的 Private Path NLB。 反過來,Private Path NLB 連接到提供者的應用程式。 提供者的應用程式隨後會回應請求。 此 Private Path 服務活動完全包含在 IBM Cloud
專用網路上的單一區域 (例如 us-south)。
下圖顯示了 Private Path 如何協助您的 Code Engine 專案與之連結的其他範例:
- VPC 中的 VSI、
- 在 VPC 中託管的 OpenShift 群集、
- 內部部署環境或任何其他外部網路(另請參閱如何 使用專用路徑將雲端服務連接到內部部署環境)
私人服務連線
作為所有 Code Engine 專案允許的出站目的地的一部分,已啟用連接至一套共用 IBM Cloud 平台服務的私有端點。 已啟用的平台服務因地區而異,詳情請參閱下表。
| 平台服務 | 各區域提供私人端點 |
|---|---|
| 全局搜尋 (端點 URL ) 和全局標籤 (端點 URL ) | au-syd, br-sao, ca-tor, eu-de, eu-es, eu-gb, in-che, jp-osa, jp-tok, us-east, us-south |
| 全球目錄 (端點 URL ) | au-syd, br-sao, eu-de, jp-osa, us-east, us-south |
帳戶管理 (端點 URL (https://private.accounts.cloud.ibm.com) ) |
eu-de, us-east, us-south |
| 使用量計量 (端點 URL ) | eu-de, us-east, us-south |
| 企業管理 (端點 URL ) | eu-de, us-east, us-south |
| 資源控制器 (端點 URL ) | eu-de, us-east, us-south |
| 使用者管理 (端點 URL ) | eu-de, us-east, us-south |
使用主控台管理允許的出站目的地
為出站連線新增允許的目的地 IP 位址範圍
您可以建立允許的目的地 IP 位址範圍,以限制工作負載可以透過外部網路連線的位置。
- 前往「連線」頁面:
- 從 Code Engine 主控台中的專案頁面 中選擇您的專案。
- 按一下專案設定 > 連線方式 > CIDR 範圍索引標籤,以查看現有允許的目的地 IP 位址範圍清單。
- 按一下新增,建立允許的目的地 IP 位址範圍。
- 提供名稱。
- 請以 CIDR 表示法提供 IP 位址範圍。
- 確認您的設定。
新增用於向外連線的專用路徑連線
您可以在 Code Engine 專案和 VPC 之間建立 Private Path 連線。
- 前往「連線」頁面:
- 從 Code Engine 主控台中的專案頁面 中選擇您的專案。
- 按一下專案設定 > 連線方式 > 專用路徑連線索引標籤,以查看現有專用路徑連線的清單。
- 按一下新增以建立私有路徑連線。
- 提供名稱。
- 您可以透過名稱或 CRN 指定要連線的 Private Path 服務實例。
- 依據名稱,從下拉清單中選擇 Private Path 服務實體。
- 透過 CRN,提供 Private Path 服務實例 CRN。
- 選擇隔離政策:
- 共用- 允許在 Code Engine 專案之間重複使用專用路徑連線,這些專案與目標 VPC 位於相同的 IBM Cloud 帳戶,或相同企業帳戶系列內的帳戶。
- 專用- 將此 Private Path 連線的使用限制在一個 Code Engine 專案。
- 確認您的設定。
一旦與 VPC 建立連線,Private Path 服務擁有者就會收到連線請求。 業主可以審核、許可或拒絕此連線請求。 使用私人路徑連線詳細資料檢視中顯示的消費者 Code Engine account ID 和 VPE gateway creation timestamp 來識別私人路徑服務內的連線請求。
更新允許向外連線的目的地 IP 位址範圍
您可以變更允許的目的地 IP 位址範圍,以禁止工作負載連線到非預期的端點 (例如,連線到公共網際網路)。
- 前往「連線」頁面:
- 從 Code Engine 主控台中的專案頁面 中選擇您的專案。
- 按一下專案設定 > 連線方式 > CIDR 範圍索引標籤,以查看現有允許的目的地 IP 位址範圍清單。
- 按一下您要編輯的允許目的地 IP 位址範圍的列。
- 提供更新的 IP 位址範圍,並儲存變更。
更新出站連線規則時,請注意:
-
允許的目的地 IP 位址範圍不會衝突;它們是相加的。 當您定義多個範圍時,允許的目的地會建立所有指定範圍的聯合,因此新增範圍的順序不會影響結果的允許目的地。 如果您新增的第二個範圍已被現有的範圍覆蓋,系統會拒絕您的新增,因為它是多餘的。
-
指定 IP 位址範圍
0.0.0.0/0會移除所有現有規則,並開啟完整連線。 -
在您限制出站連線規則後,您的工作負載可能需要一些時間才能接受這些規則。 例如,如果您程式碼中使用的 HTTP 用戶端在您更新出站連線規則之前建立連線,它就可以開啟與該端點的連線。 若要確保您的出站連線規則立即套用,請重設所有連線。 您可以透過重新部署工作負載或在程式碼中處理此類情況來重新設定。
-
當您限制 Code Engine 專案的向外連線後,您可能會看到意想不到的副作用,例如因為無法提出外部請求,導致建立執行失敗。
更新用於向外連線的專用路徑連線
您可以將 Code Engine 專案與 VPC 之間的 Private Path 連線變更為 dedicated 或 shared。
- 專用路徑連線可以
shared,因此可以在 Code Engine 專案之間重複使用,這些專案與目標 VPC 位於相同的 IBM Cloud 帳戶,或相同企業帳戶系列內的帳戶。 - 若要將一個 Private Path 連線的使用限制在只有一個 Code Engine 專案,請將其隔離政策設定為
dedicated。 dedicatedPrivate Path 連線可隨時變更為shared。sharedPrivate Path 連線只有在不被超過一個 Code Engine 專案使用時,才能變更為dedicated。
若要更新專用路徑連線的隔離政策:
- 前往「連線」頁面:
- 從 Code Engine 主控台中的專案頁面 中選擇您的專案。
- 按一下專案設定 > 連線方式 > 專用路徑連線索引標籤,以查看現有專用路徑連線的清單。
- 移至包含要更新的私有路徑連線的資料列,按一下三個圓點的資料列動作圖示,然後選擇「變更隔離政策」選項。
- 在對話框中按一下變更以確認您的變更。
刪除允許的出站連線目的地
如果您不想再為出站連線定義先前定義的允許出站目的地,您可以刪除這些目的地。
刪除允許的目的地 IP 位址範圍會封鎖 Code Engine 應用程式、功能和專案內工作的出站流量。
- 前往「連線」頁面:
- 從 Code Engine 主控台中的專案頁面 中選擇您的專案。
- 按一下專案設定 > 連線方式 > CIDR 範圍索引標籤,以查看現有允許的目的地 IP 位址範圍清單,或按一下專用路徑連線索引標籤,以查看現有專用路徑連線清單。
- 移至包含您要移除的允許出發目的地的資料列,按一下三個圓點的資料列動作圖示,然後選擇刪除選項。
- 出現提示時,確認刪除。
使用 CLI 管理允許的出站目的地
若要使用 CLI 指令處理允許的出站目的地,請登入 IBM Cloud 帳戶,並選擇 Code Engine 帳戶和資源群組。
為出站連線新增允許的目的地 IP 位址範圍
對於 Code Engine 連線出站 CLI 指令,您可以指定
--name 和 --cidr 值來設定允許的目的地 IP 位址範圍。 請遵循這些 CIDR 指引:
- 請勿使用 保留 IP 範圍中的 IP 範圍。
- 請勿使用重複的
--name和--cidr值。 - 請勿使用不支援的 CIDR 名稱。
- 請勿使用不支援的 IP 位址範圍。 遵循 CIDR 符號。
您可以建立允許的目的地 IP 位址範圍,以限制工作負載可以透過外部網路連線的位置。
-
請選擇您的「Code Engine」專案。 例如:
ibmcloud ce project select --name myproject -
透過指定
--name和--cidr選項,建立允許的目的地 IP 位址範圍。 提供有效的名稱和 IP 位址。 請參考這些範例:ibmcloud ce connectivity outbound create --name mycidr1 --cidr 192.68.5.0/24 ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
新增用於向外連線的專用路徑連線
對於 Code Engine 連線出站 CLI 指令,您可以指定
--name, --format, --pps-crn,以及可選的 --isolation-policy 值,以建立 Code Engine 專案與 VPC 之間的 Private Path 連線。
-
請選擇您的「Code Engine」專案。 例如:
ibmcloud ce project select --name myproject -
透過指定
--name,--format,和--pps-crn,建立用於向外連線的私有路徑連線。 提供有效的名稱、格式和 CRN。 如果指定--isolation-policy,請提供shared或dedicated。 請參考這些範例:ibmcloud ce connectivity outbound create --name my-pps-connection --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f6f ibmcloud ce connectivity outbound create --name my-pps-connection-2 --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f5e --isolation-policy dedicated
一旦與 VPC 建立連線,Private Path 服務擁有者就會收到連線請求。 業主可以審核、許可或拒絕此連線請求。 使用私人路徑連線詳細資料檢視中顯示的消費者 Code Engine account ID 和 VPE gateway creation timestamp 來識別私人路徑服務內的連線請求。
顯示現有允許的出站連線目的地
若要顯示特定允許的出站目的地,請指定名稱。 例如:
ibmcloud ce connectivity outbound get --name my-allowed-destination
若要顯示所有允許的出站目的地,請執行:
ibmcloud ce connectivity outbound list
若要顯示允許的出站目的地選取格式,請執行範例:
ibmcloud ce connectivity outbound list --format cidr,pps
ibmcloud ce connectivity outbound list --format cidr
ibmcloud ce connectivity outbound list --format pps
更新允許向外連線的目的地 IP 位址範圍
您可以變更允許的目的地 IP 位址範圍,以禁止您的工作負載連線至非預期的端點 (例如,連線至公共網際網路)。
透過指定 --name 和 --cidr 選項,更新允許的目的地 IP 位址範圍。 提供有效的名稱和 IP 位址。 請參考這些範例:
ibmcloud ce connectivity outbound update --name mycidr1 --cidr 192.68.5.0/24
ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>
ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
更新出站連線規則時,請注意:
-
允許的目的地 IP 位址範圍不會衝突;它們是相加的。 當您定義多個範圍時,允許的目的地會建立所有指定範圍的聯合,因此新增範圍的順序不會影響結果的允許目的地。 如果您新增的第二個範圍已被現有的範圍覆蓋,系統會拒絕您的新增,因為它是多餘的。
-
指定 IP 位址範圍
0.0.0.0/0會移除所有現有規則,並開啟完整連線。 -
即使您限制了向外連線規則,您的工作負載也可能需要一些時間才能接受這些規則。 例如,如果您程式碼中使用的 HTTP 用戶端在您更新出站連線規則之前建立連線,它就可以開啟與該端點的連線。 若要確保您的出站連線規則立即套用,請重設所有連線。 您可以透過重新部署工作負載或在程式碼中處理此類情況來重新設定。
-
當您限制 Code Engine 專案的向外連線後,您可能會看到意想不到的副作用,例如因為無法提出外部請求,導致建立執行失敗。
更新用於向外連線的專用路徑連線
您可以將 Code Engine 專案與 VPC 之間的 Private Path 連線變更為 dedicated 或 shared。
- 專用路徑連線可
shared,因此可在與目標 VPC 位於相同 IBM Cloud 帳戶的 Code Engine 專案之間重複使用,或在相同企業帳戶系列內的帳戶之間重複使用。 - 若要將一個 Private Path 連線的使用限制在只有一個 Code Engine 專案,請將其
--isolation-policy設為dedicated。 dedicatedPrivate Path 連線可隨時變更為shared。sharedPrivate Path 連線只有在不被超過一個 Code Engine 專案使用時,才能變更為dedicated。
若要更新專用路徑連線,請指定 --name 和 --isolation-policy 選項。 請參考這些範例:
ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy dedicated
ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy shared
刪除允許的出站連線目的地
如果您不想再為出站連線定義先前定義的允許出站目的地,您可以刪除這些目的地。
刪除允許的目的地 IP 位址範圍會封鎖 Code Engine 應用程式、功能和專案內工作的出站流量。
若要在確認後刪除允許的出站目的地,請指定名稱。 例如:
ibmcloud ce connectivity outbound delete --name my-allowed-destination
若要強制刪除允許的出站目的地 (也就是未經確認),請執行:
ibmcloud ce connectivity outbound delete --name my-allowed-destination --force