Przykładowy przewodnik po infrastrukturze platformy Azure dla maszyn wirtualnych z systemem Linux
W tym artykule opisano tworzenie przykładowej infrastruktury aplikacji. Szczegółowo projektujemy infrastrukturę dla prostego magazynu lokalnego, który łączy wszystkie wytyczne i decyzje dotyczące konwencji nazewnictwa, zestawów dostępności, sieci wirtualnych i modułów równoważenia obciążenia oraz wdrażania maszyn wirtualnych.
Przykładowe obciążenie
Firma Adventure Works Cycles chce utworzyć aplikację sklepu online na platformie Azure, która składa się z następujących elementów:
- Dwa serwery nginx z frontonem klienta w warstwie internetowej
- Dwa serwery nginx przetwarzają dane i zamówienia w warstwie aplikacji
- Dwie serwery Bazy danych MongoDB są częścią klastra podzielonego na fragmenty na potrzeby przechowywania danych produktów i zamówień w warstwie bazy danych
- Dwa kontrolery domeny usługi Active Directory dla kont klientów i dostawców w warstwie uwierzytelniania
- Wszystkie serwery znajdują się w dwóch podsieciach:
- podsieć frontonu dla serwerów internetowych
- podsieć zaplecza dla serwerów aplikacji, klastra Bazy danych MongoDB i kontrolerów domeny
Przychodzący bezpieczny ruch internetowy musi być zrównoważony wśród serwerów internetowych, gdy klienci przeglądają sklep internetowy. Kolejność przetwarzania ruchu w postaci żądań HTTP z serwerów internetowych musi być zrównoważona obciążenie między serwerami aplikacji. Ponadto infrastruktura musi być zaprojektowana pod kątem wysokiej dostępności.
Wynikowy projekt musi zawierać:
- Subskrypcja i konto platformy Azure
- Pojedyncza grupa zasobów
- Dyski zarządzane platformy Azure
- Sieć wirtualna z dwiema podsieciami
- Zestawy dostępności dla maszyn wirtualnych z podobną rolą
- Maszyny wirtualne
Wszystkie powyższe zasady nazewnictwa są zgodne z następującymi konwencjami nazewnictwa:
- Cykle adventure works używają [obciążenia IT]-[location]-[zasób platformy Azure] jako prefiksu
- W tym przykładzie "azos" (Azure On-line Store) to nazwa obciążenia IT, a "use" (Wschodnie stany USA 2) to lokalizacja
- Sieci wirtualne używają AZOS-USE-VN[number]
- Zestawy dostępności używają azos-use-as-[role]
- Nazwy maszyn wirtualnych używają azos-use-vm-[vmname]
Subskrypcje i konta platformy Azure
Adventure Works Cycles korzysta z subskrypcji Enterprise o nazwie Adventure Works Enterprise Subscription w celu zapewnienia rozliczeń dla tego obciążenia IT.
Storage
Firma Adventure Works Cycles ustaliła, że powinna używać usługi Azure Dyski zarządzane. Podczas tworzenia maszyn wirtualnych używane są obie dostępne warstwy magazynowania:
- Magazyn w warstwie Standardowa dla serwerów internetowych, serwerów aplikacji i kontrolerów domeny oraz ich dysków danych.
- Magazyn w warstwie Premium dla serwerów klastra podzielonego na fragmenty bazy danych MongoDB i ich dysków danych.
Sieć wirtualna i podsieci
Ponieważ sieć wirtualna nie wymaga ciągłej łączności z siecią lokalną Adventure Work Cycles, zdecydowała się na sieć wirtualną tylko w chmurze.
Utworzyli sieć wirtualną tylko w chmurze z następującymi ustawieniami przy użyciu Azure Portal:
- Nazwa: AZOS-USE-VN01
- Lokalizacja: Wschodnie stany USA 2
- Przestrzeń adresowa sieci wirtualnej: 10.0.0.0/8
- Pierwsza podsieć:
- Nazwa: FrontEnd
- Przestrzeń adresowa: 10.0.1.0/24
- Druga podsieć:
- Nazwa: BackEnd
- Przestrzeń adresowa: 10.0.2.0/24
Zestawy dostępności
Aby zapewnić wysoką dostępność wszystkich czterech warstw sklepu online, firma Adventure Works Cycles zdecydowała się na cztery zestawy dostępności:
- azos-use-as-web dla serwerów internetowych
- azos-use-as-app dla serwerów aplikacji
- azos-use-as-db dla serwerów w klastrze podzielonym na fragmenty bazy danych MongoDB
- azos-use-as-dc dla kontrolerów domeny
Maszyny wirtualne
Firma Adventure Works Cycles zdecydowała się na następujące nazwy maszyn wirtualnych platformy Azure:
- azos-use-vm-web01 dla pierwszego serwera internetowego
- azos-use-vm-web02 dla drugiego serwera internetowego
- azos-use-vm-app01 dla pierwszego serwera aplikacji
- azos-use-vm-app02 dla drugiego serwera aplikacji
- azos-use-vm-db01 dla pierwszego serwera MongoDB w klastrze
- azos-use-vm-db02 dla drugiego serwera MongoDB w klastrze
- azos-use-vm-dc01 dla pierwszego kontrolera domeny
- azos-use-vm-dc02 dla drugiego kontrolera domeny
Oto wynikowa konfiguracja.
Ta konfiguracja obejmuje:
- Sieć wirtualna tylko w chmurze z dwiema podsieciami (FrontEnd i BackEnd)
- Usługa Azure Dyski zarządzane z użyciem dysków w warstwie Standardowa i Premium
- Cztery zestawy dostępności— jeden dla każdej warstwy magazynu online
- Maszyny wirtualne dla czterech warstw
- Zewnętrzny zestaw równoważenia obciążenia dla ruchu internetowego opartego na protokole HTTPS z Internetu do serwerów internetowych
- Zestaw z wewnętrznym równoważeniem obciążenia dla niezaszyfrowanego ruchu internetowego z serwerów internetowych do serwerów aplikacji
- Pojedyncza grupa zasobów