建立端點閘道
您可以為希望在私有 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 主控台中建立端點閘道,請遵循下列步驟:
-
從 IBM Cloud 主控台,選擇導覽功能表
,然後按一下基礎結構
> 網路 > 虛擬專用端點閘道。 即會出現 VPC 的虛擬專用端點閘道頁面。
-
按一下建立進入佈建頁面。
-
在「詳細資料」區段中,輸入下列欄位的值:
- 名稱-輸入端點閘道的唯一名稱。
- 資源群組- 選取端點閘道的資源群組。 您可以使用此端點閘道的預設群組,或從清單中選擇。 如需相關資訊,請參閱組織資源群組中資源的最佳作法。
- 標籤-選擇性地新增標籤,以組織、追蹤使用成本或管理對資源的存取權。
- 存取管理標籤-您也可以選擇性地將存取管理標籤新增至資源,以協助組織存取控制關係。 存取權管理標籤唯一支援的格式是
key:value。 如需相關資訊,請參閱 使用標籤控制對資源的存取權。 - 虛擬私有雲- 選擇您需要 VPE IP 位址的 VPC。 根據您選取的 VPC 區域,系統會提供 IBM 服務清單,您可以存取這些服務以與端點閘道相關聯。 如果在所選取 VPC 的區域中未提供目標服務,則您可以變更區域以選取另一個區域中的服務。
如果預期的服務或服務實例未出現,請重新驗證 IAM 許可權。 您也可以選擇配置保留 IP 位址以連結至閘道,或指定 VPC 子網路以配置保留 IP 位址以連結至閘道。
-
在「安全群組」區段中,從安全群組表格中選取您要附加之安全群組的勾選框。 然後,您可以管理這些安全群組,並針對端點閘道的入埠資料流量收緊其安全規則。
當您建立端點閘道而未指定安全群組時,VPC 預設安全群組會連接至端點閘道。 如需相關資訊,請參閱 配置 ACL 及安全群組以與端點閘道搭配使用。
在支援安全群組之前建立的端點網關沒有附加的安全性群組。 它們也容許所有入埠資料流量。 如果將安全群組附加到沒有任何附加安全性群組的 VPE,則無法將該 VPE 還原至沒有安全群組的狀態。 您可以透過附加具有容許所有入埠資料流量之規則的安全群組,來回復先前的「容許所有入埠資料流量」行為。 但是,此規則本質上不如採用限制性更強的安全群組安全,因此不建議這樣做。
-
在請求連線到服務部分中,選擇要使用此端點閘道存取的IBM Cloud或非IBM Cloud服務。
-
對於 IBM Cloud 服務,請從功能表中選取可用的 IBM Cloud 服務供應項目,然後選取其區域。 預先選取區域以最佳化效能。
-
對於非IBM Cloud服務,輸入 Private Path 服務的雲端資源名稱 (CRN)(從服務供應商取得)。
您的連線要求會傳送至服務提供者進行檢閱。
審核可能會根據提供者選擇的帳戶策略自動進行,或者如果提供者選擇手動審核其請求,則可能需要數天的時間。 如果允許您的要求,您會收到通知,然後可以存取服務。 如果拒絕您的要求,請聯絡服務提供者。
-
-
在「共享 DNS」區段中,請選擇以下其中一種 DNS 解析綁定模式:
- 主要設定允許在 DNS 共享 VPC 中的 VPE 閘道服務端點,與 DNS 樞紐 VPC 共享以進行名稱解析。
- 停用此設定將禁止 VPE 閘道服務端點用於名稱解析的共享。
當虛擬私有雲 (VPC) 作為 DNS 樞紐時,DNS 共享設定始終為「主要」模式,且無法變更此模式。
-
在「保留IP」區段中,請選擇保留的IP位址。 您可以選擇:
-
請為我選擇一個- 輸入IP位址的前綴名稱,否則系統將為您自動選擇。 選擇一個或多個子網(建議每個區域僅選用一個子網),並啟用「自動釋出」開關,若您希望在終端點閘道刪除時,此預留 IP 亦隨之自動刪除。
-
從現有 IP 選擇- 從現有 IP 位址清單中選擇。 若無可用IP位址,請點擊「保留IP」以預留一個。
在 VPC 中,每個可用區 (AZ) 僅能將一個保留 IP 綁定至 VPE 閘道。 請確保在同一可用區域內,整個虛擬私有雲(VPC)的所有子網中均不存在其他綁定。
-
稍後選擇- 在建立端點閘道後,於某個時間點選擇 IP 位址。
-
-
查看訂單摘要,然後按一下建立虛擬專用端點閘道。 要求使用端點閘道。
從 CLI 建立端點閘道
開始之前,請 設定 CLI 環境。
若要從 CLI 建立端點閘道,請遵循下列步驟:
-
列出符合資格設為端點閘道目標的 IBM Cloud 服務實例:
ibmcloud is endpoint-gateway-targets -
執行下列指令建立端點閘道:
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:- 表示新保留的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 來建立端點閘道,請遵循下列步驟:
-
設定 API 環境。
-
將下列值儲存在要在 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>
-
-
啟動所有變數後,選擇下列其中一項動作:
-
為特定 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 共用。