建立本地存取端點閘道

除了樞紐式 DNS 共享模型外,您還可在 DNS 共享的 VPC 中建立本地存取虛擬私有端點閘道。 本地存取虛擬私有雲(VPEs)可為支援的 IBM Cloud 服務提供私有、本地連線,無需將流量路由至樞紐虛擬私有雲(VPC)。

目前,此功能僅支援,IBM Cloud Object Storage 並僅向特定允許清單客戶開放。

開始之前

  • 本地存取端點閘道採用基於樞紐輻射 架構的DNS共享模型。 在建立本機存取端點閘道之前,您必須先設定 DNS 共享。 若您已設定 DNS 共享,則無需進行任何變更或遷移即可開始使用本地域存取端點閘道。
  • 在建立虛擬執行環境(VPE)之前,請審視 整體規劃考量事項,包括建立限制、安全性群組、跨帳戶存取權限及支援功能。
  • 有關 DNS 樞紐與共享 VPC 拓撲中本地存取 VPE 的特定先決條件,請參閱 DNS 共享規劃考量事項

在控制台中建立本地存取端點閘道

要在 IBM Cloud 控制台中建立本地區域存取端點閘道,請依循以下步驟:

  1. 從 IBM Cloud 控制台取導覽選 單圖示,接著點擊基礎架構 VPC 圖示 > 網路 > 虛擬私有端點閘道。 顯示「虛擬私有端點閘道」頁面。

  2. 按一下建立進入佈建頁面。

  3. 在「詳細資訊」區段中,請為下列欄位輸入數值:

    • 名稱- 為您的端點閘道輸入一個獨特的名稱。
    • 資源群組- 選取端點閘道的資源群組。 您可以使用此端點閘道的預設群組,或從清單中選擇。 如需相關資訊,請參閱組織資源群組中資源的最佳作法
    • 標籤- 可選地添加標籤,用於組織資源、追蹤使用成本或管理資源存取權限。
    • 存取管理標籤- 您亦可選擇性地為資源新增存取管理標籤,以協助組織存取控制關係。 存取管理標籤唯一支援的格式為 key:value. 如需更多資訊,請參閱 《 透過標籤控制對資源的存取 》。
    • 虛擬私有雲- 選擇您需要 VPE IP 位址的 VPC。 根據您所選的 VPC 區域,系統將提供可供您存取的 IBM 服務清單,以便與端點閘道建立關聯。 若目標服務未在您所選的 VPC 區域中提供,您可以變更區域以在其他區域中選取該服務。

    若預期的服務或服務實例未顯示,請重新驗證您的 IAM 權限。 您亦可選擇分配保留的 IP 位址以綁定至閘道,或指定 VPC 子網以分配保留的 IP 位址進行閘道綁定。

  4. 在「安全性群組」區段中,從安全性群組表格中勾選您要附加的安全性群組的核取方塊。 您隨後可管理這些安全群組,並強化其針對端點閘道傳入流量的安全規則。

    當您建立終端點閘道時,若未指定安全群組,系統將自動將 VPC 預設安全群組附加至該終端點閘道。 如需更多資訊,請參閱 《設定存取控制清單與安全性群組以搭配端點閘道使用》

    在支援安全群組功能之前建立的端點閘道,不會附帶任何安全群組。 它們也允許所有入站流量。 若將安全性群組附加至未附加任何安全性群組的虛擬主機,則無法將該虛擬主機還原至未附加任何安全性群組的狀態。 您可以透過附加一個包含允許所有入站流量規則的安全群組,恢復先前「允許所有入站流量」的行為。 然而,此規則本質上不如實施更嚴格的安全群組來得安全,因此不建議採用。

  5. 在「請求連線至服務」區段中,選擇 IBM Cloud,然後從選單中選取 cloud-object-storage

    • 選擇您服務的區域。 系統預先選取區域以優化效能。

    • 請注意,除配置服務端點( config endpoint type)外,所有服務端點類型皆支援資源綁定功能,此功能允許 VPE 綁定至 Object Storage 儲存桶或資源。

  6. 在「共享 DNS」區段中,請選擇以下其中一種 DNS 解析綁定模式:

    • 主要設定允許 VPE 閘道的服務端點與樞紐 VPC 的 DNS 解析器共享,以進行名稱解析。
    • 按資源綁定功能允許 VPE 閘道建立與雲端物件儲存桶的資源綁定,並與樞紐 VPC 的 DNS 解析器共享服務資源端點以進行名稱解析。
    • 停用此設定將禁止 VPE 閘道服務端點用於名稱解析的共享。

    當虛擬私有雲 (VPC) 作為 DNS 樞紐時,DNS 共享設定始終為「主要」模式,且無法變更此模式。

    若您選擇「按資源綁定」或 「停用」,即可建立可選的資源綁定,讓您能從所選的 VPC 啟用對 Object Storage 特定儲存桶的細粒度存取權限。 如需更多資訊,請參 閱建立資源綁定

    在配置過程中,您最多可綁定 10 個儲存桶,並可選擇後續增加更多。

  7. 在「保留IP」區段中,請選擇保留的IP位址。 您可以選擇:

    • 請為我選擇一個- 輸入IP位址的前綴名稱,否則系統將為您自動選擇。 選擇一個或多個子網(建議每個區域僅選用一個子網),並啟用「自動釋出」開關,若您希望在終端點閘道刪除時,此預留 IP 亦隨之自動刪除。

    • 從現有 IP 位址中選擇- 從現有 IP 位址清單中進行選擇。 若無可用IP位址,請點擊「保留IP」以預留一個。

      在 VPC 中,每個可用區 (AZ) 僅能將一個保留 IP 綁定至 VPE 閘道。 請確保在同一可用區域內,整個虛擬私有雲(VPC)的所有子網中均不存在其他綁定。

    • 稍後選擇- 在建立端點閘道後,於某個時間點選擇 IP 位址。

  8. 視訂單摘要,然後點擊建立虛擬私有端點閘道。 終端閘道器被要求使用。

從命令列介面建立本地存取端點閘道

開始 之前,請先設定您的命令列介面環境。

若要從命令列介面建立本地區域存取端點閘道,請依循以下步驟:

  1. 列出符合資格可設定為端點閘道目標的 IBM Cloud 服務執行個體:

    ibmcloud is endpoint-gateway-targets
    
  2. 執行下列指令建立端點閘道:

    ibmcloud is endpoint-gateway-create --target TARGET [--target-type private_path_service_gateway | provider_cloud_service | provider_infrastructure_service] [--vpc VPC] [--name NAME] [--rip RIP --subnet SUBNET | (--new-reserved-ip NEW_RESERVED_IP1 --new-reserved-ip NEW_RESERVED_IP2 ...)] [--allow-dns-resolution-binding false | true] [--sg SG] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
    

    其中:

    --target-type:
    表示此端點閘道的目標類型,可選值為以下任一項:private_path_service_gateway, provider_cloud_service,或 provider_infrastructure_service
    --vpc:
    表示 VPC 的 ID 或名稱。
    --target:
    表示提供商基礎結構服務的名稱或提供商雲端服務實體的 CRN。 您可以使用 ibmcloud is endpoint-gateway-targets 命令列出符合設定為端點閘道目標的提供者雲端和基礎結構服務。
    --name:
    表示端點閘道的新名稱。
    --rip:
    表示要綁定到端點閘道的保留 IP 的 ID。
    --subnet:
    子網路的 ID 或名稱。 只有在提供的保留 IP 採用名稱格式時,才需要此名稱。
    --new-reserved-ip:
    表示以 JSON 格式或 JSON 檔案儲存的新保留 IP 配置。RESERVED_IP_JSON|@RESERVED_IP_JSON_FILE
    --sg:
    表示安全組的識別碼。

    若未指定 -sg,則 VPC 預設安全群組將綁定至端點閘道。

    --resource-group-id:
    表示資源群組的 ID。 此選項與 --resource-group-name 互斥。
    --resource-group-name:
    表示資源群組的名稱。 此選項與 --resource-group-id 互斥。
    --output:
    表示輸出格式。 只支援 JSON。
    -q, --quiet:
    抑制冗長輸出。

    如需更多資訊與指令範例,請參閱 VPC CLI 參考 文件。

使用 API 建立本地存取端點閘道

要使用 API 建立本地存取端點閘道,請遵循以下步驟:

  1. 設定您的 API 環境

  2. 將下列值儲存至變數中,供 API 指令使用:

    • ResourceGroupId- 首先取得您的資源群組,然後填入變數:

      export ResourceGroupId=<your_resourcegroup_id>
      
    • VpcId- 使用 指令 list vpc (搭配前述變數),然後根據提供的 ID 填入變數:

      export VpcId=<your_VPC_id>
      
    • TargetCrn- 您要設定端點閘道的 IBM Cloud 服務實例名稱或CRN。 您可以使用 ibmcloud is endpoint-gateway-targets 命令來列出符合資格可設定為端點閘道目標的 IBM Cloud 服務執行個體。

      export TargetCrn=<CRN of a target service>
      
    • SubnetID (可選)- 子網識別碼。

      export SubnetID=<your_subnet_id>
      
  3. 啟動所有變數後,選擇下列其中一項動作:

    • 為特定虛擬私有雲建立端點閘道:

      curl -X POST -sH "Authorization:${iam_token}" \
      "$vpc_api_endpoint/v1/endpoint_gateways?version=$api_version&generation=2" \
      -d {
      "name": endpoint-gateway-1",
      "vpc": {"id":"'$VpcId'"},
      "target": {
      "crn": "$TargetCrn",
      "resource_type": "provider_cloud_service"
      },
      "security_groups": [
      {"id": "'$sg'"}
      ]
      }'
      

      建立端點閘道以連線至 Private Path 服務時,請確保 '"resource type" = "private_path_service_gateway"'。

      為服務實例建立端點閘道並指派保留 IP 位址後,您必須將 VPC 網路中的 IP 位址綁定至該端點閘道。 詳情請參閱 《 綁定與解除綁定保留的 IP 位址 》。 這些綁定的 IP 位址將成為存取終端點閘道所對應服務的虛擬私有端點 (VPE)。

    • 建立一個具有關聯保留 IP 位址的端點閘道:

      curl -X POST -sH "Authorization:${iam_token}" \
      "$vpc_api_endpoint/v1/endpoint_gateways?version=$api_version&generation=2" \
      -d {
      "name": endpoint-gateway-1",
      "vpc": {"id":"'$VpcId'"},
      "target": {
      "crn": "$TargetCrn",
      "resource_type": "provider_cloud_service"
      },
      "security_groups": [
      {"id": "'$sg'"}
      ],
      "ips": [
      {"subnet": { "id": "$SubnetId" } }
      ],
      }'
      

      建立端點閘道以連線至 Private Path 服務時,請確保「資源類型」設定為 private_path_service_gateway

為某項 IBM Cloud 服務建立終端點閘道後,該閘道便會呈現與其關聯的終端點。 您可以透過多種方式編輯端點閘道,例如:綁定/解除綁定 IP、變更資源群組以及更新標籤。 若因任何原因需要變更服務端點,您必須先刪除端點閘道,再重新建立。

使用 Terraform 建立本地存取端點閘道

您可以使用 Terraform 建立端點閘道。

要使用 Terraform,請下載 Terraform CLI 並設定 Provider IBM Cloud 外掛程式。 如需更多資訊,請參閱 《Terraform 入門指南》

以下範例建立一個 VPE 閘道:

resource "ibm_is_virtual_endpoint_gateway" "vpe_iam" {
  name = "${var.name}-iam-vpe"
  vpc  = ibm_is_vpc.testacc_vpc.id

  target {
    resource_type = var.vpe_target_type
    crn           = var.vpe_target_crn
  }
  dns_resolution_binding_mode = "disabled"
}
resource "ibm_is_virtual_endpoint_gateway_resource_binding" "vpe_rb" {
  name = "${var.name}-rb-vpe"
  endpoint_gateway_id  = ibm_is_virtual_endpoint_gateway.vpe_iam.id

  target {
    crn           = var.vpe_rb_target
  }
}
data "ibm_is_virtual_endpoint_gateway" "vpe_iam" {
  name = ibm_is_virtual_endpoint_gateway.vpe_iam.name
}
data "ibm_is_virtual_endpoint_gateways" "vpe_iam" {
}
data ibm_is_virtual_endpoint_gateway_resource_bindings bindings {
  endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.vpe_iam.id
}
data ibm_is_virtual_endpoint_gateway_resource_binding binding {
  endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.vpe_iam.id
  endpoint_gateway_resource_binding_id = ibm_is_virtual_endpoint_gateway_resource_binding.vpe_rb.endpoint_gateway_resource_binding_id
}

建立本地區域存取端點閘道後

若您返回「虛擬私有端點閘道器」頁面,您的端點閘道器將顯示於表格中。 對於 IBM Cloud 服務而言,您的端點閘道狀態將從 Updating 變更為 Stable。 您可以點擊「動作 」