跳到主要內容

發表文章

目前顯示的是有「subnet」標籤的文章

為什麼 Azure Subnet 總是少五個 IP

  為什麼 Azure Subnet 總是少五個 IP? 你是否曾經在 Azure 設定 Virtual Network (VNet) 時,發現即使精心規劃了 IP 範圍,實際可用的 IP 卻比你計算的少 五個 ?這五個 IP 到底去哪了?是 Azure 偷走了嗎? 這個問題困擾了許多雲端工程師,尤其當你的 Subnet 設計較小時,這些消失的 IP 可能會影響服務部署。 Azure 官方說法:為什麼要保留五個 IP? 根據 Microsoft 官方文件 ,Azure 會保留 每個 Subnet 的前四個 IP 和最後一個 IP 。這些 IP 的用途如下: 第一個 IP - 網路位址 (Network Address) 這是整個 Subnet 的識別位址,不能指派給任何設備。 第二個 IP - Azure 預設閘道 (Default Gateway) 這是 Azure 內部的路由閘道,提供 Subnet 內的通訊能力。 第三個 IP - 內部 DNS 解析 Azure 會使用這個 IP 來提供內部 DNS 服務。 第四個 IP - Azure 預留位址 官方並未詳細說明用途,但可能為未來功能做準備。 最後一個 IP - Azure 內部服務專用 這個 IP 被 Azure 內部系統使用,無法指派給 VM 或其他資源。 這對 Subnet 設計有什麼影響? 因為 Azure 會自動保留這五個 IP,所以在規劃 Subnet 時,你需要計算「實際可用的 IP」,而不是理論上的 IP 數量。例如: /29 子網路 (8 個 IP)→ 可用 IP 3 個 (8 - 5 = 3) /28 子網路 (16 個 IP)→ 可用 IP 11 個 (16 - 5 = 11) /27 子網路 (32 個 IP)→ 可用 IP 27 個 (32 - 5 = 27) 如果你的 Subnet 太小,可能會導致資源無法順利分配。例如,Kubernetes Service (AKS) 需要較多的 IP 空間,若沒有提前考量這些保留 IP,可能會導致 Pod 無法分配到可用 IP。 如何避免 IP 不足的問題? 如果你發現 Subnet 的可用 IP 不足,可以考慮以下解決方案: 使用較大的 Subnet (如...

Azure vs. AWS: 為什麼 Azure 無法指定 Subnet 的可用區 (AZ)?

Azure vs. AWS: 為什麼 Azure 無法指定 Subnet 的可用區 (AZ)? 如果你是 AWS 的使用者,可能已經習慣了在建立 Subnet 時指定可用區 (Availability Zone, AZ)。但當你轉戰 Azure,可能會發現 「咦?Azure 竟然無法讓 Subnet 綁定到特定的 AZ?」 😲 這到底是為什麼?Azure 設計上有什麼不同?它的優勢又在哪裡?今天我們就來解開這個迷思!🔍 在 AWS 中,每個 Subnet 都是 「專屬於某個 AZ」 Subnet 綁定 AZ :你建立的 Subnet 只能存在於特定的 AZ。 AZ 掛掉,影響有限 :如果某個 AZ 出現故障,只有該 AZ 內的 Subnet 和資源會受影響,其他 AZ 依然健在! 手動控制架構 :你可以 手動 在不同 AZ 中建立 Subnet,來達到更細緻的可用性管理。 AWS CLI 建立 Subnet(範例) aws ec2 create-subnet \ --vpc-id vpc-12345678 \ --cidr-block 10.0.1.0/24 \ --availability-zone eu-central-1a 這樣一來,這個 Subnet 只會存在於 eu-central-1a ,所有部署在該 Subnet 的 EC2 也都會落在這個 AZ 內。 Azure:Subnets 是「Regional」而非「Zonable」 VNet(虛擬網路)是區域級的 :Azure 的虛擬網路 (VNet) 覆蓋整個區域 ,而不是被分割成不同的 AZ。 Subnet 也是區域級的 :Subnet 不會被限制在特定的 AZ,因此所有 AZ 都可以存取它。 可用區 (AZ) 是資源層級的設定 :例如,你可以讓 VM 指定在哪個 AZ 內,但它仍然可以使用同一個 Subnet。 Azure CLI 建立 VMs 到不同 AZ az vm create --name VM1 --resource-group RG-WestEurope \ --image UbuntuLTS --vnet-name AppVNet \ --subnet AppSubnet \ --zone 1 az vm create --nam...