簡體   English   中英

Azure VM 元數據丟失 / 空 publicIpAddress

[英]Azure VM metadata missing / emtpy publicIpAddress

在 Azure VM 上查詢元數據時,publicIpAddress 沒有任何值,即使機器是公共 IP。

curl -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2019-11-01"

為 publicIpAddress 返回一個空字符串

{
  "compute": {
    // ... Omitted for brevity
  },
  "network": {
    "interface": [
      {
        "ipv4": {
          "ipAddress": [
            {
              "privateIpAddress": "10.3.0.4",
              "publicIpAddress": ""
            }
          ],
         // ... Rest has been omitted for brevity

有誰知道為什么? 我檢查了https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service ,但找不到公共 IP 地址不顯示的任何原因

我相信您的公共 IP 地址是 Standard SKU 而不是 Basic SKU,不支持實例元數據服務。

來自MSDN

使用實例元數據服務 IMDS 時,僅具有基本 SKU 的公共 IP 地址可用。 不支持標准 SKU。

GitHub 問題也有更多信息。

我還使用基本和標准 SKU 的公共 IP 地址對此進行了測試,標准 SKU 在查詢實例元數據實例 API 時會為您提供"publicIpAddress":""

解決方案

為了能夠使用實例元數據服務,您需要使用Basic SKU公共 IP 地址。 一旦創建了公共 IP 地址,您就無法更改 SKU,如MSDN中突出顯示的那樣。

相反,您可以首先將您的Standard SKU公共 IP 地址實例與您的虛擬機網絡接口取消關聯,創建一個新的公共 IP 地址與Basic SKU ,然后將此公共 ZA12A3079E14CED426E69BA52B8A9 地址與您的虛擬機網絡接口相關聯。 這是必需的,因為網絡接口只能有一個與其關聯的公共 IP 地址。

檢查公共 IP 地址 SKU

您可以從 Azure PowerShell 命令運行Get-AzPublicIpAddress來檢查您的公共地址 SKU:

(Get-AzPublicIpAddress -Name "PUBLIC-IP-NAME" -ResourceGroupName "RESOURCE-GROUP").Sku.Name

或者,如果您願意,可以使用 Azure CLI 中az network public-ip show

az network public-ip show -n "PUBLIC-IP-NAME" -g "RESOURCE-GROUP" --query "sku.name"

或者只是通過 Azure 門戶網站導航到您的公共 IP 地址實例進行檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM