建立端點閘道

您可以為希望在私有 VPC 網路中存取的第三方服務 IBM Cloud® 或應用程式建立端點閘道。 您可以使用主控台、CLI、API 或 Terraform。

若要建立本機存取端點閘道(目前僅支援 Cloud Object Storage ),請參 閱建立本機存取虛擬私人端點 閘道的說明。 若要設定跨帳戶端點閘道以存取 IBM Cloud 受支援的服務或應用程式,請參閱 《 建立跨帳戶端點閘道 》以獲取詳細資訊。

開始之前

在建立端點閘道之前,請確認已檢閱 虛擬私人端點閘道的規劃,並符合下列先決條件:

  • VPC

  • 如果您想要在佈建端點閘道的同時連結 IP 位址,則至少一個可用性區域中的子網路

  • 服務的實例

  • 適當的 IAM 許可權,以建立端點閘道、建立或連結保留 IP,以及檢視或列出目標服務

  • 驗證已針對 VPE 啟用您正在配置的服務

  • 若您計劃建立跨帳戶的虛擬專業環境(VPE),請確保已滿足以下要求:

    • 請確保您擁有必要的 IAM 權限及基於上下文的限制 (CBR) 政策,以授權存取權限。
    • 請確保您的目標服務支援跨帳戶虛擬私有雲端環境。 詳情請查看服務的說明文件。
    • 您必須取得目標服務實例的雲端資源名稱 (CRN)。
    • 若要授權您存取帳戶中的 VPE 使用位於不同 IBM Cloud 帳戶中的目標服務實例,您必須依照下一節所述建立服務對服務授權政策。

在主控台中建立端點閘道

若要在 IBM Cloud 主控台中建立端點閘道,請遵循下列步驟:

  1. IBM Cloud 主控台,選擇導覽功能表 導覽功能表圖示,然後按一下基礎結構 VPC 圖示 > 網路 > 虛擬專用端點閘道。 即會出現 VPC 的虛擬專用端點閘道頁面。

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

  3. 在「詳細資料」區段中,輸入下列欄位的值:

    • 名稱-輸入端點閘道的唯一名稱。
    • 資源群組- 選取端點閘道的資源群組。 您可以使用此端點閘道的預設群組,或從清單中選擇。 如需相關資訊,請參閱組織資源群組中資源的最佳作法
    • 標籤-選擇性地新增標籤,以組織、追蹤使用成本或管理對資源的存取權。
    • 存取管理標籤-您也可以選擇性地將存取管理標籤新增至資源,以協助組織存取控制關係。 存取權管理標籤唯一支援的格式是 key:value。 如需相關資訊,請參閱 使用標籤控制對資源的存取權
    • 虛擬私有雲- 選擇您需要 VPE IP 位址的 VPC。 根據您選取的 VPC 區域,系統會提供 IBM 服務清單,您可以存取這些服務以與端點閘道相關聯。 如果在所選取 VPC 的區域中未提供目標服務,則您可以變更區域以選取另一個區域中的服務。

    如果預期的服務或服務實例未出現,請重新驗證 IAM 許可權。 您也可以選擇配置保留 IP 位址以連結至閘道,或指定 VPC 子網路以配置保留 IP 位址以連結至閘道。

  4. 在「安全群組」區段中,從安全群組表格中選取您要附加之安全群組的勾選框。 然後,您可以管理這些安全群組,並針對端點閘道的入埠資料流量收緊其安全規則。

    當您建立端點閘道而未指定安全群組時,VPC 預設安全群組會連接至端點閘道。 如需相關資訊,請參閱 配置 ACL 及安全群組以與端點閘道搭配使用

    在支援安全群組之前建立的端點網關沒有附加的安全性群組。 它們也容許所有入埠資料流量。 如果將安全群組附加到沒有任何附加安全性群組的 VPE,則無法將該 VPE 還原至沒有安全群組的狀態。 您可以透過附加具有容許所有入埠資料流量之規則的安全群組,來回復先前的「容許所有入埠資料流量」行為。 但是,此規則本質上不如採用限制性更強的安全群組安全,因此不建議這樣做。

  5. 請求連線到服務部分中,選擇要使用此端點閘道存取的IBM Cloud或非IBM Cloud服務。

    • 對於 IBM Cloud 服務,請從功能表中選取可用的 IBM Cloud 服務供應項目,然後選取其區域。 預先選取區域以最佳化效能。

    • 對於非IBM Cloud服務,輸入 Private Path 服務的雲端資源名稱 (CRN)(從服務供應商取得)。

      您的連線要求會傳送至服務提供者進行檢閱。

      審核可能會根據提供者選擇的帳戶策略自動進行,或者如果提供者選擇手動審核其請求,則可能需要數天的時間。 如果允許您的要求,您會收到通知,然後可以存取服務。 如果拒絕您的要求,請聯絡服務提供者。

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

    • 主要設定允許在 DNS 共享 VPC 中的 VPE 閘道服務端點,與 DNS 樞紐 VPC 共享以進行名稱解析。
    • 停用此設定將禁止 VPE 閘道服務端點用於名稱解析的共享。

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

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

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

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

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

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

  8. 查看訂單摘要,然後按一下建立虛擬專用端點閘道。 要求使用端點閘道。

從 CLI 建立端點閘道

開始之前,請 設定 CLI 環境

若要從 CLI 建立端點閘道,請遵循下列步驟:

  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_gatewayprovider_cloud_serviceprovider_infrastructure_service
    --vpc:
    表示 VPC 的 ID 或名稱。
    --target:
    表示提供商基礎結構服務的名稱或提供商雲端服務實體的 CRN。 您可以使用 ibmcloud is endpoint-gateway-targets 命令列出符合設定為端點閘道目標的提供者雲端和基礎結構服務。
    --name:
    表示端點閘道的新名稱。
    --rip:
    表示要綁定到端點閘道的保留 IP 的 ID。
    --subnet:
    子網路的 ID 或名稱。 只有在提供的保留 IP 採用名稱格式時,才需要此名稱。
    --new-reserved-ip:
    表示新保留的IP配置,JSON格式或JSON文件,RESERVED_IP_JSON|@RESERVED_IP_JSON_FILE.
    --sg:
    安全群組ID。

    如果不指定 -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 (選用)-子網路 ID。

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

    • 為特定 VPC 建立終端節點閘道:

      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'"}
      ]
      }'
      

      建立端點閘道以連接至「專用路徑」服務時,請確定 '"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_service_gateway

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

使用 Terraform 建立端點閘道

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

要使用 Terraform,請下載 Terraform CLI 並設定 Provider IBM Cloud 外掛程式。 如需相關資訊,請參閱 Terraform 入門

下列範例會建立 VPE 閘道:

resource "ibm_is_virtual_endpoint_gateway" "example" {

  name = "example-endpoint-gateway"
  target {
    name          = "ibm-ntp-server"
    resource_type = "provider_infrastructure_service"
  }
  vpc            = ibm_is_vpc.example.id
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

resource "ibm_is_virtual_endpoint_gateway" "example1" {
  name = "example-endpoint-gateway-1"
  target {
    name          = "ibm-ntp-server"
    resource_type = "provider_infrastructure_service"
  }
  vpc = ibm_is_vpc.example.id
  ips {
    subnet = ibm_is_subnet.example.id
    name   = "example-reserved-ip"
  }
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

resource "ibm_is_virtual_endpoint_gateway" "example3" {
  name = "example-endpoint-gateway-2"
  target {
    name          = "ibm-ntp-server"
    resource_type = "provider_infrastructure_service"
  }
  vpc = ibm_is_vpc.example.id
  ips {
    subnet = ibm_is_subnet.example.id
    name   = "example-reserved-ip"
  }
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

resource "ibm_is_virtual_endpoint_gateway" "example4" {
  name = "example-endpoint-gateway-3"
  target {
    crn           = "crn:v1:bluemix:public:cloud-object-storage:global:::endpoint:s3.direct.mil01.cloud-object-storage.appdomain.cloud"
    resource_type = "provider_cloud_service"
  }
  vpc            = ibm_is_vpc.example.id
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

建立 VPE 閘道之後

如果您返回 VPC 的虛擬專用端點閘道頁面,您的端點閘道將顯示在表中。

  • 對於 IBM Cloud 服務,您端點閘道的狀態會從 Updating 變更為 Stable。 您可以按一下動作功能表動作功能表,以重新命名、保留或綁定 IP、解除綁定 IP 或刪除端點閘道。
  • 對於非IBM Cloud (協力廠商) 服務,除非服務提供者允許或拒絕您的連接要求,否則您的端點閘道狀態為 Pending。 建立連線功能時,狀態會變更為 Stable。 您可以按一下 追蹤 或展開端點閘道的表格列,以檢視要求的進度。
  • 選擇性地,VPE 閘道的表格列中有一個 DNS 解析連結交換器,可讓您啟用或停用此端點閘道的 DNS 共用。 如需相關資訊,請參閱 關於 VPE 閘道的 DNS 共用