Konfigurowanie wielu adresów VIP dla usługi w chmurze

Ważne

Usługa Azure Load Balancer obsługuje dwie warstwy: Podstawowa i Standardowa. W tym artykule omówiono usługę Load Balancer w warstwie Podstawowa. Aby uzyskać więcej informacji na temat usługa Load Balancer w warstwie Standardowa, zobacz omówienie usługa Load Balancer w warstwie Standardowa.

Dostęp do usług w chmurze platformy Azure można uzyskać za pośrednictwem publicznego Internetu przy użyciu adresu IP dostarczonego przez platformę Azure. Ten publiczny adres IP jest określany jako adres VIP (wirtualny adres IP), ponieważ jest połączony z modułem równoważenia obciążenia platformy Azure, a nie wystąpieniami maszyny wirtualnej w usłudze w chmurze. Dostęp do dowolnego wystąpienia maszyny wirtualnej w usłudze w chmurze można uzyskać przy użyciu jednego adresu VIP.

Istnieją jednak scenariusze, w których może być potrzebnych więcej niż jeden adres VIP jako punkt wejścia do tej samej usługi w chmurze. Na przykład usługa w chmurze może hostować wiele witryn internetowych, które wymagają łączności SSL przy użyciu domyślnego portu 443, ponieważ każda witryna jest hostowana dla innego klienta lub dzierżawy. W tym scenariuszu musisz mieć inny publiczny adres IP dla każdej witryny internetowej. Na poniższym diagramie przedstawiono typowy hosting internetowy z wieloma dzierżawami z koniecznością obsługi wielu certyfikatów SSL na tym samym porcie publicznym.

Scenariusz protokołu SSL z wieloma adresami VIP

W powyższym przykładzie wszyscy adresy VIP używają tego samego portu publicznego (443), a ruch jest przekierowywany do co najmniej jednej maszyny wirtualnej ze zrównoważonym obciążeniem na unikatowym porcie prywatnym dla wewnętrznego adresu IP usługi w chmurze hostowania wszystkich witryn internetowych.

Uwaga

Inna sytuacja wymagająca użycia wielu adresów VIP hostuje wiele odbiorników grupy dostępności SQL AlwaysOn w tym samym zestawie Virtual Machines.

Adresy VIP są domyślnie dynamiczne, co oznacza, że rzeczywisty adres IP przypisany do usługi w chmurze może ulec zmianie w czasie. Aby temu zapobiec, możesz zarezerwować adres VIP dla usługi. Aby dowiedzieć się więcej na temat zarezerwowanych adresów VIP, zobacz Zarezerwowany publiczny adres IP.

Uwaga

Zobacz Cennik adresów IP , aby uzyskać informacje na temat cen adresów VIP i zarezerwowanych adresów IP.

Za pomocą programu PowerShell można zweryfikować adresy VIP używane przez usługi w chmurze, a także dodać i usunąć adresy VIP, skojarzyć adresy VIP z punktem końcowym i skonfigurować równoważenie obciążenia na określonym adresie VIP.

Ograniczenia

Obecnie funkcja multi VIP jest ograniczona do następujących scenariuszy:

  • Tylko IaaS. Można włączyć tylko wiele adresów VIP dla usług w chmurze zawierających maszyny wirtualne. W scenariuszach PaaS nie można używać wielu adresów VIP z wystąpieniami ról.
  • Tylko program PowerShell. Za pomocą programu PowerShell można zarządzać tylko wieloma adresami VIP.

Te ograniczenia są tymczasowe i mogą ulec zmianie w dowolnym momencie. Pamiętaj, aby ponownie zapoznać się z tą stroną, aby zweryfikować przyszłe zmiany.

Jak dodać adres VIP do usługi w chmurze

Aby dodać adres VIP do usługi, uruchom następujące polecenie programu PowerShell:

Add-AzureVirtualIP -VirtualIPName Vip3 -ServiceName myService

To polecenie wyświetla wynik podobny do następującego przykładu:

OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
Add-AzureVirtualIP   4bd7b638-d2e7-216f-ba38-5221233d70ce Succeeded

Jak usunąć adres VIP z usługi w chmurze

Aby usunąć adres VIP dodany do usługi w powyższym przykładzie, uruchom następujące polecenie programu PowerShell:

Remove-AzureVirtualIP -VirtualIPName Vip3 -ServiceName myService

Ważne

Adres VIP można usunąć tylko wtedy, gdy nie ma skojarzonych z nim punktów końcowych.

Jak pobrać informacje o adresach VIP z usługi w chmurze

Aby pobrać adresy VIP skojarzone z usługą w chmurze, uruchom następujący skrypt programu PowerShell:

$deployment = Get-AzureDeployment -ServiceName myService
$deployment.VirtualIPs

Skrypt wyświetla wynik podobny do następującego przykładu:

Address         : 191.238.74.148
IsDnsProgrammed : True
Name            : Vip1
ReservedIPName  :
ExtensionData   :

Address         :
IsDnsProgrammed :
Name            : Vip2
ReservedIPName  :
ExtensionData   :

Address         :
IsDnsProgrammed :
Name            : Vip3
ReservedIPName  :
ExtensionData   :

W tym przykładzie usługa w chmurze ma 3 adresy VIP:

  • Vip1 jest domyślnym adresem VIP, wiesz, że ponieważ wartość isDnsProgrammedName jest ustawiona na true.
  • Adresy VIP2 i Vip3 nie są używane, ponieważ nie mają żadnych adresów IP. Będą one używane tylko w przypadku skojarzenia punktu końcowego z adresem VIP.

Uwaga

Twoja subskrypcja będzie naliczana tylko za dodatkowe adresy VIP po skojarzeniu ich z punktem końcowym. Aby uzyskać więcej informacji na temat cen, zobacz Cennik adresów IP.

Jak skojarzyć adres VIP z punktem końcowym

Aby skojarzyć adres VIP w usłudze w chmurze z punktem końcowym, uruchom następujące polecenie programu PowerShell:

Get-AzureVM -ServiceName myService -Name myVM1 |
    Add-AzureEndpoint -Name myEndpoint -Protocol tcp -LocalPort 8080 -PublicPort 80 -VirtualIPName Vip2 |
    Update-AzureVM

Polecenie tworzy punkt końcowy połączony z adresem VIP o nazwie Vip2 na porcie 80 i łączy go z maszyną wirtualną o nazwie myVM1 w usłudze w chmurze o nazwie myService przy użyciu protokołu TCP na porcie 8080.

Aby zweryfikować konfigurację, uruchom następujące polecenie programu PowerShell:

$deployment = Get-AzureDeployment -ServiceName myService
$deployment.VirtualIPs

Dane wyjściowe wyglądają podobnie do następującego przykładu:

Address         : 191.238.74.148
IsDnsProgrammed : True
Name            : Vip1
ReservedIPName  :
ExtensionData   :

Address         : 191.238.74.13
IsDnsProgrammed :
Name            : Vip2
ReservedIPName  :
ExtensionData   :

Address         :
IsDnsProgrammed :
Name            : Vip3
ReservedIPName  :
ExtensionData   :

Jak włączyć równoważenie obciążenia dla określonego adresu VIP

Do celów równoważenia obciążenia można skojarzyć pojedynczy adres VIP z wieloma maszynami wirtualnymi. Na przykład masz usługę w chmurze o nazwie myService i dwie maszyny wirtualne o nazwie myVM1 i myVM2. Usługa w chmurze ma wiele adresów VIP, a jedna z nich nosi nazwę Vip2. Jeśli chcesz upewnić się, że cały ruch do portu 81 na vip2 jest zrównoważony między myVM1 i myVM2 na porcie 8181, uruchom następujący skrypt programu PowerShell:

Get-AzureVM -ServiceName myService -Name myVM1 |
    Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet -Protocol tcp -LocalPort 8181 -PublicPort 81 -VirtualIPName Vip2 -DefaultProbe |
    Update-AzureVM

Get-AzureVM -ServiceName myService -Name myVM2 |
    Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet -Protocol tcp -LocalPort 8181 -PublicPort 81 -VirtualIPName Vip2  -DefaultProbe |
    Update-AzureVM

Możesz również zaktualizować moduł równoważenia obciążenia, aby użyć innego adresu VIP. Jeśli na przykład uruchomisz poniższe polecenie programu PowerShell, zmienisz ustawienie równoważenia obciążenia tak, aby używało adresu VIP o nazwie Vip1:

Set-AzureLoadBalancedEndpoint -ServiceName myService -LBSetName myLBSet -VirtualIPName Vip1

Następne kroki

Dzienniki usługi Azure Monitor dla usługi Azure Load Balance

Omówienie modułu równoważenia obciążenia połączonego z Internetem

Wprowadzenie do modułu równoważenia obciążenia dostępnego z Internetu

omówienie Virtual Network

Zarezerwowane interfejsy API REST adresów IP