Uruchamianie maszyny wirtualnej z systemem Linux na platformie AzureRun a Linux virtual machine on Azure

Inicjowanie obsługi maszyny wirtualnej na platformie Azure wymaga pewnych dodatkowych składników oprócz samej maszyny wirtualnej, w tym zasobów sieciowych i magazynu.Provisioning a virtual machine (VM) in Azure requires some additional components besides the VM itself, including networking and storage resources. W tym artykule przedstawiono najlepsze rozwiązania dotyczące uruchamiania maszyny wirtualnej z systemem Linux na platformie Azure.This article shows best practices for running a Linux VM on Azure.

Maszyna wirtualna z systemem Linux na platformie Azure

Grupa zasobówResource group

Grupa zasobów jest kontenerem logicznym, który zawiera powiązane zasoby platformy Azure.A resource group is a logical container that holds related Azure resources. Ogólnie rzecz biorąc, zasoby grupy na podstawie ich okresu istnienia i zarządzania nimi.In general, group resources based on their lifetime and who will manage them.

Umieść ściśle skojarzone zasoby, które współużytkują ten sam cykl życia w tej samej grupie zasobów.Put closely associated resources that share the same lifecycle into the same resource group. Grupy zasobów umożliwiają wdrażanie i monitorowanie zasobów jako grupy oraz śledzenie kosztów według grupy zasobów.Resource groups allow you to deploy and monitor resources as a group and track billing costs by resource group. Możesz również usunąć zasoby jako zestaw, który jest przydatny w przypadku wdrożeń testowych.You can also delete resources as a set, which is useful for test deployments. Przypisuj zrozumiałe nazwy zasobów, aby uprościć znajdowanie określonego zasobu i rozumienie jego roli.Assign meaningful resource names to simplify locating a specific resource and understanding its role. Aby uzyskać więcej informacji, zobacz zalecane konwencje nazewnictwa dla zasobów platformy Azure.For more information, see Recommended Naming Conventions for Azure Resources.

Maszyna wirtualnaVirtual machine

Możesz aprowizować maszynę wirtualną za pomocą listy opublikowanych obrazów, niestandardowego obrazu zarządzanego lub pliku wirtualnego dysku twardego (VHD), który został przekazany do usługi Azure Blob Storage.You can provision a VM from a list of published images, or from a custom managed image or virtual hard disk (VHD) file uploaded to Azure Blob storage. Platforma Azure obsługuje różne popularne dystrybucje systemu Linux, w tym CentOS, Debian, Red Hat Enterprise, Ubuntu i FreeBSD.Azure supports running various popular Linux distributions, including CentOS, Debian, Red Hat Enterprise, Ubuntu, and FreeBSD. Aby uzyskać więcej informacji, zobacz Azure i Linux.For more information, see Azure and Linux.

Platforma Azure oferuje różne rozmiary maszyny wirtualnej.Azure offers many different virtual machine sizes. Aby uzyskać więcej informacji, zobacz rozmiary maszyn wirtualnych na platformie Azure.For more information, see Sizes for virtual machines in Azure. Jeśli przenosisz istniejące obciążenie na platformę Azure, rozpocznij od rozmiaru maszyny wirtualnej, który najlepiej pasuje do Twoich serwerów lokalnych.If you are moving an existing workload to Azure, start with the VM size that's the closest match to your on-premises servers. Następnie Zmierz wydajność rzeczywistego obciążenia pod kątem procesora CPU, pamięci i operacji wejścia/wyjścia dysku na sekundę (IOPS) i Dostosuj rozmiar w miarę potrzeb.Then measure the performance of your actual workload in terms of CPU, memory, and disk input/output operations per second (IOPS), and adjust the size as needed.

Ogólnie rzecz biorąc, wybierz region świadczenia usługi Azure znajdujący się najbliżej Twoich użytkowników wewnętrznych lub klientów.Generally, choose an Azure region that is closest to your internal users or customers. Nie wszystkie rozmiary maszyn wirtualnych są dostępne we wszystkich regionach.Not all VM sizes are available in all regions. Aby uzyskać więcej informacji, zobacz usługi według regionów.For more information, see Services by region. Aby uzyskać listę dostępnych rozmiarów maszyn wirtualnych w określonym regionie, uruchom następujące polecenie w interfejsie wiersza polecenia platformy Azure:For a list of the VM sizes available in a specific region, run the following command from the Azure CLI:

az vm list-sizes --location <location>

Aby uzyskać informacje o wybieraniu opublikowanego obrazu maszyny wirtualnej, zobacz Znajdowanie obrazów maszyn wirtualnych z systemem Linux.For information about choosing a published VM image, see Find Linux VM images.

DyskiDisks

Aby zapewnić najlepszą wydajność we/wy dysku, zalecamy Premium Storage, w którym są przechowywane dane na dyskach półprzewodnikowych (dysków SSD).For best disk I/O performance, we recommend Premium Storage, which stores data on solid-state drives (SSDs). Koszt jest oparty na pojemności aprowizowanego dysku.Cost is based on the capacity of the provisioned disk. Wartość IOPS i przepływność (to znaczy szybkość transferu danych) także zależą od rozmiaru dysku, dlatego podczas aprowizowania dysku należy uwzględnić wszystkie trzy czynniki (pojemność, operacje wejścia/wyjścia na sekundę i przepływność).IOPS and throughput (that is, data transfer rate) also depend on disk size, so when you provision a disk, consider all three factors (capacity, IOPS, and throughput).

Zalecamy również korzystanie z Managed disks.We also recommend using Managed Disks. Dyski zarządzane upraszczają zarządzanie dyskami przez obsługę magazynu.Managed disks simplify disk management by handling the storage for you. Dyski zarządzane nie wymagają konta magazynu.Managed disks do not require a storage account. Wystarczy określić rozmiar i typ dysku, który zostanie wdrożony jako zasób o wysokiej dostępności.You simply specify the size and type of disk and it is deployed as a highly available resource

Dysk systemu operacyjnego to plik VHD przechowywany w usłudze Azure Storage, dzięki czemu będzie trwał nawet wtedy, gdy maszyna hosta nie działa.The OS disk is a VHD stored in Azure Storage, so it persists even when the host machine is down. W przypadku maszyn wirtualnych z systemem Linux dyskiem systemu operacyjnego jest /dev/sda1.For Linux VMs, the OS disk is /dev/sda1. Zalecamy również utworzenie co najmniej jednego dysku z danymi, które są trwałych dysków VHD używanych na potrzeby danych aplikacji.We also recommend creating one or more data disks, which are persistent VHDs used for application data.

Po utworzeniu wirtualnego dysku twardego jest on niesformatowany.When you create a VHD, it is unformatted. Zaloguj się do maszyny wirtualnej, aby sformatować dysk.Log into the VM to format the disk. W powłoce systemu Linux dyski danych są wyświetlane jako /dev/sdc, /dev/sdd i tak dalej.In the Linux shell, data disks are displayed as /dev/sdc, /dev/sdd, and so on. Możesz uruchomić polecenie lsblk, aby wyświetlić urządzenia blokowe, w tym dyski.You can run lsblk to list the block devices, including the disks. Aby użyć dysku danych, utwórz partycję i system plików oraz zainstaluj dysk.To use a data disk, create a partition and file system, and mount the disk. Na przykład:For example:

# Create a partition.
sudo fdisk /dev/sdc     # Enter 'n' to partition, 'w' to write the change.

# Create a file system.
sudo mkfs -t ext3 /dev/sdc1

# Mount the drive.
sudo mkdir /data1
sudo mount /dev/sdc1 /data1

W przypadku dodania dysku danych zostanie do niego przypisany identyfikator numeru jednostki logicznej (LUN, logical unit number).When you add a data disk, a logical unit number (LUN) ID is assigned to the disk. Opcjonalnie można określić identyfikator LUN — na przykład przy wymianie dysku, aby zachować ten sam identyfikator LUN, lub jeśli używana aplikacja szuka konkretnego identyfikatora LUN.Optionally, you can specify the LUN ID — for example, if you're replacing a disk and want to retain the same LUN ID, or you have an application that looks for a specific LUN ID. Jednak należy pamiętać, że identyfikator LUN musi być unikatowy dla każdego dysku.However, remember that LUN IDs must be unique for each disk.

Można zmienić harmonogram we/wy, aby zoptymalizować wydajność dysków SSD, ponieważ dyski maszyn wirtualnych kont usługi Premium Storage to dyski SSD.You may want to change the I/O scheduler to optimize for performance on SSDs because the disks for VMs with premium storage accounts are SSDs. Ogólne zalecenie to użycie harmonogramu NOOP dla dysków SSD, ale należy użyć narzędzia, takiego jak iostat, do monitorowania wydajności we/wy dysku dla obciążenia.A common recommendation is to use the NOOP scheduler for SSDs, but you should use a tool such as iostat to monitor disk I/O performance for your workload.

Maszyna wirtualna jest tworzona razem z dyskiem tymczasowym.The VM is created with a temporary disk. Ten dysk jest przechowywany na dysku fizycznym maszyny hosta.This disk is stored on a physical drive on the host machine. Nie jest on zapisany w usłudze Azure Storage i może zostać usunięty podczas ponownego uruchamiania i innych zdarzeń cyklu życia maszyny wirtualnej.It is not saved in Azure Storage and may be deleted during reboots and other VM lifecycle events. Używaj tego dysku tylko dla danych tymczasowych, takich jak plik stronicowania lub plik wymiany.Use this disk only for temporary data, such as page or swap files. W przypadku maszyn wirtualnych z systemem Linux dysk tymczasowy to dysk /dev/sdb1 zainstalowany jako /mnt/resource lub /mnt.For Linux VMs, the temporary disk is /dev/sdb1 and is mounted at /mnt/resource or /mnt.

SiećNetwork

Składniki sieci obejmują następujące zasoby:The networking components include the following resources:

  • Sieć wirtualna.Virtual network. Każda maszyna wirtualna jest wdrażana w sieci wirtualnej, która może zostać ujęta w wiele podsieci.Every VM is deployed into a virtual network that can be segmented into multiple subnets.

  • Interfejs sieciowy (karta sieciowa) .Network interface (NIC). Karta sieciowa umożliwia maszynie wirtualnej komunikację z siecią wirtualną.The NIC enables the VM to communicate with the virtual network. Jeśli potrzebujesz wielu kart sieciowych dla maszyny wirtualnej, pamiętaj, że maksymalna liczba kart sieciowych jest zdefiniowana dla każdego rozmiaru maszyny wirtualnej.If you need multiple NICs for your VM, be aware that a maximum number of NICs is defined for each VM size.

  • Publiczny adres IP.Public IP address. Publiczny adres IP umożliwia komunikację z maszyną wirtualną — na przykład za pośrednictwem pulpitu zdalnego (RDP).A public IP address is needed to communicate with the VM — for example, via remote desktop (RDP). Publiczny adres IP może być dynamiczny lub statyczny.The public IP address can be dynamic or static. Domyślnie jest dynamiczny.The default is dynamic.

  • Zarezerwuj statyczny adres IP , jeśli potrzebujesz stałego adresu IP, który nie ulegnie zmianie — na przykład, jeśli musisz utworzyć rekord DNS "a" lub dodać adres IP do bezpiecznej listy.Reserve a static IP address if you need a fixed IP address that won't change — for example, if you need to create a DNS 'A' record or add the IP address to a safe list.

  • Można również utworzyć w pełni kwalifikowaną nazwę domeny (FQDN, fully qualified domain name) dla adresu IP.You can also create a fully qualified domain name (FQDN) for the IP address. Następnie można zarejestrować rekord CNAME w systemie DNS, który wskazuje na nazwę FQDN.You can then register a CNAME record in DNS that points to the FQDN. Aby uzyskać więcej informacji, zobacz Tworzenie w pełni kwalifikowanej nazwy domeny w Azure Portal.For more information, see Create a fully qualified domain name in the Azure portal.

  • Sieciowa grupa zabezpieczeń.Network security group (NSG). Sieciowe grupy zabezpieczeń służą do zezwalania na ruch sieciowy lub go odmawiają maszynom wirtualnym.Network security groups are used to allow or deny network traffic to VMs. Sieciowych grup zabezpieczeń można kojarzyć z podsieciami lub z poszczególnymi wystąpieniami maszyn wirtualnych.NSGs can be associated either with subnets or with individual VM instances.

Wszystkie sieciowych grup zabezpieczeń zawierają zestaw reguł domyślnych, w tym regułę blokującą cały ruch przychodzący do Internetu.All NSGs contain a set of default rules, including a rule that blocks all inbound Internet traffic. Nie można usunąć reguł domyślnych, ale inne reguły mogą je przesłonić.The default rules cannot be deleted, but other rules can override them. Aby włączyć ruch internetowy, utwórz reguły zezwalające na ruch przychodzący do określonych portów — na przykład portu 80 dla protokołu HTTP.To enable Internet traffic, create rules that allow inbound traffic to specific ports — for example, port 80 for HTTP. Aby włączyć protokół SSH, dodaj regułę sieciowej grupy zabezpieczeń zezwalającą na ruch przychodzący do portu TCP 22.To enable SSH, add an NSG rule that allows inbound traffic to TCP port 22.

OperationsOperations

Protokół SSH.SSH. Przed utworzeniem maszyny wirtualnej z systemem Linux wygeneruj parę 2048-bitowych kluczy publiczny-prywatny, korzystając z algorytmu RSA.Before you create a Linux VM, generate a 2048-bit RSA public-private key pair. Użyj pliku klucza publicznego podczas tworzenia maszyny wirtualnej.Use the public key file when you create the VM. Aby uzyskać więcej informacji, zobacz jak używać protokołu SSH w systemach Linux i Mac na platformie Azure.For more information, see How to Use SSH with Linux and Mac on Azure.

Diagnostyka.Diagnostics. Włącz monitorowanie i diagnostykę, w tym podstawowe metryki kondycji, dzienniki infrastruktury diagnostyki i diagnostykę rozruchu.Enable monitoring and diagnostics, including basic health metrics, diagnostics infrastructure logs, and boot diagnostics. Diagnostyka rozruchu może ułatwić diagnozowanie błędów rozruchu, jeśli nie będzie można uruchomić maszyny wirtualnej.Boot diagnostics can help you diagnose boot failure if your VM gets into a non-bootable state. Utwórz konto usługi Azure Storage do przechowywania dzienników.Create an Azure Storage account to store the logs. Standardowe konto magazynu lokalnie nadmiarowego (LRS, locally redundant storage) jest wystarczające dla dzienników diagnostycznych.A standard locally redundant storage (LRS) account is sufficient for diagnostic logs. Aby uzyskać więcej informacji, zobacz Włączanie monitorowania i diagnostyki.For more information, see Enable monitoring and diagnostics.

Dostępność.Availability. Na maszynę wirtualną może mieć wpływ Planowana konserwacja lub nieplanowana przestoje.Your VM may be affected by planned maintenance or unplanned downtime. Za pomocą dzienników ponownego uruchamiania maszyny wirtualnej można określić, czy rozruch maszyny wirtualnej został spowodowany przez planowaną konserwację.You can use VM reboot logs to determine whether a VM reboot was caused by planned maintenance. Aby uzyskać większą dostępność, wdróż wiele maszyn wirtualnych w zestawie dostępności.For higher availability, deploy multiple VMs in an availability set. Ta konfiguracja zapewnia wyższą umowę dotyczącą poziomu usług (SLA).This configuration provides a higher service level agreement (SLA).

Kopie zapasowe Aby chronić przed przypadkową utratą danych, Użyj usługi Azure Backup , aby utworzyć kopię zapasową maszyn wirtualnych do magazynu geograficznie nadmiarowego.Backups To protect against accidental data loss, use the Azure Backup service to back up your VMs to geo-redundant storage. Azure Backup zapewnia kopie zapasowe spójne z aplikacjami.Azure Backup provides application-consistent backups.

Zatrzymywanie maszyny wirtualnej.Stopping a VM. Platforma Azure rozróżnia między stanami „zatrzymana” i „cofnięty przydział”.Azure makes a distinction between "stopped" and "deallocated" states. Opłaty są naliczane, gdy maszyna wirtualna jest zatrzymana, lecz nie wtedy, gdy jest cofnięty przydział.You are charged when the VM status is stopped, but not when the VM is deallocated. W witrynie Azure Portal przycisk Zatrzymaj powoduje cofnięcie przydziału maszyny wirtualnej.In the Azure portal, the Stop button deallocates the VM. Jeśli maszyna wirtualna zostanie zamknięta za pomocą systemu operacyjnego przez zalogowanego użytkownika, to zostanie zatrzymana, lecz przydział nie zostanie cofnięty, więc w dalszym ciągu będą naliczane opłaty.If you shut down through the OS while logged in, the VM is stopped but not deallocated, so you will still be charged.

Usuwanie maszyny wirtualnej.Deleting a VM. Jeśli usuniesz maszynę wirtualną, jej dyski VHD nie zostaną usunięte.If you delete a VM, the VHDs are not deleted. Oznacza to, że możesz bezpiecznie usunąć maszyną wirtualną bez utraty danych.That means you can safely delete the VM without losing data. Jednak opłaty za magazyn będą w dalszym ciągu naliczane.However, you will still be charged for storage. Aby usunąć wirtualny dysk twardy, usuń plik z magazynu obiektów BLOB.To delete the VHD, delete the file from Blob storage. Aby zapobiec przypadkowemu usunięciu, użyj blokady zasobu do zablokowania całej grupy zasobów lub zablokowania pojedynczych zasobów, takich jak maszyna wirtualna.To prevent accidental deletion, use a resource lock to lock the entire resource group or lock individual resources, such as a VM.

Zagadnienia związane z zabezpieczeniamiSecurity considerations

Użyj Azure Security Center , aby uzyskać centralny widok stanu zabezpieczeń zasobów platformy Azure.Use Azure Security Center to get a central view of the security state of your Azure resources. Usługa Security Center monitoruje potencjalne problemy z zabezpieczeniami i zapewnia kompleksowy przegląd kondycji zabezpieczeń wdrożenia.Security Center monitors potential security issues and provides a comprehensive picture of the security health of your deployment. Usługa Security Center jest konfigurowana w ramach subskrypcji platformy Azure.Security Center is configured per Azure subscription. Włącz zbieranie danych zabezpieczeń zgodnie z opisem w artykule dołączanie subskrypcji platformy Azure do Security Center Standard.Enable security data collection as described in Onboard your Azure subscription to Security Center Standard. Po włączeniu funkcji zbierania danych usługa Security Center automatycznie skanuje wszystkie maszyny wirtualne utworzone w ramach tej subskrypcji.When data collection is enabled, Security Center automatically scans any VMs created under that subscription.

Zarządzanie poprawkami.Patch management. Jeśli opcja jest włączona, Centrum zabezpieczeń sprawdza, czy nie brakuje żadnych aktualizacji zabezpieczeń i aktualizacji krytycznych.If enabled, Security Center checks whether any security and critical updates are missing. Aby włączyć automatyczne aktualizacje systemu, użyj ustawień zasady grupy na maszynie wirtualnej.Use Group Policy settings on the VM to enable automatic system updates.

Oprogramowanie chroniące przed złośliwym kodem.Antimalware. Jeśli opcja jest włączona, Centrum zabezpieczeń sprawdza, czy zainstalowano oprogramowanie chroniące przed złośliwym kodem.If enabled, Security Center checks whether antimalware software is installed. Centrum zabezpieczeń służy również do instalowania oprogramowania chroniącego przed złośliwym kodem z poziomu portalu Azure.You can also use Security Center to install antimalware software from inside the Azure portal.

Kontrola dostępu.Access control. Kontrola dostępu do zasobów platformy Azure przy użyciu kontroli dostępu opartej na rolach (RBAC) .Use role-based access control (RBAC) to control access to Azure resources. Kontrola RBAC umożliwia przypisywanie ról autoryzacji do członków zespołu DevOps.RBAC lets you assign authorization roles to members of your DevOps team. Na przykład rola Czytelnik może umożliwiać wyświetlanie zasobów platformy Azure, ale nie ich tworzenie, usuwanie ani zarządzanie nimi.For example, the Reader role can view Azure resources but not create, manage, or delete them. Niektóre uprawnienia są specyficzne dla typu zasobu platformy Azure.Some permissions are specific to an Azure resource type. Na przykład rola Współautor maszyny wirtualnej umożliwia ponowne uruchomienie lub cofnięcie przydziału maszyny wirtualnej, zresetowanie hasła administratora, utworzenie nowej maszyny wirtualnej itd.For example, the Virtual Machine Contributor role can restart or deallocate a VM, reset the administrator password, create a new VM, and so on. Inne wbudowane role RBAC , które mogą być przydatne w przypadku tej architektury, obejmują współwspółautorużytkownika i sieci DevTest Labs .Other built-in RBAC roles that may be useful for this architecture include DevTest Labs User and Network Contributor.

Uwaga

Kontrola RBAC nie ogranicza akcji, które może wykonać użytkownik zalogowany do maszyny wirtualnej.RBAC does not limit the actions that a user logged into a VM can perform. Te uprawnienia są określane przez typ konta w systemie operacyjnym gościa.Those permissions are determined by the account type on the guest OS.

Dzienniki inspekcji.Audit logs. Użyj dzienników inspekcji , aby wyświetlić akcje aprowizacji i inne zdarzenia maszyn wirtualnych.Use audit logs to see provisioning actions and other VM events.

Szyfrowanie danych.Data encryption. Użyj Azure Disk Encryption , jeśli zachodzi potrzeba ZASZYFROWANIA systemu operacyjnego i dysków danych.Use Azure Disk Encryption if you need to encrypt the OS and data disks.

Następne krokiNext steps