關於保留 IP
VPC 上的保留 IP 功能可讓您保留 IP 位址,以在資源上使用。 您可以指定特定位址或允許系統選取任何可用位址。 您也可以使用或不使用用來連結位址的目標來進行新的 IP 保留。
開始之前
保留 IP 是子網路的子資源。 Identity and Access Management (IAM) 目前不支援子資源,因此保留 IP 會從子網路「繼承」許可權。
若要查看保留 IP 所需的 IAM 許可權,請參閱 子網路呼叫。
VPC 不支援片段化 IP 封包。 片段封包會在邊緣捨棄。
保留 IP 已知問題
下列問題適用於保留 IP。 這些問題將在未來版本中解決。
問題: 連結至 VPN 閘道、IKS 工作者節點或 DNS 服務實例的保留 IP 位址將顯示為沒有目標 (擷取保留 IP 資源時不包括 target 內容)。
因此,這類保留 IP 位址可能看起來已取消連結。 雖然這些保留 IP 位址似乎已取消連結,但在刪除其目標資源之前,無法刪除這些保留 IP 位址。
在主控台中,標示為「未連結」的保留 IP 位址可能連結至無法顯示的資源。
問題: 元資料 API 目前不支援保留 IP。
暫行解決方法: 繼續使用 primary_ipv4_address 內容來擷取實例上每個網路介面的 IP 位址。 請參閱 VPC meta 資料 API。
問題: 當您使用 VPC API 來 列出裸機伺服器網路介面上的浮動 IP 位址 時,可能會取得與裸機伺服器網路介面相關聯的浮動 IP 位址清單不完整。
在網路介面 status 為 available 之前,無法使用與裸機網路介面相關聯的浮動 IP。
替代方案:
- 在列出介面上的浮動 IP 位址之前,請等待裸機伺服器網路介面成為
available。 - 列出所有浮動 IP,以檢視與尚未
available的裸機伺服器介面相關聯的那些 IP。
在主控台中建立保留 IP
若要建立保留 IP,請依照以下步驟操作:
- 從IBM Cloud選單中,選擇基礎架構>網路>子網路。
- 請選擇現有的子網,或建立一個新的子網。
- 按一下保留 IP 標籤。
- 點擊「建立 +」。
下列各節說明如何使用具有不同屬性的保留 IP 位址。
建立未關聯的保留 IP
若要建立未關聯的保留 IP,請遵循下列步驟:
- 請為您的預留 IP 輸入名稱。 請務必使用小寫英數字元,且名稱不含空格。
- 選取您是否要讓系統自動為您選擇保留 IP,從現有保留 IP 清單中選擇,或自行輸入一個。
- 如果您需要特定的 IP 位址 (選用),請選取位址。
- 按一下 保留 IP。
刪除保留 IP
若要使用使用者介面刪除(釋放)保留 IP,請導航至子網路 > 保留 IP,然後按一下要刪除的保留 IP 旁邊的動作功能表。 選擇發佈。
從 CLI 使用保留 IP
您可以使用 CLI 來建立、更新及刪除保留 IP 位址。
開始之前,請 設定 CLI 環境。
從 CLI 建立保留 IP
若要使用 CLI 保留 VPC 專用 IP 位址,請執行下列指令:
ibmcloud is subnet-reserved-ip-create SUBNET [--vpc VPC] [--name NAME] [--address IPADDRESS] [--auto-delete true | false] [--target TARGET] [--output JSON] [-q, --quiet]
其中:
- SUBNET 是子網路的 ID。
- --vpc 是 VPC 的 ID 或名稱。 僅當您希望在此 VPC 內透過名稱指定特定資源時,才需要此選項。
- --name 是此保留 IP 的使用者自訂名稱。 名稱必須在保留 IP 所在的子網路內是唯一的。 以
ibm-開頭的名稱,是預留給服務供應商所擁有的資源使用的。 - --address 是要預留的 IP 位址,該位址在該子網中不得已被預留。 如果未指定,則會自動選取子網路上的可用位址。
- -- auto-delete 會決定如何設定自動刪除特性。 若設定為「
true」,當目標被刪除時,此保留的 IP 位址將自動刪除。 下列其中一項:true,false(預設值:true)。 - --target 是指預留 IP 的目標。
- -- output 指定輸出格式; 僅支援 JSON。
- -q, --quiet 抑制詳細輸出。
從 CLI 更新保留 IP
若要從 CLI 更新保留 IP,請執行下列指令:
ibmcloud is subnet-reserved-ip-update SUBNET RESERVED_IP [--vpc VPC] [--name NEW_NAME] [--auto-delete true | false] [--output JSON] [-q, --quiet]
其中:
- SUBNET 是子網路的 ID。
- RESERVED_IP 是保留 IP 的 ID。
- --vpc 是 VPC 的 ID 或名稱。 僅當您希望在此 VPC 內透過名稱指定特定資源時,才需要此設定。
- --name 是該保留 IP 位址的新名稱。
- -- auto-delete 會決定如何設定自動刪除特性。 若設定為「
true」,當目標被刪除時,此保留的 IP 位址將自動刪除。 下列其中一項:true,false(預設值:true)。 - -- output 指定輸出格式; 僅支援 JSON。
- -q, --quiet 抑制詳細輸出。
從 CLI 刪除保留 IP
若要從 CLI 刪除保留 IP,必須取消連結保留 IP。 取消連結保留 IP 之後,請執行下列指令來刪除它:
ibmcloud is subnet-reserved-ip-delete SUBNET (RESERVED_IP1 RESERVED_IP2 ...) [--vpc VPC] [-f, --force] [--output JSON] [-q, --quiet]
其中:
- SUBNET 是子網路的 ID。
- RESERVED_IP1 RESERVED_IP2 是保留 IP 的 ID。 您可以指定一個或多個。
- --vpc 是 VPC 的 ID 或名稱。 僅當您希望在此 VPC 內透過名稱指定特定資源時,才需要此設定。
- --force、-f 會不經確認直接執行該操作。
- -- output 指定輸出格式; 僅支援 JSON。
- -q, --quiet 抑制詳細輸出。
使用 API
若要使用 API 來建立保留 IP,請遵循下列步驟:
-
設定 API 環境。
-
將子網路 ID 儲存在要在 API 指令中使用的變數中:
export SubnetId=<your_subnet_id> -
建立保留 IP,並選擇性地在
address內容中指定及位址:
curl -X POST -sH "Authorization:${iam_token}" \
"$vpc_api_endpoint/v1/subnets/$SubnetId/reserved_ips?version=$api_version&generation=2" \
-d '{"name": "test-reserved-ip", "address": "10.240.0.15"}' | jq
jq jq 可能不會預先安裝在您建立實體時可用的所有 VPC 映像上 。 您可能需要在使用前安裝 jq 或使用您選擇的其他解析器。
刪除保留 IP
使用下列 API 來刪除保留 IP:
curl -X DELETE -sH "Authorization:${iam_token}" \
"$vpc_api_endpoint/v1/subnets/$SubnetId/reserved_ips/$ReservedIpId?version=$api_version&generation=2"
- API 不容許您刪除連結至主要網路介面的保留 IP。 虛擬伺服器實例必須具有主要網路介面,且所有網路介面都必須具有保留 IP。
- 連結至次要網路介面的保留 IP 可以連結至各種資源,包括但不限於:
- 網路介面
- 虛擬專用端點 (VPE)
- 負載平衡器
- VPN 閘道
- IKS 工作者節點
- DNS Services 實例
- 如果自動刪除內容設為
true,則取消連結保留 IP 會刪除保留 IP。
停用自動刪除時
如果您建立保留 IP 而未連結它,依預設會停用自動刪除。 未連結的保留 IP 無法啟用自動刪除。
當自動刪除選項關閉時,取消連結會保留保留 IP,但不會刪除保留 IP。
啟用自動刪除時
如果您建立虛擬伺服器實例,但未指定保留 IP,系統會為您建立保留 IP,並將它連結至主要網路介面。 在此實務範例中,依預設會啟用自動刪除功能。
當自動刪除選項開啟時,取消保留 IP 與其目標的連結會導致刪除保留 IP。
預留的 IP 位址可能需要幾分鐘才會被刪除。