2013-04-20 14 views
7

Zawsze używałem normalnego publicznego adresu IP do komunikacji między moją maszyną wirtualną. Jednak, jak widzę na portalu, istnieje INTERNAL ADRES IP i zastanawiam się, jakie jest jego praktyczne zastosowanie?Windows Azure - Jaki jest pożytek z wewnętrznego adresu IP?

Czy korzystanie z tego wewnętrznego adresu IP do komunikacji między maszynami wirtualnymi byłoby szybsze? Czy jest to ograniczone do maszyny wirtualnej w tym samym geo-regionie?

Odpowiedz

12

W przypadku maszyn wirtualnych używa się zewnętrznego adresu IP (wejściowe punkty końcowe lub punkty wejściowe wejścia instancji) do komunikacji zewnętrznej. Ten pierwszy jest równoważony obciążeniem, podczas gdy drugi jest odwzorowywany bezpośrednio na konkretną instancję maszyny wirtualnej.

W ramach wdrożenia w chmurze możesz mieć kilka maszyn wirtualnych. Każdy z nich może rozmawiać bezpośrednio ze sobą przez IP/port. Każdej maszynie wirtualnej zostanie przypisany adres IP lokalny do sieci wdrożenia w chmurze (tzn. Adresy IP będą lokalne dla wdrożenia, nie będzie można rozmawiać z innymi maszynami wirtualnymi, chyba że skonfigurowana jest sieć wirtualna).

Zaletą bezpośredniego IP wewnętrznie: Nie trzeba włączać żadnego rodzaju zabezpieczeń. Na przykład: jeśli masz usługę WCF, do której masz dostęp tylko wewnętrznie, nie musisz się martwić o SSL, certyfikaty itp.

Jedno wyjaśnienie dotyczące działania, z odpowiedzi @ Eilistraee: Nie ma żadnych kar za komunikowanie się z zewnętrzny adres IP. Gdy żądanie zostanie skierowane do centrum danych, połączenie nie opuści centrum danych. Ponadto: tak długo, jak twoja komunikacja odbywa się między maszynami wirtualnymi w tym samym centrum danych, nie ma kosztów ruchu wychodzącego.

Teraz: Dzięki roli Web/Worker w usługach w chmurze nie masz carte blanche, aby rozmawiać z dowolnym adresem IP wewnętrznie. Zamiast tego definiujesz konkretne wewnętrzne punkty końcowe, które ostatecznie mapują do konkretnego portu w twojej sieci lub instancjach pracowniczych (a każde wystąpienie roli internetowej lub robotniczej będzie nasłuchiwało na tym samym porcie, chociaż twój kod będzie musiał ręcznie wybrać, który web/pracownik wystąpienie, aby porozmawiać o tym wewnętrznym punkcie końcowym).

+0

Dziękuję bardzo za tę odpowiedź. To jest dobre. I zakładam, że jeśli wykonasz połączenie do zrównoważonej nazwy hosta, otrzymasz takie samo zachowanie? – Eilistraee

+0

Jeśli nawiążesz połączenie z nazwą hosta o numerze portu skonfigurowanym jako port równoważony obciążeniem, będzie to równoważone obciążeniem na różnych maszynach wirtualnych (może to być coś takiego jak mysite.cloudapp.net lub mysite.cloudapp.net :10000). Jeśli jest to punkt końcowy instancji wejściowej, np. port 7474 mapuje do jednego konkretnego serwera, wtedy nie byłoby żadnego równoważenia obciążenia (więc może twój serwer db jest dostępny przez mysite.cloudapp.net:7474, który kieruje się do jednego dokładnie vm). –

Powiązane problemy