透過專用連線功能向消費者公開服務

本指導教學可能會產生成本。 使用 成本估算器 根據您的預計使用情況產生成本估算。

本指導教學將逐步引導您在提供者與一組消費者之間設定 Private Path service。 使用 Private Path service,消費者可透過 IBM 骨幹來存取提供者所實作的應用程式或服務,而無需遍訪網際網路。

目標

  • 了解Private Path service的基礎知識。
  • 在一個帳戶中部署應用程式,而不公開任何公用端點。
  • 使用 Private Path service公開應用程式。
  • 僅透過專用連線功能從消費者用戶端存取應用程式。

架構
顯示Private Path service架構

  1. 提供者實作由分散在多個區域中的多個虛擬伺服器所支援的具復原力應用程式。
  2. 提供者會建立 Private Path network load balancer (NLB),其中配置了指向虛擬伺服器的後端儲存區,並使用循環式演算法在伺服器之間配送負載。
  3. Private Path service 會參照 Private Path NLB,並指定消費者使用的服務端點。
  4. 消費者透過虛擬專用端點閘道來存取提供者應用程式。 所有資料流量仍是 IBM Cloud的專用資料流量。

開始之前

本指導教學需要:

  • 一個 IBM Cloud 計費帳戶 可同時管理提供者和消費者資源。
  • VPC SSH 金鑰,用於連接至指導教學中佈建的虛擬伺服器實例。

建立 VPC SSH 金鑰

設定虛擬伺服器執行個體時,會將 SSH 金鑰注入到執行個體中,以便您稍後可以連線到伺服器。 此 SSH 金鑰 必須位於您要部署指導教學資源的相同地區 中。

  1. 如果您在 IBM Cloud中未配置 SSH 金鑰,請參閱 這些指示 以建立 VPC 的金鑰。
  2. 記下您用於 SSH 金鑰的名稱。

建立提供者資源和應用程式

在本指導教學中,您首先擔任提供者並實作應用程式。 在第二個階段中,您擔任消費者的角色並呼叫應用程式。 應用程式是簡式 nginx Web 伺服器。

  1. 移至 Schematics 以建立新的工作區。
  2. 在 指定範本 步驟中:
    1. 設定儲存庫網址到 https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/provider。
    2. 請務必勾選 使用完整儲存庫。
    3. 將 Terraform 版本 設為 terraform_v1.5。
    4. 按下一步。
  3. 在 工作區詳細資料 步驟中:
    1. 將 工作區名稱 設為 pps-provider。
    2. 選取要在其中建立工作區的 資源群組 和 位置。 這不會影響為指導教學建立的資源。
    3. 按下一步
  4. 按一下建立。

在工作區 設定的 變數下:

  1. 找出 existing_ssh_key_name 變數。
    1. 使用功能表 (項目) 來 編輯 其值。
    2. 將值設為您在前一節中建立的 SSH 金鑰名稱,或設為現有的 SSH 金鑰。
    3. 節省。
  2. 您也可以選擇性地調整其他變數的值,例如 region、basename。

最後建立資源:

  1. 按一下 套用計劃。
  2. 等待 Schematics 完成資源佈建。

檢閱提供者資源和應用程式

針對提供者執行 Schematics 會建立下列資源:

  • 一個虛擬私有雲 (VPC),
  • 三個子網路,每個區域一個
  • 在每一個子網路中至少有一個虛擬伺服器實例,
  • Private Path NLB 已配置後端儲存區,包括所有虛擬伺服器實例,
  • 及 Private Path service。

架構
提供者資源的架構

  1. 導覽至 虛擬專用雲端、子網路 及 虛擬伺服器實例,以檢閱佈建的資源。
  2. 在 負載平衡器 下尋找 Private Path NLB。
  3. 在 Private Path 服務 中,選取已建立的 Private Path service。
  4. 在 Private Path service 詳細資料中,請注意 服務端點 設為 vpc-pps.example.com。 請注意,如果您在工作區配置期間指定自訂 basename,則可能不同。 這是消費者用來與應用程式互動的端點。
  5. 請記下 CRN,因為您需要將此資訊傳遞給消費者。 消費者在建立虛擬專用端點閘道時使用 CRN 來識別您的應用程式。

您的 Private Path service 幾乎已準備好與消費者共用。 但在 發佈 Private Path service 之前,建議先測試它是否如預期般運作。

建立消費者資源

若要驗證 Private Path service 已正確設定,您將部署虛擬伺服器以存取應用程式,就像 Private Path service 的任何消費者一樣。

在 Private Path service 發佈 之前,只能在建立它的相同帳戶內存取它。 它提供一個很好的機會來測試服務,然後再與其他人共用它。 這是為何在此階段,本指導教學的消費者端佈建在與提供者應用程式相同的帳戶中的原因。

  1. 移至 Schematics 以建立新的工作區。
  2. 在 指定範本 步驟中:
    1. 設定儲存庫網址到 https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/consumer。
    2. 請務必勾選 使用完整儲存庫。
    3. 將 Terraform 版本 設為 terraform_v1.5。
    4. 按下一步。
  3. 在 工作區詳細資料 步驟中:
    1. 將 工作區名稱 設為 pps-consumer。
    2. 選取要在其中建立工作區的 資源群組 和 位置。 這不會影響為指導教學建立的資源。
    3. 按下一步
  4. 按一下建立。

在工作區 設定的 變數 區段中:

  1. 找出 existing_ssh_key_name 變數。
    1. 使用功能表 (項目) 來 編輯 其值。
    2. 將值設為用於本指導教學的 SSH 金鑰名稱。
    3. 節省。
  2. 找出 provider_crn 變數
    1. 編輯 其值。
    2. 將值設為先前取得的 Private Path service CRN。
    3. 節省。
  3. 您也可以選擇性地調整其他變數的值,例如 region basename。region 應該符合 pps-provider 工作區中設定的值。

最後建立資源:

  1. 按一下 套用計劃。
  2. 等待 Schematics 完成資源佈建。

檢閱消費者資源及應用程式

針對消費者執行 Schematics 會建立下列資源:

  • 一個虛擬私有雲 (VPC),
  • 兩個子網路
  • 每一個子網路中的一個虛擬伺服器實例,
  • 一個虛擬專用端點閘道,配置了 Private Path service CRN 並在每一個子網路中具有一個 IP 位址。

架構
消費者資源的架構

  1. 導覽至 虛擬伺服器實例,以檢閱已佈建的實例。
  2. 移至 虛擬專用端點閘道,並注意端點閘道已標示為 擱置。

在此階段,消費者尚無法存取提供者應用程式。 它正在等待 Private Path service 的連線要求被檢閱並允許。

核准消費者要求

作為應用程式的提供者,

  1. 移至 Private Path 服務清單。

  2. 請注意,您建立的 Private Path service 具有要檢閱的擱置連線要求。

  3. 選取 Private Path service。

  4. 在 連線要求 表格中,尋找來自消費者的要求。

  5. 請使用功能表 (網址為「允許」) 來 允許 連線。

    「允許連線要求」對話框可讓您選擇建立 自動允許來自相同帳戶 ID 之所有要求的原則。 暫時維持不勾選。 在未來,這可以加快消費者從這個帳戶要求連線的程序。

  6. 按一下 允許。

測試從消費者到提供者的連線功能

再次扮演消費者的角色,

  1. 移至 虛擬專用端點閘道,並注意端點閘道已移至 穩定。

  2. 記下 服務端點。 除非您在工作區配置期間指定自訂 basename,否則它應該是 vpc-pps.example.com。

  3. 導覽至 虛擬伺服器實例,並尋找指派給其中一個消費者實例的浮動 IP。 實例的名稱類似於 vpc-pps-consumer-vsi-us-south-1 或 vpc-pps-consumer-vsi-us-south-2。

  4. 開啟其中一個實例的 SSH 連線。

    ssh root@<floating-ip>
    
  5. 呼叫服務端點來存取提供者應用程式。

    curl http://vpc-pps.example.com
    

    輸出應如下所示:

    Hello world from vpc-pps-provider-vsi-us-south-2
    

    網域名稱可能需要幾分鐘才能正確解析為虛擬伺服器實例。

  6. 重複 curl 指令數次。 請注意它在經歷連接至 Private Path NLB後端儲存區的所有虛擬伺服器實例時,如何顯示不同的輸出。

恭喜您,您的 Private Path service 如預期般運作,並已備妥發佈以供其他人使用。

擴展指導教學

本指導教學著重於 Private Path service 的基本觀念,其中一個 VPC 中有提供者應用程式,另一個 VPC 中有消費者,全部都在相同帳戶內:

移除資源

若要移除針對本指導教學建立的資源,請執行下列動作:

  1. 移至 Schematics

    1. 選擇 pps-consumer 工作區。
    2. 從 動作 ... 中,選取 毀損資源。
    3. 鍵入 pps-consumer,然後按一下 毀損。
    4. 等待 Schematics 完成工作。
    5. 完成之後,請從 動作 ... 功能表中選取 刪除工作區。
    6. 鍵入 pps-consumer,然後按一下 刪除。
  2. 對 pps-provider 工作區重複相同的步驟。

    如果因為無法刪除資源群組而導致工作區刪除失敗,您可能需要在幾分鐘之後重試 毀損資源。

視資源而定,它可能不會立即刪除,但會保留 (依預設會保留 7 天)。 您可以透過永久刪除資源或在保留期間內還原資源來收回資源。 請參閱本文件,以瞭解如何 使用資源收回。