2017-07-24 83 views
-2

Azure應用程序網關不允許關聯靜態公共IP。但是,這是一個非常痛苦的限制,因爲DNS記錄應該只使用CNAME,並且不能爲根域定義CNAME(參見RFC1034),或者它可以是域的唯一記錄。這意味着:沒有郵件服務器的域名,沒有TXT記錄,...如何克服Azure應用程序網關的靜態公共IP限制

這有瘋狂的副作用:比方說,我想使用「應用服務證書」,並從Azure獲得SSL證書..驗證步驟要求我定義一個新的TXT記錄。我不能... 其他情況:如果我想在此域上設置郵件服務器:我不能!因爲沒有MX記錄可以在與CNAME相同的域上配置。

Azure建議使用Load Balancer,如果需要使用靜態IP。但是,我在AppGateway中使用基於路徑的規則,並且Load Balancer服務無法執行此操作。

此外,我不確定將負載平衡器設置在應用程序網關的前面是否有用。因爲我真的需要負載平衡的一天,所以我會使用AppGateway的LB功能(而負載平衡器仍然只會與AppGateway通話)。

所以我想知道在生產中使用Application Gateway時建議採用哪種最佳實踐。

編輯:我注意到一個解釋here告訴Azure負載平衡器不能面對Azure應用程序網關。所以問題變得更加複雜:網關沒有靜態IP,所以沒有DNS'A'記錄,所以只有DNS CNAME,所以沒有其他DNS記錄比這個域的CNAME ...

+0

爲什麼dns只能使用cname? – 4c74356b41

+0

這是Azure的建議:「VIP可以在網關停止並由客戶啓動時更改,與Application Gateway關聯的DNS在網關的生命週期中不會改變,因此建議使用CNAME別名並將其指向應用程序網關的DNS地址。「換句話說:如果我使用A記錄而不是CNAME,則每次更新AppGateway配置時,我的網站都將無法使用。 – user3848475

回答

0

我碰到過這個同樣的問題,但能夠直接把這個到一個Azure工程師,誰解釋說,靜態IP是不可能的原因是由於困難,這將使故障轉移機制的工作。

當您部署App Gateway資源時,實際上是在啓動兩個實例,一個是主要故障轉移(故障轉移)。使用DNS名稱而不是靜態IP可確保Azure在需要時可將流量路由到故障轉移。