9

有沒有人知道是否可以獲得Windows Azure上Web或Worker角色的靜態IP地址(可能只在私人測試版中)?Windows Azure中角色的靜態IP地址?

+1

1。這是一段時間以來的最高要求(當WAz首次發佈時,這是一個重要的要求)。當然,如果你永遠不刪除部署(只有升級和VIP交換),你可以在某種程度上依賴你獲得的VIP地址。但是,即使這樣也沒有真正的保證。 – dunnry

+1

Dunnry,我們過去曾嘗試過,即使不升級(我懷疑主要Azure Fabric升級對此產生影響),某個角色的IP地址也會不時發生變化。 –

回答

7

幾年後,Azure現在允許您爲VM和雲服務(Web和Worker角色)預留IP地址。但是,它只能從PowerShell中暫時訪問(顯然,這將在未來發生變化)。

前五個靜態IP地址是空閒的。要創建IP,您需要確保您擁有最新版本的Azure PowerShell command-line interface,並且還將Azure帳戶鏈接到Azure PowerShell(不屬於本文的範圍但不難)。

要在PowerShell中創建一個新的IP:

$ReservedIP = New-AzureReservedIP -ReservedIPName "FirewallIP" -Label "WebAppFirewallIP" -Location "Japan West" 

將它與虛擬機相關聯:

New-AzureVMConfig -Name "WebAppVM" -InstanceSize Small -ImageName $images[60].ImageName | Add-AzureProvisioningConfig -Windows -AdminUsername cloudguy -Password Abc123 | New-AzureVM -ServiceName "WebApp" –ReservedIPName $ReservedIP -Location "Japan West" 

要插入新的IP到Web或工作者角色(如果工作角色具有外部端點),請將以下內容添加到ServiceConfiguration.Cloud.cscfg:

<ServiceConfiguration> 
    <NetworkConfiguration> 
    <AddressAssignments> 
     <ReservedIPs> 
     <ReservedIP name="<reserved-ip-name>"/> 
     </ReservedIPs> 
    </AddressAssignments> 
    </NetworkConfiguration> 
</ServiceConfiguration> 

要隨時查看IP:

Get-AzureReservedIP -ReservedIPName "FirewallIP" 

來源:Documentation

+0

任何人都有工作者角色配置經驗?我將上面的配置文件添加到了我的cscfg(其中3個工作角色),並且當我部署時,我得到了「驗證錯誤:驗證.cscfg文件對.csdef文件出錯。嚴重性:錯誤,消息:ReservedIP''沒有映射到端點,服務定義必須包含映射到ReservedIP的至少一個端點。「 – veggerby

+1

@veggerby工作者角色默認情況下沒有外部(面向公衆)端點。我編輯了我的答案,使之更清晰。然而,有一個好消息,那就是有可能,但你需要先自己設置一個端點。我無法說出如何設置它,因爲我從來沒有這樣做過,但下面是一篇MSDN文章,希望能夠指引您朝着正確的方向發展:http://msdn.microsoft.com/zh-cn/library/ hh180158.aspx。 – user1393477

+0

它不會是虛擬端點,因爲在輔助角色中默認沒有端點,所以它不能接收傳入連接。這是有道理的,因爲工作者角色被設計爲獲取工作,處理它並繼續前進,而不是從Internet接收連接(這是Web角色的工作)。如果您需要與工作人員交談(並通過靜態IP),則需要首先公開端點。否則,它無法接收外部連接。 – user1393477

3

不幸的是,目前這是不可能的......如果您需要進行基於IP的訪問控制,您可以打開支持電話並請求給定數據中心的當前IP地址範圍,但不存在真正保證它不會隨着時間而改變。

7

這個故事有一個更新。早在2011年10月,微軟宣佈改進現有部署服務的就地更新(公告here)。您現在可以通過多種方式更新部署,而不必更改分配的IP地址。例如:

  • 放大/縮小角色大小
  • 增加本地存儲大小
  • 更改端點
  • 添加/刪除角色

一旦你部署:只要你不刪除您的部署,您的IP地址將保持原樣。

+0

儘管我們的開發人員意外地檢查了VS中的方框,但這是一個重大改進。「如果部署無法更新,請執行完整部署」。這刪除了我們的部署併發布了一個新的IP,所以我們必須用我們的DNS主機來更改A記錄。幸運的是,我們當時只是在測試Azure,但它本來是一個令人頭痛的問題。我們後來發現我們的DNS主機支持通配符CNAMES,所以這對我們來說不再是一個問題。 – QFDev