Een Linux VM uitvoeren op Azure

Azure Backup
Azure Blob Storage
Azure Storage
Azure Virtual Machines

Voor het inrichten van een virtuele machine (VM) in Azure zijn naast de VM zelf enkele extra onderdelen vereist, waaronder netwerk- en opslagresources. In dit artikel vindt u aanbevolen procedures voor het uitvoeren van een Virtuele Linux-machine in Azure.

Architectuur

Diagram met een Virtuele Linux-machine in Azure.

Een Visio-bestand van deze architectuur downloaden.

Workflow

Resourcegroep

Een resourcegroep is een logische container die gerelateerde Azure-resources bevat. Over het algemeen groepeert u resources op basis van hun levensduur en wie deze beheert.

Plaats nauw verwante resources die dezelfde levenscyclus delen, in dezelfde resourcegroep. Met resourcegroepen kunt u resources groepsgewijs implementeren en bewaken. Ook kunt u de factureringskosten per groep bijhouden. U kunt resources ook verwijderen als een set, wat handig is voor testimplementaties. Wijs zinvolle resourcenamen toe om het zoeken naar een specifieke resource te vereenvoudigen en de rol ervan te verduidelijken. Zie Aanbevolen naamgevingsregels voor Azure-resources voor meer informatie.

Virtuele machine

U kunt een virtuele machine inrichten vanuit een lijst met gepubliceerde installatiekopieën, via een aangepaste beheerde installatiekopie of via een VHD-bestand (virtuele harde schijf) dat u naar Azure Blob Storage uploadt. ondersteuning voor Azure verschillende populaire Linux-distributies, waaronder Debian, Red Hat Enterprise Linux (RHEL) en Ubuntu. Zie Azure en Linux voor meer informatie.

Azure biedt veel verschillende grootten voor virtuele machines. Zie Grootten voor virtuele machines in Azure voor meer informatie. Als u een bestaande workload naar Azure verplaatst, begint u met de VM-grootte die het meest overeenkomt met uw on-premises servers. Meet vervolgens de prestaties van uw werkelijke werkbelasting in termen van CPU, geheugen en schijfinvoer/uitvoerbewerkingen per seconde (IOPS) en pas de grootte zo nodig aan.

Over het algemeen kiest u een Azure-regio die zich het dichtst bij uw interne gebruikers of klanten bevindt. Niet alle VM-grootten zijn beschikbaar in alle regio's. Zie Services per regio voor meer informatie. Voer de volgende opdracht uit vanuit de Azure CLI voor een lijst met de VM-grootten die beschikbaar zijn in een specifieke regio:

az vm list-sizes --location <location>

Zie Linux VM-installatiekopieën zoeken voor informatie over het kiezen van een installatiekopie van een gepubliceerde virtuele machine.

Disks

Voor de beste-I/O-prestaties van de schijf raden we Premium Storage aan, waarmee gegevens op SSD's (solid-state drives) worden opgeslagen. De kosten zijn gebaseerd op de capaciteit van de ingerichte schijf. IOPS en doorvoer (dat wil zeggen de snelheid van de gegevensoverdracht) zijn ook afhankelijk van de schijfgrootte, dus als u een schijf inricht, moet u rekening houden met alle drie factoren (capaciteit, IOPS en doorvoer). Premium-opslag biedt ook gratis bursting, gecombineerd met inzicht in workloadpatronen, biedt een effectieve SKU-selectie- en kostenoptimalisatiestrategie voor IaaS-infrastructuur, waardoor hoge prestaties worden mogelijk zonder overmatige overinrichting en het minimaliseren van de kosten van ongebruikte capaciteit.

Beheerde schijven vereenvoudigen schijfbeheer door de opslag voor u te verwerken. Voor beheerde schijven is geen opslagaccount vereist. U geeft gewoon de grootte en het type schijf op en deze wordt geïmplementeerd als een maximaal beschikbare resource. Beheerde schijven bieden ook kostenoptimalisatie door gewenste prestaties te bieden zonder over-inrichting, rekening te houden met fluctuerende workloadpatronen en ongebruikte ingerichte capaciteit te minimaliseren.

De besturingssysteemschijf is een VHD die is opgeslagen in Azure Storage, zodat deze ook beschikbaar blijft wanneer de hostmachine niet actief is. De VHD kan lokaal gekoppelde NVMe of vergelijkbare apparaten zijn die beschikbaar zijn op veel VM-SKU's.

Kortstondige schijven bieden zonder extra kosten goede prestaties, maar worden geleverd met de aanzienlijke nadelen van niet-persistent zijn, beperkte capaciteit hebben en alleen worden beperkt tot het gebruik van het besturingssysteem en tijdelijke schijven. Voor virtuele Linux-machines is /dev/sda1 de besturingssysteemschijf. U wordt ook aangeraden een of meer gegevensschijven te maken. Dit zijn permanente VHD's die worden gebruikt voor toepassingsgegevens.

Wanneer u een VHD maakt, is deze niet geformatteerd. Meld u aan bij de virtuele machine om de schijf te formatteren. In de Linux-shell worden gegevensschijven weergegeven als /dev/sdc, /dev/sdd, enzovoort. U kunt lsblk uitvoeren om de blokapparaten, met inbegrip van de schijven, weer te geven. Als u een gegevensschijf wilt gebruiken, maakt u een partitie en bestandssysteem, en koppelt u de schijf. Voorbeeld:

# 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

Wanneer u een gegevensschijf toevoegt, wordt een LUN-ID (logische-eenheidnummer) toegewezen aan de schijf. U kunt desgewenst de LUN-id opgeven, bijvoorbeeld als u een schijf vervangt en dezelfde LUN-id wilt behouden, of u hebt een toepassing die zoekt naar een specifieke LUN-id. Vergeet echter niet dat LUN-ID's uniek moeten zijn voor elke schijf.

U zou de I/O-planner zodanig kunnen instellen dat wordt gestreefd naar optimale prestaties op SSD's, aangezien schijven voor virtuele machines met een Premium opslagaccount SSD's zijn. Het wordt in het algemeen aanbevolen de NOOP-planner te gebruiken voor SSD's, maar u moet een hulpprogramma zoals iostat gebruiken om de I/O-prestaties van de schijf te bewaken voor uw workload.

De virtuele machine wordt gemaakt met een tijdelijke schijf. Deze schijf wordt opgeslagen op een fysiek station op de hostcomputer. De schijf wordt niet opgeslagen in Azure Storage en wordt mogelijk verwijderd tijdens opnieuw opstarten en andere gebeurtenissen in de levensduur van de virtuele machine. Gebruik deze schijf alleen voor tijdelijke gegevens, zoals pagina- of wisselbestanden. Voor virtuele Linux-machines geldt /dev/sdb1 als de tijdelijke schijf die wordt geplaatst in /mnt/resource of /mnt.

Netwerk

De netwerkonderdelen omvatten de volgende resources:

  • Virtueel netwerk. Elke VM wordt geïmplementeerd in een virtueel netwerk dat kan worden gesegmenteerd in meerdere subnetten.

  • Netwerkinterface (NIC). Via de NIC kan de virtuele machine communiceren met het virtuele netwerk. Als u meerdere NIC's voor uw VIRTUELE machine nodig hebt, moet u er rekening mee houden dat voor elke VM-grootte een maximum aantal NIC's is gedefinieerd.

  • Openbaar IP-adres. Er is een openbaar IP-adres nodig om te communiceren met de VIRTUELE machine, bijvoorbeeld via extern bureaublad (RDP). Het openbare IP-adres kan dynamisch of statisch zijn. De standaardwaarde is dynamisch.

  • Reserveer een statisch IP-adres als u een vast IP-adres nodig hebt dat niet wordt gewijzigd, bijvoorbeeld als u een DNS A-record moet maken of het IP-adres wilt toevoegen aan een veilige lijst.

  • U kunt ook een volledig gekwalificeerde domeinnaam (FQDN) voor het IP-adres maken. U kunt vervolgens een CNAME-record maken in DNS dat naar de FQDN verwijst. Zie Een Fully Qualified Domain Name maken in Azure Portal voor meer informatie.

  • Netwerkbeveiligingsgroep (NSG). Netwerkbeveiligingsgroepen worden gebruikt om netwerkverkeer naar VM's toe te staan of te weigeren. NSG's kunnen worden gekoppeld aan subnetten of aan afzonderlijke VM-exemplaren.

Alle NSG's bevatten een set standaardregels, met inbegrip van een regel waarmee al het inkomende internetverkeer wordt geblokkeerd. De standaardregels kunnen niet worden verwijderd, maar ze kunnen wel worden vervangen door andere regels. Als u internetverkeer wilt inschakelen, maakt u regels die binnenkomend verkeer naar specifieke poorten toestaan, bijvoorbeeld poort 80 voor HTTP. Als u SSH wilt inschakelen, voegt u een NSG-regel toe waarmee inkomend verkeer op TCP-poort 22 wordt toegestaan.

Operations

SSH. Voordat u een virtuele Linux-machine maakt, moet u een 2048 bits RSA openbaar-persoonlijk sleutelpaar genereren. Gebruik het openbare sleutelbestand wanneer u de virtuele machine maakt. Zie SSH gebruiken met Linux en Mac in Azure voor meer informatie.

Diagnostiek. Schakel bewaking en diagnostiek in, inclusief metrische basisgegevens over de status, diagnostische logboeken over de infrastructuur en diagnostische gegevens over opstarten. Met diagnostische gegevens over opstarten kunt u opstartfouten achterhalen als de virtuele machine in een niet-opstartbare status komt. Maak een Azure Storage-account om de logboeken op te slaan. Een standaardaccount voor lokaal redundante opslag (LRS) is voldoende voor diagnostische logboeken. Zie Controle en diagnose inschakelen voor meer informatie.

Beschikbaarheid. Uw VM kan worden beïnvloed door gepland onderhoud of ongeplande downtime. U kunt logboeken over het opnieuw opstarten van virtuele machines gebruiken om na te gaan of het opnieuw opstarten van een virtuele machine is veroorzaakt door gepland onderhoud. Implementeer voor hogere beschikbaarheid meerdere virtuele machines in een beschikbaarheidsset. Deze configuratie biedt een hogere SLA (Service Level Agreement).

Back-ups om te beschermen tegen onbedoeld gegevensverlies, gebruikt u de Azure Backup-service om een back-up te maken van uw VM's naar geografisch redundante opslag. Azure Backup biedt toepassingsconsistente back-ups.

Een virtuele machine stoppen. Azure maakt onderscheid tussen een 'gestopte' status en een status waarbij de toewijzing is opgeheven. Er worden kosten in rekening gebracht wanneer de status van de virtuele machine is gestopt, maar niet wanneer de toewijzing van de virtuele machine is opgeheven. In Azure Portal wordt met de knop Stoppen de toewijzing van een virtuele machine opgeheven. Als u afsluit via het besturingssysteem terwijl u bent aangemeld, wordt de virtuele machine wel gestopt, maar de toewijzing ervan niet opgeheven, zodat u nog steeds kosten in rekening worden gebracht.

Een virtuele machine verwijderen. Als u een virtuele machine verwijdert, worden de VHD's niet verwijderd. Dit betekent dat u de virtuele machine veilig zonder gegevensverlies kunt verwijderen. Er worden echter nog steeds kosten in rekening gebracht voor opslag. Als u de VHD wilt verwijderen, verwijdert u het bestand uit Blob Storage. Gebruik ter voorkoming van onbedoeld verwijderen een resourcevergrendeling om de gehele resourcegroep of afzonderlijke resources, zoals een virtuele machine, te vergrendelen.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Er zijn verschillende opties voor VM-grootten, afhankelijk van het gebruik en de workload. Het assortiment omvat de meest voordelige optie van de Bs-serie naar de nieuwste GPU-VM's die zijn geoptimaliseerd voor machine learning. Zie prijzen voor Virtuele Linux-machines in Azure voor meer informatie over de beschikbare opties.

Voor voorspelbare workloads gebruikt u Azure-reserveringen en een Azure-besparingsplan voor berekening met een contract van één of drie jaar en ontvangt u aanzienlijke besparingen op de prijzen voor betalen per gebruik. Houd rekening met de optie Betalen per gebruik voor workloads zonder voorspelbare tijd van voltooiing of resourceverbruik.

Gebruik Azure Spot-VM's om workloads uit te voeren die kunnen worden onderbroken en vereisen geen voltooiing binnen een vooraf bepaalde periode of een SLA. Azure implementeert spot-VM's als er capaciteit beschikbaar is en wordt verwijderd wanneer deze de capaciteit weer nodig heeft. De kosten voor virtuele Spot-machines zijn aanzienlijk lager. Overweeg spot-VM's voor deze workloads:

  • Hoogwaardige rekenscenario's, batchverwerkingstaken of toepassingen voor de rendering van besturingselementen.
  • Testomgevingen, waaronder continue integratie en workloads voor continue levering.
  • Grootschalige, staatloze toepassingen.

Gebruik de Azure-prijscalculator om de kosten te schatten.

Raadpleeg de kostensectie in Microsoft Azure Well-Architected Framework voor meer informatie.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijler voor meer informatie.

Gebruik Microsoft Defender voor Cloud om een centraal overzicht te krijgen van de beveiligingsstatus van uw Azure-resources. Defender voor Cloud controleert mogelijke beveiligingsproblemen en biedt een uitgebreid beeld van de beveiligingsstatus van uw implementatie. Defender voor Cloud is geconfigureerd per Azure-abonnement. Schakel het verzamelen van beveiligingsgegevens in zoals beschreven in Onboarding van uw Azure-abonnement op Defender voor Cloud Standard. Wanneer gegevensverzameling is ingeschakeld, scant Defender voor Cloud automatisch alle virtuele machines die zijn gemaakt onder dat abonnement.

Patchbeheer. Als deze optie is ingeschakeld, controleert Defender voor Cloud of er beveiligings- en essentiële updates ontbreken.

Antimalware. Indien ingeschakeld, controleert Defender voor Cloud of antimalwaresoftware is geïnstalleerd. U kunt ook Defender voor Cloud gebruiken om antimalwaresoftware te installeren vanuit Azure Portal.

Toegangsbeheer. Gebruik op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) om de toegang tot Azure-resources te beheren. Met Azure RBAC kunt u autorisatierollen toewijzen aan leden van uw DevOps-team. Iemand met de rol Lezer kan bijvoorbeeld wel Azure-resources weergeven, maar deze niet maken, beheren of verwijderen. Sommige machtigingen zijn specifiek voor een Azure-resourcetype. Iemand met de rol van Inzender voor virtuele machines kan bijvoorbeeld een virtuele machine opnieuw opstarten of de toewijzing van een virtuele machine ongedaan maken, het beheerderswachtwoord opnieuw instellen, een nieuwe virtuele machine maken, enzovoort. Andere ingebouwde rollen die nuttig kunnen zijn voor deze architectuur zijn DevTest Labs User en Network Contributor.

Notitie

Azure RBAC beperkt niet de acties die een gebruiker heeft aangemeld bij een virtuele machine. Deze machtigingen worden bepaald door het accounttype op het gastbesturingssysteem.

Auditlogboeken. Gebruik auditlogboeken om inrichtingsacties en andere VM-gebeurtenissen te bekijken.

Gegevensversleuteling. Gebruik Azure Disk Encryption als u het besturingssysteem en de gegevensschijven moet versleutelen.

Operationele uitmuntendheid

Operationele uitmuntendheid omvat de operationele processen die een toepassing implementeren en deze in productie houden. Zie Overzicht van de operationele uitmuntendheidpijler voor meer informatie.

Gebruik één Azure Resource Manager-sjabloon voor het inrichten van de Azure-resources en de bijbehorende afhankelijkheden. Omdat alle resources zich in hetzelfde virtuele netwerk bevinden, worden ze geïsoleerd in dezelfde basisworkload. Het maakt het eenvoudiger om de specifieke resources van de workload te koppelen aan een DevOps-team, zodat het team alle aspecten van deze resources onafhankelijk kan beheren. Dankzij deze isolatie kan het DevOps-team continue integratie en continue levering (CI/CD) uitvoeren.

U kunt ook verschillende Azure Resource Manager-sjablonen gebruiken en integreren met Azure DevOps Services om binnen enkele minuten verschillende omgevingen in te richten, bijvoorbeeld om productie te repliceren, zoals scenario's of belastingtestomgevingen, alleen wanneer dat nodig is, wat kosten bespaart.

Zie de Linux N-tier-toepassing in Azure met Apache Cassandra voor een architectuur met hogere beschikbaarheid. De referentiearchitectuur bevat meer dan één VIRTUELE machine en elke VM is opgenomen in een beschikbaarheidsset.

Overweeg het gebruik van de Azure Monitor voor het analyseren en optimaliseren van de prestaties van uw infrastructuur, het bewaken en diagnosticeren van netwerkproblemen zonder u aan te melden bij uw virtuele machines.

Volgende stappen