In diesem Artikel erfahren Sie, wie Sie mit Terraform eine EC2-Instance erstellen. Bevor ich fortfahre, gehe ich davon aus, dass Sie mit den Grundlagen von Terraform und AWS EC2 Instance vertraut sind. Wenn Sie erfahren möchten, wie Sie eine EC2-Instance über die AWS-Konsole erstellen, klicken Sie hier.
Voraussetzungen
- Grundlegendes Verständnis von Terraform.
- Terraform auf Ihrem System installiert.
- AWS-Konto (erstellen, falls Sie noch keins haben).
- 'access_key' &'secret_key' eines AWS IAM-Benutzers. (Klicken Sie hier, um zu erfahren, wie Sie einen IAM-Benutzer mit „access_key“ und „secret_key“ auf AWS erstellen, )
Was wir tun werden
- Schreiben Sie Terraform-Konfigurationsdateien zum Erstellen einer EC2-Instanz.
- Erstellen Sie einen EC2 unter Verwendung der Terraform-Konfigurationsdateien.
- Löschen Sie die erstellte EC2-Instanz mit Terraform.
Schreiben Sie Terraform-Konfigurationsdateien, um eine EC2-Instanz zu erstellen
Erstellen Sie ein dediziertes Verzeichnis, in dem Sie Terraform-Konfigurationsdateien erstellen können.
Verwenden Sie den folgenden Befehl, um ein Verzeichnis zu erstellen und Ihr aktuelles Arbeitsverzeichnis dorthin zu ändern.
mkdir terraform
cd terraform/
Ich verwende „vim“ als Editor, um in Dateien zu schreiben. Sie können einen Editor Ihrer Wahl verwenden und die folgenden Konfigurationen kopieren und einfügen, um variables.tf, terraform.tfvars und main.tf zu erstellen
Erstellen Sie „main.tf“, das für die Erstellung eines EC2 auf AWS verantwortlich ist. Diese main.tf liest Werte von Variablen aus variables.tf und terraform.tfvars.
vim main.tf
Anbieter "aws" { access_key ="${var.access_key}" secret_key ="${var.secret_key}" region ="eu-west-3"}resource "aws_instance" "ec2_instance" { ami ="$ {var.ami_id}" count ="${var.number_of_instances}" subnet_id ="${var.subnet_id}" instance_type ="${var.instance_type}" key_name ="${var.ami_key_pair_name}"}
Ändern Sie den Wert von "Region", wenn Sie die Instanz in einer anderen Region als der von mir angegebenen erstellen möchten.
Erstellen Sie „variables.tf“, das die Deklaration und Definition der Variablen enthält.
vim variables.tf
variable "access_key" { description ="Zugriffsschlüssel zur AWS-Konsole"}variable "secret_key" { description ="Geheimer Schlüssel zur AWS-Konsole"}variable "instance_name" { description ="Name der zu erstellenden Instanz" default ="test"}variable "instance_type" { default ="t2.micro"}variable "subnet_id" { description ="Das VPC-Subnetz, in dem die Instanz(en) erstellt werden" default ="subnet-a5a72ce8"}variable "ami_id " { description ="Das zu verwendende AMI" default ="ami-096b8af6e7e8fb927"}variable "number_of_instances" { description ="number of instances to create" default =1}variable "ami_key_pair_name" { default ="tomcat"}Nachdem Sie „variables.tf“ erstellt haben, vergessen Sie nicht, die der Variablen zugewiesenen Werte zu ändern. Sie müssen ami_key_pair_name, ami_id und subnet_id ändern, da diese spezifisch für meine Umgebung sind. Sie können die Variable rest unverändert lassen.
Erstellen Sie „terraform.tfvars“, das die Definition der in der obigen Datei definierten access_key- und secret_key-Variablen enthält. Wir haben die Deklaration dieser beiden Variablen in der Datei 'terraform.tfvars' beibehalten.
Die folgenden Schlüssel müssen mit den Schlüsseln Ihres IAM-Benutzers geändert werden.
vim terraform.tfvarsaccess_key ="AKIAQ6GAIA5XIHHM2GJM"secret_key ="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"Jetzt sollten Sie 3 Dateien haben, nämlich variables.tf, terraform.tfvars und main.tf
Erstellen Sie eine EC2-Instanz unter Verwendung der Terraform-Konfigurationsdateien
Bevor Sie die folgenden Befehle ausführen, vergewissern Sie sich, dass Sie die gültigen access_key und secret_key konfiguriert haben.
Der erste zu verwendende Befehl ist „terraform init“. Dieser Befehl lädt Plugins für Anbieter, die in der Konfiguration verwendet werden, herunter und installiert sie. In unserem Fall ist es AWS.
terraform initDer zweite zu verwendende Befehl ist „terraform plan“. Dieser Befehl wird verwendet, um die Änderungen anzuzeigen, die an der Infrastruktur stattfinden werden.
Terraform-PlanDer Befehl „terraform apply“ erstellt die in der main.tf-Datei erwähnten Ressourcen auf AWS. Sie werden aufgefordert, Ihre Eingaben zum Erstellen der Ressourcen zu machen.
terraform anwendenWenn Sie den obigen Befehl ausführen, können Sie in der Ausgabe sehen, dass 1 neue Ressource hinzugefügt und 0 vernichtet wurde.
Sie können zur AWS EC2-Konsole gehen, um zu überprüfen, ob die EC2-Instanz erstellt wurde oder nicht.
Löschen Sie die erstellte EC2-Instanz mit Terraform
Wenn Sie Ressourcen, die Sie mit der in der main.tf-Datei erwähnten Konfiguration erstellt haben, nicht mehr benötigen, können Sie alle diese Ressourcen mit dem Befehl „Terraform Destroy“ löschen.
Terraform-ZerstörungSchlussfolgerung
In diesem Artikel haben wir die Schritte zum Erstellen einer EC2-Instance in der Region unserer Wahl gesehen. Wir haben auch gesehen, wie die Instanz gelöscht werden kann.