搭配使用「虛擬專用端點」與 Code Engine
所有 IBM Cloud® Code Engine 專案都提供與 IBM Cloud® Virtual Private Endpoints (VPE) for Virtual Private Cloud (VPC) 的整合。 此支援可讓您使用您選擇的 IP 位址,從 VPC 網路連接至 Code Engine 應用程式或功能,這些 IP 位址是從 VPC 內的子網路配置。
使用 Code Engine,您可以使用下列類型的 VPE:
- 用來管理專案資源的虛擬專用端點。 每個地區有一個靜態 VPE。
- 用來存取應用程式的虛擬專用端點。 每個 Code Engine 專案有一個 VPE。 可以使用此 VPE 來存取專案內的所有應用程式。
專用端點提供與 IBM Cloud 專用網路上專案資源、應用程式或函數的連線。 當您透過虛擬專用端點進行連接時,所有資料流量都會遞送至專用於 Code Engine 應用程式的硬體,並保留在 IBM Cloud 專用網路上。 如果資料流量保留在 IBM Cloud中,則進出此端點的所有資料流量都不需額外收費。
Code Engine 專案會自動配置公用和虛擬專用端點。
您可以控制 Code Engine 應用程式的 可見性,並指定要向公用或專用端點公開應用程式或功能。 配置給專用網路的應用程式或函數可以透過 VPE 或其他 Code Engine 應用程式或函數來存取。 透過 VPE 存取的應用程式或功能不會離開 IBM 網路,也不會停留在 IBM Cloud 網路內。
使用 VPE 安全地管理專案資源
開始之前,您必須具有 IBM Cloud 帳戶。
-
建立 IBM Cloud® Virtual Private Cloud。 遵循 入門 指示。
-
請確定您的 VPC 至少有一個 VSI (虛擬伺服器實例),且可以連接至 VSI。 您可以使用 VPC 主控台、CLI 及 API,從 IBM Cloud 主控台中的 IBM Cloud® Virtual Private Cloud 頁面佈建 VSI。
- 建立 SSH 金鑰 以存取 VSI。
- 使用主控台來建立虛擬伺服器實例。
- 保留浮動 IP 位址,以便可以從網際網路存取您的實例。
- 連接至 VSI。
-
在 IBM Cloud 主控台中,按一下「功能表」圖示,然後選取 VPC 基礎架構-> 網路-> 虛擬專用端點閘道。 透過完成此 指示,為地區 Code Engine 端點
api.<region>.codeengine.cloud.ibm.com建立 VPE。 -
建立 VPE 之後,新的 VPE 和專用 DNS (pDNS) 可能需要幾分鐘才能完成處理程序,並開始為您的 VPC 工作。 當您在 VPE 的 詳細資料視圖 中看到 IP 位址集時,即會確認完成。
-
透過 SSH 登入 VSI 並使用
root@。 例如,ssh root@<VSI_floating_IP_address>。 -
若要從 VSI 內存取 Code Engine 資源,請 設定 Code Engine CLI 環境。 確定 IBM Cloud CLI 已連接至
private.cloud.ibm.com。 -
指定 Code Engine 專案以使用專用端點。 若要建立專案,請搭配使用
ibmcloud ce project create指令與--endpoint=private選項。ibmcloud ce project create --name myproject --endpoint=private請等待直到專案處於
active狀態。 使用 CLI,您可以使用ibmcloud ce project get指令來確認專案狀態。如果您想要現有的 Code Engine 專案使用專用端點,請搭配使用
ibmcloud ce project select指令與--endpoint=private選項。ibmcloud ce project select --name myproject --endpoint=private對於
project create和project select指令,如果未明確指定--endpoint選項,則行為由系統決定。 如果 IBM Cloud CLI 已連接至private.cloud.ibm.com,則 Code Engine 專案的行為如同--endpoint是private。 如果 IBM Cloud CLI 已連接至cloud.ibm.com,則 Code Engine 專案的行為如同--endpoint是public。 -
如果您未建立新專案,並且已選取現有專案,並且您希望應用程式或功能僅對專用端點可見,請確認現有專案支援具有專用可見性的應用程式。 使用
ibmcloud ce project get指令來驗證Application Private Visibility Supported的輸出是否設為true。 如果值為false,請 聯絡 IBM 支援中心,以在現有專案內啟用此功能。ibmcloud ce project get -n myproject輸出範例
Getting project 'myproject'... OK Name: myproject ID: abcdabcd-abcd-abcd-abcd-f1de4aab5d5d Status: active Enabled: true Application Private Visibility Supported: false Selected: true Region: us-south Resource Group: default Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f Age: 52d Created: Tue, 28 Sep 2021 05:12:16 -0500 Updated: Tue, 28 Sep 2021 05:12:19 -0500 Quotas: Category Used Limit App revisions 1 60 Apps 1 20 Build runs 1 100 Builds 2 100 Configmaps 2 100 CPU 0 64 Ephemeral storage 0 256G Instances (active) 0 250 Instances (total) 0 2500 Job runs 0 100 Jobs 0 100 Memory 0 256G Secrets 6 100 Subscriptions (cron) 0 100 Subscriptions (IBM Cloud Object Storage) 0 100 Subscriptions (Kafka) 0 100 -
建立只對專用端點可見的應用程式。 搭配使用
ibmcloud ce application create指令與--visibility=private選項。 或者,您可以使用主控台來建立應用程式或更新現有應用程式,並設定 應用程式的可見性。ibmcloud ce application create -n myapp --visibility=private
您現在已配置並設定虛擬專用端點來管理專案資源。 如果您想要控制要向專用端點公開的應用程式,則可以 設定 VPE 以存取應用程式。
使用 VPE 安全地存取應用程式
開始之前,您必須具有 IBM Cloud 帳戶。
如果您選取的專案支援 應用程式專用可見性,則只能使用 VPE 來存取具有專用端點的應用程式。 若要確認專案是否支援應用程式專用可見性,請使用 ibmcloud ce project get 指令來驗證 Application Private Visibility Supported 的輸出是否設為 true。
-
建立 IBM Cloud® Virtual Private Cloud。 遵循 入門 指示。
-
請確定您的 VPC 至少有一個 VSI (虛擬伺服器實例),且可以連接至 VSI。 您可以使用主控台、CLI 及 API,從 IBM Cloud 主控台中的 IBM Cloud® Virtual Private Cloud 頁面快速佈建虛擬伺服器實例。
- 建立 SSH 金鑰 以存取 VSI。
- 使用使用者介面建立虛擬伺服器實例。
- 保留浮動 IP 位址,以便可以從網際網路存取您的實例。
- 連接至 VSI。
-
從 Code Engine 專案中,確認您的應用程式已配置
visibility=private設定。 請參閱 使用專用端點部署應用程式。 -
在 IBM Cloud 主控台中,按一下「功能表」圖示,然後選取 VPC 基礎架構-> 網路-> 虛擬專用端點閘道。 完成此 指示,針對您要用於專用應用程式可見性的特定專案,建立地區 Code Engine 端點的 VPE。 此專案在表格中列出,其端點格式為
*.<uuid>.private.<region>.codeengine.appdomain.cloud。 -
建立 VPE 之後,新的 VPE 和專用 DNS (pDNS) 可能需要幾分鐘才能完成處理程序,並開始為您的 VPC 工作。 當您在 VPE 的 詳細資料視圖 中看到 IP 位址集時,即會確認完成。
-
擷取向專用網路公開的 Code Engine 應用程式的 URL。 URL 採用下列格式:
<app>.<uuid>.private.<region>.codeengine.appdomain.cloud。 從 Code Engine 主控台,移至應用程式的 網域對映 標籤,以檢視應用程式及其可用 URL 的可見性。 從 Code Engine CLI,您可以搭配使用ibmcloud ce application get指令與--option url選項。 因為myapp的可見性設為visibility=private,所以使用此指令指定--option url會將 URL 輸出至專用網路。ibmcloud ce application get -n myapp -output url輸出範例
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud -
您現在可以在 VSI 中使用您的實例。 呼叫應用程式。
myapp應用程式是一個簡單的 Hello World 應用程式。 當您 curlmyapp應用程式時,會傳回Hello World。curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
使用 VPE 安全地存取功能
開始之前,您必須具有 IBM Cloud 帳戶。
如果您選取的專案支援 函數專用可見性,則只能使用 VPE 來存取具有專用端點的函數。 若要確認專案是否支援函數專用可見性,請使用 ibmcloud ce project get 指令來驗證 Application Private Visibility Supported 的輸出是否設為 true。
-
建立 IBM Cloud® Virtual Private Cloud。 遵循 入門 指示。
-
請確定您的 VPC 至少有一個 VSI (虛擬伺服器實例),且可以連接至 VSI。 您可以使用主控台、CLI 及 API,從 IBM Cloud 主控台中的 IBM Cloud® Virtual Private Cloud 頁面快速佈建虛擬伺服器實例。
- 建立 SSH 金鑰 以存取 VSI。
- 使用使用者介面建立虛擬伺服器實例。
- 保留浮動 IP 位址,以便可以從網際網路存取您的實例。
- 連接至 VSI。
-
從 Code Engine 專案中,確認您的應用程式已配置
visibility=private設定。 請參閱 使用專用端點部署應用程式。 -
在 IBM Cloud 主控台中,按一下「功能表」圖示,然後選取 VPC 基礎架構-> 網路-> 虛擬專用端點閘道。 完成此 指示,針對您要用於專用應用程式可見性的特定專案,建立地區 Code Engine 端點的 VPE。 此專案在表格中列出,其端點格式為
*.<uuid>.private.<region>.codeengine.appdomain.cloud。 -
建立 VPE 之後,新的 VPE 和專用 DNS (pDNS) 可能需要幾分鐘才能完成處理程序,並開始為您的 VPC 工作。 當您在 VPE 的 詳細資料視圖 中看到 IP 位址集時,即會確認完成。
-
擷取向專用網路公開之 Code Engine 函數的 URL。 URL 採用下列格式:
<function>.<uuid>.private.<region>.codeengine.appdomain.cloud。 從 Code Engine 主控台,移至函數的 網域對映 標籤,以檢視函數及其可用 URL 的可見性。 從 Code Engine CLI,您可以使用ibmcloud ce function get指令。 因為myfunction的可見性設為visibility=private,這個指令會顯示專用網路的 URL。ibmcloud ce function get -n myfunction輸出範例
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
您現在可以在 VSI 中使用您的實例。