Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✔️ maszyny wirtualne z systemem Windows
Maszyny wirtualne platformy Azure używają sieci platformy Azure do komunikacji wewnętrznej i zewnętrznej sieci. W tym samouczku przedstawiono wdrażanie dwóch maszyn wirtualnych i konfigurowanie sieci platformy Azure dla tych maszyn wirtualnych. W przykładach w tym samouczku założono, że maszyny wirtualne hostują aplikację internetową z zapleczem bazy danych, jednak aplikacja nie jest wdrażana w samouczku. Z tego samouczka dowiesz się, jak wykonywać następujące działania:
- Tworzenie sieci wirtualnej i podsieci
- Tworzenie publicznego adresu IP
- Utwórz maszynę wirtualną frontend
- Zabezpieczanie ruchu sieciowego
- Utwórz maszynę wirtualną back-end
Omówienie sieci maszyn wirtualnych
Sieci wirtualne platformy Azure umożliwiają bezpieczne połączenia sieciowe między maszynami wirtualnymi, Internetem i innymi usługami platformy Azure, takimi jak Azure SQL Database. Sieci wirtualne są podzielone na segmenty logiczne nazywane podsieciami. Podsieci służą do kontrolowania przepływu sieci i jako granicy zabezpieczeń. Podczas wdrażania maszyny wirtualnej zazwyczaj zawiera ona interfejs sieciowy wirtualny, który jest dołączony do podsieci.
Podczas wykonywania czynności opisanych w tym samouczku można zobaczyć utworzone zasoby:
- myVNet — sieć wirtualna używana przez maszyny wirtualne do komunikowania się ze sobą i z Internetem.
- myFrontendSubnet — podsieć w sieci myVNet używanej przez zasoby frontonu.
- myPublicIPAddress — publiczny adres IP używany do uzyskiwania dostępu do maszyny myFrontendVM z Internetu.
- myFrontendNic — interfejs sieciowy używany przez maszynę myFrontendVM do komunikowania się z maszyną myBackendVM.
- myFrontendVM — maszyna wirtualna używana do komunikacji między Internetem a maszyną wirtualną myBackendVM.
- myBackendNSG — sieciowa grupa zabezpieczeń, która kontroluje komunikację między maszyną myFrontendVM i maszyną myBackendVM.
- myBackendSubnet — podsieć skojarzona z usługą myBackendNSG i używana przez zasoby zaplecza.
- myBackendNic — interfejs sieciowy używany przez maszynę myBackendVM do komunikowania się z maszyną myFrontendVM.
- myBackendVM — maszyna wirtualna używająca portu 1433 do komunikacji z maszyną wirtualną myFrontendVM.
Uruchamianie usługi Azure Cloud Shell
Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule. Ma on typowe narzędzia platformy Azure wstępnie zainstalowane i skonfigurowane do użycia z kontem.
Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również uruchomić usługę Cloud Shell w oddzielnej karcie przeglądarki, przechodząc do strony https://shell.azure.com/powershell. Wybierz przycisk Kopiuj, aby skopiować bloki kodu, wklej je do usługi Cloud Shell, a następnie naciśnij klawisz Enter, aby je uruchomić.
Tworzenie podsieci
W tym samouczku utworzymy pojedynczą sieć wirtualną z dwiema podsieciami. Podsieć frontonu do hostowania aplikacji internetowej oraz podsieć zaplecza do hostowania serwera bazy danych.
Przed utworzeniem sieci wirtualnej utwórz grupę zasobów za pomocą New-AzResourceGroup. Poniższy przykład tworzy grupę zasobów o nazwie myRGNetwork w lokalizacji EastUS :
New-AzResourceGroup -ResourceGroupName myRGNetwork -Location EastUS
Utwórz konfigurację podsieci o nazwie myFrontendSubnet przy użyciu polecenia New-AzVirtualNetworkSubnetConfig:
$frontendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myFrontendSubnet `
-AddressPrefix 10.0.0.0/24
Utwórz konfigurację podsieci o nazwie myBackendSubnet:
$backendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.0.1.0/24
Tworzenie sieci wirtualnej
Utwórz sieć wirtualną o nazwie myVNet z użyciem podsieci myFrontendSubnet i myBackendSubnet, korzystając z polecenia New-AzVirtualNetwork:
$vnet = New-AzVirtualNetwork `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myVNet `
-AddressPrefix 10.0.0.0/16 `
-Subnet $frontendSubnet, $backendSubnet
W tym momencie sieć została utworzona i podzielona na dwie podsieci, jedną dla usług frontonu i drugą dla usług zaplecza. W następnej sekcji maszyny wirtualne są tworzone i połączone z tymi podsieciami.
Tworzenie publicznego adresu IP
Publiczny adres IP umożliwia dostęp do zasobów platformy Azure w Internecie. Metodę alokacji publicznego adresu IP można skonfigurować jako dynamiczną lub statyczną. Domyślnie publiczny adres IP jest przydzielany dynamicznie. Dynamiczne adresy IP są zwalniane po wyłączeniu maszyny wirtualnej. To zachowanie powoduje zmianę adresu IP podczas każdej operacji obejmującej dealokację maszyny wirtualnej.
Można ustawić metodę alokacji na statyczną, co gwarantuje, że adres IP pozostaje przypisany do maszyny wirtualnej, nawet gdy jest w stanie deaktywacji. Jeśli używasz statycznego adresu IP, nie można określić samego adresu IP. Zamiast tego jest przydzielana z puli dostępnych adresów.
Utwórz publiczny adres IP o nazwie myPublicIPAddress przy użyciu polecenia New-AzPublicIpAddress:
$pip = New-AzPublicIpAddress `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-AllocationMethod Dynamic `
-Name myPublicIPAddress
Możesz zmienić parametr -AllocationMethod na Static, aby przypisać statyczny publiczny adres IP.
Utwórz maszynę wirtualną interfejsu użytkownika
Aby maszyna wirtualna komunikowała się w sieci wirtualnej, potrzebuje wirtualnego interfejsu sieciowego (NIC). Utwórz kartę sieciową przy użyciu New-AzNetworkInterface:
$frontendNic = New-AzNetworkInterface `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myFrontend `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id
Ustaw nazwę użytkownika i hasło wymagane dla konta administratora na maszynie wirtualnej przy użyciu polecenia Get-Credential. Te poświadczenia służą do nawiązywania połączenia z maszyną wirtualną w dodatkowych krokach:
$cred = Get-Credential
Utwórz VM-y za pomocą New-AzVM.
New-AzVM `
-Credential $cred `
-Name myFrontend `
-PublicIpAddressName myPublicIPAddress `
-ResourceGroupName myRGNetwork `
-Location "EastUS" `
-Size Standard_D1 `
-SubnetName myFrontendSubnet `
-VirtualNetworkName myVNet
Zabezpieczanie ruchu sieciowego
Sieciowa grupa zabezpieczeń zawiera listę reguł zabezpieczeń, które zezwalają lub nie zezwalają na ruch sieciowy do zasobów połączonych z sieciami wirtualnymi platformy Azure. NSGs (Sieciowe Grupy Zabezpieczeń) mogą być skojarzone z podsieciami lub poszczególnymi interfejsami sieciowymi. Sieciowa grupa zabezpieczeń skojarzona z interfejsem sieciowym ma zastosowanie tylko do skojarzonej maszyny wirtualnej. Jeśli sieciowa grupa zabezpieczeń jest skojarzona z podsiecią, te reguły są stosowane do wszystkich zasobów połączonych z tą podsiecią.
Reguły sieciowych grup zabezpieczeń
Reguły NSG definiują porty sieciowe, dla których ruch jest dozwolony lub blokowany. Reguły mogą zawierać zakresy źródłowych i docelowych adresów IP, aby ruch był kontrolowany między określonymi systemami lub podsieciami. Reguły grupy zabezpieczeń sieciowych obejmują również priorytet (od 1 do 4096). Reguły są oceniane w kolejności priorytetu. Reguła z priorytetem 100 jest oceniana przed regułą z priorytetem 200.
Wszystkie NSG zawierają zestaw reguł domyślnych. Nie można usunąć reguł domyślnych, ale ponieważ mają przypisany najniższy priorytet, można je zastąpić utworzonymi regułami.
- Sieć wirtualna — ruch pochodzący i kończący się w sieci wirtualnej jest dozwolony zarówno w kierunkach przychodzących, jak i wychodzących.
- Internet — ruch wychodzący jest dozwolony, ale ruch przychodzący jest blokowany.
- Moduł równoważenia obciążenia — umożliwia modułowi równoważenia obciążenia platformy Azure sondowanie kondycji maszyn wirtualnych i wystąpień ról. Jeśli nie używasz zestawu z równoważeniem obciążenia, możesz zastąpić tę regułę.
Tworzenie sieciowych grup zabezpieczeń
Utwórz regułę ruchu przychodzącego o nazwie myFrontendNSGRule , aby zezwolić na przychodzący ruch internetowy na maszynie myFrontendVM przy użyciu polecenia New-AzNetworkSecurityRuleConfig:
$nsgFrontendRule = New-AzNetworkSecurityRuleConfig `
-Name myFrontendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access Allow
Ruch wewnętrzny do maszyny wirtualnej myBackendVM można ograniczyć do ruchu tylko z maszyny wirtualnej myFrontendVM, tworząc grupę zabezpieczeń sieciowych dla podsieci zaplecza. Poniższy przykład tworzy regułę grupy zabezpieczeń sieciowych o nazwie myBackendNSGRule:
$nsgBackendRule = New-AzNetworkSecurityRuleConfig `
-Name myBackendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix 10.0.0.0/24 `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 1433 `
-Access Allow
Dodaj sieciową grupę zabezpieczeń o nazwie myFrontendNSG przy użyciu polecenia New-AzNetworkSecurityGroup:
$nsgFrontend = New-AzNetworkSecurityGroup `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myFrontendNSG `
-SecurityRules $nsgFrontendRule
Teraz dodaj sieciową grupę zabezpieczeń o nazwie myBackendNSG przy użyciu polecenia New-AzNetworkSecurityGroup:
$nsgBackend = New-AzNetworkSecurityGroup `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myBackendNSG `
-SecurityRules $nsgBackendRule
Dodaj sieciowe grupy zabezpieczeń do podsieci:
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myRGNetwork `
-Name myVNet
$frontendSubnet = $vnet.Subnets[0]
$backendSubnet = $vnet.Subnets[1]
$frontendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myFrontendSubnet `
-AddressPrefix $frontendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgFrontend
$backendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myBackendSubnet `
-AddressPrefix $backendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgBackend
Set-AzVirtualNetwork -VirtualNetwork $vnet
Utwórz maszynę wirtualną zaplecza
Najprostszym sposobem utworzenia maszyny wirtualnej zaplecza na potrzeby tego samouczka jest użycie obrazu programu SQL Server. Ten samouczek tworzy maszynę wirtualną tylko z serwerem bazy danych, ale nie udostępnia informacji na temat uzyskiwania dostępu do bazy danych.
Utwórz myBackendNic:
$backendNic = New-AzNetworkInterface `
-ResourceGroupName myRGNetwork `
-Location EastUS `
-Name myBackend `
-SubnetId $vnet.Subnets[1].Id
Ustaw nazwę użytkownika i hasło wymagane dla konta administratora na maszynie wirtualnej przy użyciu polecenia Get-Credential:
$cred = Get-Credential
Utwórz maszynę wirtualną myBackendVM.
New-AzVM `
-Credential $cred `
-Name myBackend `
-ImageName "MicrosoftSQLServer:SQL2016SP1-WS2016:Enterprise:latest" `
-ResourceGroupName myRGNetwork `
-Location "EastUS" `
-SubnetName MyBackendSubnet `
-VirtualNetworkName myVNet
Obraz w tym przykładzie ma zainstalowany program SQL Server, ale nie jest używany w tym samouczku. Zawiera ona pokazanie, jak skonfigurować maszynę wirtualną do obsługi ruchu internetowego i maszyny wirtualnej do obsługi zarządzania bazami danych.
Następne kroki
Podczas tego samouczka stworzyłeś i zabezpieczyłeś sieci Azure związane z maszynami wirtualnymi.
- Tworzenie sieci wirtualnej i podsieci
- Tworzenie publicznego adresu IP
- Utwórz maszynę wirtualną front-endu
- Zabezpieczanie ruchu sieciowego
- Utwórz maszynę wirtualną na zapleczu
Aby dowiedzieć się więcej na temat ochrony dysków maszyny wirtualnej, zobacz Tworzenie kopii zapasowych i odzyskiwanie po awarii dla dysków.