Het implementeren van Azure vm ‘ s met Terravorm om Geld te Besparen

0
183

De meeste van ons hebben dat gedaan wordt geïmplementeerd tijdelijke VMs Azure. Iets dat velen van ons ook gedaan hebben is vergeten te verwijderen middelen verbonden aan deze VMs bij het verwijderen van hen. Dit kan leiden tot ongewenste kosten omhoog om duizenden dollars als je niet voorzichtig bent.

In dit artikel gaan we leren hoe je vm ‘ s implementeren van Azure en te verwijderen van elk spoor van hen wanneer we klaar zijn met behulp van Terravorm.

Voorwaarden

U moet voldoen aan een paar voorwaarden te kunnen volgen in dit artikel:

  • De Azure CLI geïnstalleerd.
  • Een beheerder over een Azuurblauwe Abonnement (of gelijkwaardig), die u kunt gebruiken voor het maken van resource groepen en bronnen.

Met deze uit de weg, laten we beginnen met het downloaden en installeren van Terravorm.

Het Installeren Van Terravorm

Terravorm kan worden geïnstalleerd in een paar verschillende manieren. In Windows, de makkelijkste manier is om gebruik te maken choco:

choco installeren terravorm

Op een Macintosh, het is beschikbaar door gebruik te Brouwen:

brew installeren terravorm

Meer informatie over het installeren van Terravorm is beschikbaar in de Terravorm documentatie.

In de veronderstelling dat alles goed is gegaan met de installatie, kunt u bevestigen dat het werkt door het uitvoeren van de opdracht terravorm versie.

Nu dat u hebt bevestigd dat terravorm werkt op uw computer, is het tijd om te verifiëren aan de Azuurblauwe abonnement via de Azure CLI.

Authenticatie

Om te verifiëren en stel de inschrijving in de Azuurblauwe CLI, dient u in te loggen. Open een terminal en typ:

az login

En dan, na verificatie, een lijst van al uw abonnementen, door het invoeren van:

az-account lijst

Als u meerdere abonnementen beschikbaar, kopieert u de abonnements-id van de juiste en voer in:

az-account instellen –abonnement=”COPIED_SUBSCRIPTION_ID”

U hebt de Azuurblauwe CLI om het gebruik van uw abonnement. (Dit is het abonnement dat terravorm zal later te gebruiken als goed.) Het is nu tijd om de terravorm sjabloon we zullen gebruiken voor de implementatie van onze VM.

Het maken van de Sjabloon Terravorm

De Terravorm template is een eenvoudig tekst bestand met het bestand dat eindigt .tf. Het heeft een JSON-achtige syntax en gelezen kan worden gegenereerd en gemakkelijk. Het sjabloon bestaat voornamelijk uit twee delen: de aanbieders (de afhandeling van de communicatie met de dienst die u wenst te implementeren), en de middelen die de aanbieder maakt.

We beginnen met het maken van een bestand met de naam vm.tf in een lege directory. Terravorm moet een lege dir dus dat kan het schrijven van de toestand van de configuratie later op.

Nu, open dit bestand met je favoriete editor en voeg de aanbieder:

de aanbieder “azurerm” {
version = “=2.11.0”
functies {}
}

Dit zal vertellen Terravorm dat u gebruik wilt maken van de AzureRM provider (voor het maken van azure middelen), en dat het moet worden van versie 2.11. Het is belangrijk om aan te geven het nummer van de versie omdat de functionaliteit tussen de verschillende versies kan variëren sterk.

Nadat u hebt geschreven dat in het tekstbestand, het is tijd om onze Azure resource group. Dit wordt gezien door Terravorm als een hulpbron en:

resource ‘azurerm_resource_group” “resourcegroup” {
name = “test-vm”
locatie = “westus”
tags = {
project = “some_test_project”
}
}

De bovenstaande code maakt een resource groep met de naam “test-vm’ dat is gelegen in de west-AMERIKAANSE regio. Het voegt ook een label met de naam van het project op.

Voor het uitvoeren van een VM met succes, we moeten ook een netwerk. En omdat Terravorm is gemaakt voor de Infrastructuur als een Code (IaC), het is beschikbaar als een bron ook:

resource ‘azurerm_virtual_network” “netwerk” {
naam = “${azurerm_resource_group.resourcegroup.naam}-netwerk”
address_space = [“10.0.0.0/16”]
locatie = azurerm_resource_group.resourcegroup.locatie
resource_group_name = azurerm_resource_group.resourcegroup.naam

tags = azurerm_resource_group.resourcegroup.tags
}

Dit creëert een virtueel netwerk. Het maakt tevens gebruik van een variabele in de naam van de parameter. Als je goed kijkt, zie je dat het verwijst naar de bron van de groep die we hierboven gedefinieerd:

“${azurerm_resource_group.resourcegroup.naam}-netwerk”

Dat betekent dat het virtuele netwerk wordt de naam test-vm-netwerk. Doen We hetzelfde voor de locatie, resource-naam van de groep, en tags.

Hierna is het tijd om het subnet dat we de VM in, met behulp van dezelfde methoden aan de hand van variabelen als voorheen:

resource ‘azurerm_subnet” “subnet” {
naam = “${azurerm_resource_group.resourcegroup.naam}-subnet”
resource_group_name = azurerm_resource_group.resourcegroup.naam
virtual_network_name = azurerm_virtual_network.netwerk.naam
address_prefix = “10.0.2.0/24”
}

Dit creëert een subnet genoemd test-vm-subnet.

Nu, laten we definiëren de NIC ‘ s die de VM is van plan om zo goed te gebruiken:

resource ‘azurerm_network_interface” “vm1-nic” {
name = “vm1-NIC”
locatie = azurerm_resource_group.resourcegroup.locatie
resource_group_name = azurerm_resource_group.resourcegroup.naam

ip_configuration {
name = “vm1-NicConfiguration”
subnet_id = “${azurerm_subnet.subnet.id}”
private_ip_address_allocation = “static”
private_ip_address = “10.0.2.4”
}

tags = azurerm_resource_group.resourcegroup.tags
}

In dit geval gebruiken we een statisch IP-adres, verwijzend naar het subnet met behulp van een variabele.

En, last but not least, de definitie van de VM zelf:

resource ‘azurerm_virtual_machine” “vm-1” {
name = “vm1”
locatie = “${azurerm_resource_group.resourcegroup.locatie}”
resource_group_name = “${azurerm_resource_group.resourcegroup.naam}”
network_interface_ids = [“${azurerm_network_interface.vm1-nic.id}”]
vm_size = “Standard_B1ms”

delete_os_disk_on_termination = true

storage_image_reference {
publisher = “MicrosoftWindowsServer”
bieden = “WindowsServer”
sku = “2019-Datacenter”
version = “laatste”
}
storage_os_disk {
name = “vm1-osdisk”
caching = “ReadWrite”
create_option = “FromImage”
managed_disk_type = “Standard_LRS”
}
os_profile {
computernaam = “vm-1”
admin_username = “demoadmin”
admin_password = “$om3s3cretPassWord”
}

os_profile_windows_config {
enable_automatic_upgrades = “true”
provision_vm_agent = “true”
}

tags = azurerm_resource_group.resourcegroup.tags
}

De bovenstaande code zal een bepaling Azure VM Windows Server 2019, met de middelen die we eerder gedefinieerd. Het zal een admin met de gebruikersnaam “demoadmin” die heeft het wachtwoord voor “$om3s3cretPassWord”. De rest van de parameters zijn vrij vanzelfsprekend, en je kunt een heleboel meer van themin de Terravorm AzureRM documentatie.

Nu, dat is om te redden van de .tf-bestand met de implementatie van dit sjabloon Azure met Terravorm!

Het initiëren en Implementeren met Terravorm

Nu hebben we het sjabloon om, open een terminal en ga naar de directory die u heeft opgeslagen .tf-bestand:

cd c:tempterraform

We moeten nu starten Terravorm. Dit zal het downloaden van de bron-module voor AzureRM en kijk na fouten in .tf-bestand:

Na de initialisatie heeft voltooid, bent u klaar om het toepassen van de sjabloon door het uitvoeren van terravorm van toepassing.

terravorm van toepassing

Terravorm nu een nieuwe groep in Azure, netwerken, subnetten en uiteindelijk de VM zelf. De staat en de middelen die het heeft gemaakt, worden opgeslagen in de .terravorm map van uw huidige directory. Dus, niet verwijderen van die map als u wilt verwijderen van de middelen later netjes op!

Nadat u klaar bent met de test vm en wenst het te vernietigen, gewoon uitvoeren:

terravorm vernietigen

Dit verwijdert alle schijven, netwerkkaarten, subnetten, resource groepen, en dergelijke, dat is gemaakt bij het uitvoeren van terravorm van toepassing zijn, en je geen zorgen hoeft te maken over het vergeten van te verwijderen van de fragmenten links in termen van Azure Middelen.

Conclusie

Met behulp van Terravorm alleen voor kleine taken zoals deze is zeer netjes. Het bewijst dat je niet hoeft te beschikken over een volledig geïmplementeerd Infrastructuur Code (IaC) om productief te gebruiken. Het brengt ook de kosten door het verwijderen van ongebruikte middelen in Azure. Hopelijk heeft dit bewezen worden van het gebruik van u, en begon zelfs uw reis naar een IaC!