GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen Sie mit Terraform eine EC2-Instance auf AWS

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

  1. Grundlegendes Verständnis von Terraform.
  2. Terraform auf Ihrem System installiert.
  3. AWS-Konto (erstellen, falls Sie noch keins haben).
  4. '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

  1. Schreiben Sie Terraform-Konfigurationsdateien zum Erstellen einer EC2-Instanz.
  2. Erstellen Sie einen EC2 unter Verwendung der Terraform-Konfigurationsdateien.
  3. 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.tfvars 
access_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 init 

Der zweite zu verwendende Befehl ist „terraform plan“. Dieser Befehl wird verwendet, um die Änderungen anzuzeigen, die an der Infrastruktur stattfinden werden.

 Terraform-Plan 

Der 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 anwenden

Wenn 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örung

Schlussfolgerung

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.


Linux
  1. Erstellen Sie mit Terraform eine Virtual Private Cloud (VPC) auf AWS

  2. So erstellen Sie eine RDS-Instance auf AWS mit Terraform

  3. So erstellen Sie eine IAM-Rolle in AWS mit Terraform

  4. Erhöhen des Speicherplatzes der AWS EC2 Ubuntu-Instance

  5. Einrichten von SonarQube auf AWS mit EC2

Was ist Terraform und wie wird es auf AWS EC2 installiert und verwendet?

Erstellen Sie mit Terraform einen S3-Bucket auf AWS

So erstellen Sie eine Amazon AWS EC2-Instanz mit Python Boto3

So erstellen Sie eine RDS-Instanz mit Python Boto3 auf AWS

So erstellen Sie einen S3-Bucket mit Python Boto3 auf AWS

So erstellen Sie eine Ubuntu EC2-Instance auf AWS