升級至 HA VPN 伺服器
您可以在建立 VPN 伺服器之後變更 VPN 伺服器類型。 例如,您可以將獨立式 VPN 伺服器 (試驗部署) 升級至高可用性 (HA) VPN 伺服器 (正式作業部署)。 您也可以分離子網路,以將 HA VPN 伺服器降級至獨立式部署,或在佈建 VPN 伺服器之後變更 VPN 子網路。
在主控台升級為 HA VPN 伺服器
若要變更 VPN 伺服器類型,請遵循下列步驟:
-
從瀏覽器開啟 IBM Cloud 主控台,登入您的帳戶。
-
選擇導航選單
,然後按一下基礎設施 > 網路 > VPN。
-
從「VPC 的 VPN」頁面中,按一下 用戶端至網站伺服器 標籤。 然後按一下要修改的 VPN 伺服器名稱。
-
在子網路部分,執行其中一個動作:
- 若要升級至 HA VPN 伺服器,請按一下 新增 +,以在不同區域中新增第二個子網路。
- 若要變更為獨立 VPN 伺服器,請按一下移除圖示
,以移除兩個現有子網路中的一個。
- 若要使用不同的子網路,請按一下子網路的「編輯」圖示
。
請參閱下列範例:
子網路區段 -
檢閱成本摘要,然後按一下 儲存 以儲存變更。
從 CLI 升級至 HA VPN 伺服器
開始之前,請 設定 CLI 環境。
若要從 CLI 升級至 HA VPN 伺服器,請輸入下列指令:
ibmcloud is vpn-server-update VPN_SERVER_ID [--vpc VPC] [--subnet SUBNET]
[--client-ip-pool CLIENT_IP_POOL] [--cert CERT]
[--client-auth-methods certificate | username | certificate,username | username,certificate]
[--client-ca CLIENT_CA] [--client-crl CLIENT_CRL] [--client-dns CLIENT_DNS]
[--client-idle-timeout CLIENT_IDLE_TIMEOUT] [--enable-split-tunnel false | true]
[--port PORT] [--protocol udp | tcp] [--name NEW_NAME] [--output JSON] [-q, --quiet]
其中:
- VPN_SERVER_ID- VPN 伺服器的 ID 或名稱。
-
- -vpc- VPC 的 ID 或名稱。 只有在此 VPC 內按名稱指定唯一資源時,才需要使用此選項。
-
- -subnet- 以逗號分隔的 ID 或要設定此 VPN 伺服器的子網路名稱。 在不同區域中使用兩個子網路以取得高可用性。 最多可以設定兩個子網路。
-
- -client-ip-pool- VPN 用戶端 IPv4 位址池,以 CIDR 格式表示。 請求不得與 VPC 中的任何現有位址前綴或下列任何保留位址範圍重疊:
127.0.0.0/8
( IPv4 環回位址)、161.26.0.0/16
( IBM 服務)、166.8.0.0/14
(Cloud Service Endpoints)、169.254.0.0/16
( IPv4 link-local 位址)、224.0.0.0/4
( IPv4 群播位址)。 用戶端 IP 位址池 CIDR 的前綴長度必須介於/9
(8,388,608 個位址) 和/22
(1024 個位址) 之間。 建議使用包含兩倍於啟用並行連線數上限所需的 IP 位址數的 CIDR 區塊。
- -client-ip-pool- VPN 用戶端 IPv4 位址池,以 CIDR 格式表示。 請求不得與 VPC 中的任何現有位址前綴或下列任何保留位址範圍重疊:
-
- -cert- 此 VPN 伺服器的憑證實例 CRN。
- --client-auth-methods-以逗點區隔的用戶端鑑別方法。 下列其中一項:
certificate
username
certificate,username
username,certificate
-
- -client-ca- 用於 VPN 用戶端憑證授權機構 (CA) 的憑證實例的 CRN。
- -- client-crl-CRL | @CRL-file。 以 PEM 格式編碼的憑證撤銷清單內容。
-
- -client-dns- 以逗號分隔的 DNS 伺服器位址清單,提供給連線到此 VPN 伺服器的 VPN 用戶端。 最多可設定兩個 DNS 伺服器。
-
- -client-idle-timeout- VPN 用戶端閒置的秒數,此 VPN 伺服器才會中斷連線。 指定 0 以防止伺服器中斷閒置用戶端。
-
- -enable-split-tunnel- 表示是否已在此 VPN 伺服器上啟用分割隧道。 下列其中一項: false,true (預設值: false)。
-
- -port- 此 VPN 伺服器要使用的連接埠號。
-
- -protocol- 此 VPN 伺服器要使用的傳輸通訊協定。 下列其中一項: udp、tcp。
-
- -name- VPN 伺服器的新名稱。
-
- -output- 指定輸出格式,僅支援 JSON。 下列其中一項: JSON。
- -q, --quiet- 抑制詳細輸出。
指令範例
-
透過從不同區域新增第二個子網路,將獨立式 VPN 伺服器更新至 HA VPN 伺服器:
ibmcloud is vpn-server-update r006-aa88726e-8b34-4f97-992d-027df9c4bb36 --subnet 0716-6ec3e875-abfa-40f4-a7c5-7473f4b2a2e1,0717-61b2f53f-1e95-42a7-94ab-55de8f8cbdd5
以逗點區隔兩個子網路 ID 或名稱。
-
變更 VPN 伺服器的子網路,或從兩個子網路 (HA VPN 伺服器) 降級至一個子網路 (獨立式 VPN 伺服器)。 指定的子網路 (例如,
0716-6ec3e875-abfa-40f4-a7c5-7473f4b2a2e1
) 會取代任何現有的子網路。ibmcloud is vpn-server-update r006-aa88726e-8b34-4f97-992d-027df9c4bb36 --subnet 0716-6ec3e875-abfa-40f4-a7c5-7473f4b2a2e1
使用 API 升級至 HA VPN 伺服器
若要使用 API 升級至 HA VPN 伺服器,請遵循下列步驟:
-
使用正確的變數來設定 API 環境。
-
尋找您要升級的 VPN 伺服器:
在 curl 指令之後加入
| json_pp
或| jq
,以取得可讀的 JSON 字串。jq
是第三方工具,以 MIT 授權取得授權。當您建立實體時,jq
可能不會預先安裝在所有可用的 VPC 映像上。json_pp
指令是一個 JSON 預處理器,通常會預設安裝在大多數 Linux 發行版本上。curl -X GET "$vpc_api_endpoint/v1/vpn_servers?version=$api_version&generation=2" \ -H "Authorization:$iam_token"
將 VPN 伺服器的 ID 儲存在變數中,以便稍後使用,例如:
VpnServer="r006-cb67562d-626c-488d-8c56-35879e238274"
-
尋找您要連接至 VPN 伺服器的子網路:
curl -X GET "$vpc_api_endpoint/v1/subnets?version=$api_version&generation=2" \ -H "Authorization:$iam_token"
將子網路的 ID 儲存在變數中,以便您稍後使用,例如:
SubnetId1="0716-08b770a6-e5e8-4e59-ad0c-9f517914f5a6" SubnetId2="0717-aa067949-e947-435f-bdcd-1ec84815513d"
SubnetId1
和SubnetId2
必須位於與 VPN 伺服器相同的 VPC 中,但位於不同的區域。 -
取得 VPN 伺服器的 ETag:
curl -X GET -i "$vpc_api_endpoint/v1/vpn_servers/$VpnServer?version=$api_version&generation=2" \ -H "Authorization:$iam_token"
將 VPN 伺服器的 ETag (包括在回應標頭中) 儲存在變數中,以便稍後可以使用它,例如:
ETag="0366003158c0be829d0727e80325406145eaa682955c1703642eaab2c655d609"
-
起始所有變數時,透過新增第二個子網路,將 VPN 伺服器升級至 HA:
curl -X PATCH "$vpc_api_endpoint/v1/vpn_servers/$VpnServer?version=$api_version&generation=2" \ -H "Authorization: $iam_token" \ -H "If-Match: $ETag" \ -d '{ "subnets": [ { "id": "'$SubnetId1'" }, { "id": "'$SubnetId2'" } ] }'