Was ist Terraform und wie man es auf AWS EC2 installiert und nutzt

Terraform ist das „Infrastructure as Code (IaC)“-Tool. Es wird verwendet, um Infrastrukturen auf sichere Weise aufzubauen, zu verwalten und zu verändern. wiederholbar Weise.

Es wird verwendet, um Umgebungen mit einer Konfigurationssprache namens HashiCorp Configuration Language (HCL) für menschenlesbare, automatisierte Bereitstellungen zu verwalten.

Terraform kann verwendet werden, um Infrastrukturen in verschiedenen Clouds wie AWS, GCP und anderen zu verwalten. Terraform erstellt eine Statusdatei, die die Quelle der Wahrheit für die Ressourcenkonfigurationen ist. Das bedeutet, dass diese Statusdatei jedes Mal, wenn Ressourcen erstellt werden, mit dem Status der erstellten Ressourcen aktualisiert wird.

In diesem Artikel sehen wir uns die Schritte zur Installation von Terraform auf Ubuntu an und verwenden es, um eine VPC in der AWS Cloud zu erstellen.

Um mehr über Terraform zu erfahren, klicke hier.

Vorraussetzungen

  1. AWS-Konto (Erstelle wenn du noch keines hast).
  2. Eine EC2-Instanz (Klicke hier um zu erfahren, wie du eine EC2-Instanz erstellst)
  3. Root-Zugang zu den Servern.
  4. ‚access_key‘ & ’secret_key‘ eines AWS IAM Users. (Klickehier, um zu lernen, wie du einen IAM-Benutzer mit’access_key‘ & ’secret_key‘ auf AWS anlegst).

Was wir tun werden

  1. Terraform installieren
  2. Terraform Konfigurationsdateien schreiben.
  3. Eine VPC mit Hilfe der Terraform-Konfigurationsdateien erstellen
  4. Die erstellte VPC mithilfe von Terraform löschen

Terraform installieren

Die Installation von Terraform ist ziemlich einfach und unkompliziert. Du kannst das passende Paket für dein System hier finden.

Bevor du die Datei herunterlädst, musst du die Pakete „wget“ und „unzip“ installieren, falls sie nicht auf deinem System vorhanden sind.

apt-get update -y
apt-get install wget unzip -y

Pakete aktualisieren

Erstellen wir ein eigenes Verzeichnis „terraform“ unter „/opt/“, in das wir das Paket herunterladen können

cd /opt/
mkdir terraform
cd terraform/

Lade das Terraform-Paket mit dem Befehl „wget“ herunter und entpacke es.

wget https://releases.hashicorp.com/terraform/0.12.18/terraform_0.12.18_linux_amd64.zip
unzip terraform_0.12.18_linux_amd64.zip
ls -lt

Terraform herunterladen

Sobald du das heruntergeladene Paket entpackt hast, siehst du eine Binärdatei „terraform“. Verschiebe diese Binärdatei nach /usr/local/bin/.

Du kannst überprüfen, ob die Installation erfolgreich war oder nicht, indem du den Befehl terraform verwendest und seine Version überprüfst.

mv terraform /usr/local/bin/
terraform -v

Terraform Version

Terraform-Konfigurationsdateien schreiben

Erstelle ein eigenes Verzeichnis, in dem du Terraform-Konfigurationsdateien erstellen kannst

mkdir terraform
cd terraform/

Benutze einen Editor deiner Wahl und kopiere die folgenden Konfigurationen, um variables.tf, terraform.tfvars und main.tf zu erstellen

Erstelle ‚main.tf‘, die für die Erstellung einer VPC auf AWS verantwortlich ist. Mit der folgenden Konfiguration werden eine VPC, ein Internet-Gateway, eine Routentabelle, eine Availability Zone und eine Sicherheitsgruppe erstellt. Diese main.tf liest die Werte der Variablen ausvariables.tf undterraform.tfvars.

vim main.tf

provider "aws" {
      region     = "${var.region}"
      access_key = "${var.access_key}"
      secret_key = "${var.secret_key}"
}
resource "aws_vpc" "vpc" {
     cidr_block = "10.0.0.0/16"
}
resource "aws_internet_gateway" "gateway" {
     vpc_id = "${aws_vpc.vpc.id}"
}
resource "aws_route" "route" {
     route_table_id         = "${aws_vpc.vpc.main_route_table_id}"
     destination_cidr_block = "0.0.0.0/0"
     gateway_id             = "${aws_internet_gateway.gateway.id}"
}
data "aws_availability_zones" "available" {}
resource "aws_subnet" "main" {
    count                   = "${length(data.aws_availability_zones.available.names)}"
    vpc_id                  = "${aws_vpc.vpc.id}"
    cidr_block              = "10.0.${count.index}.0/24"
    map_public_ip_on_launch = true
    availability_zone       = "${element(data.aws_availability_zones.available.names, count.index)}"
}
resource "aws_security_group" "default" {
     name        = "http-https-allow"
     description = "Allow incoming HTTP and HTTPS and Connections"
     vpc_id      = "${aws_vpc.vpc.id}"
     ingress {
         from_port = 80
         to_port = 80
         protocol = "tcp"
         cidr_blocks = ["0.0.0.0/0"]
    }
     ingress {
         from_port = 443
         to_port = 443
         protocol = "tcp"
         cidr_blocks = ["0.0.0.0/0"]
    }
}

Erstelle“variables.tf“, die die Deklaration der Variablen enthält.

vim variables.tf

variable "access_key" {
     description = "Access key to AWS console"
}
variable "secret_key" {
     description = "Secret key to AWS console"
}
variable "region" {
     description = "Region of AWS VPC"
}

Erstelle“terraform.tfvars“, die die Definition der in der obigen Datei definierten Variablen enthält.

vimterraform.tfvars

region = "eu-west-3"
access_key = "AKIAQ6GAIA5XDX32PVJ6"
secret_key = "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"

Jetzt solltest du 3 Dateien haben, nämlichvariables.tf, terraform.tfvars und main.tf

Erstelle eine VPC mit Hilfe der Terraform-Konfigurationsdateien

Der erste Befehl, den du verwenden musst, ist „terraform init“. Dieser Befehllädt die Plugins für die in der Konfiguration verwendeten Provider herunter und installiert sie. In unserem Fall ist es aws.

terraform init

VPS mit Terraform erstellen

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

terraform plan

Terraform Plan

Der Befehl „terraform apply“ legt die Ressourcen auf den in der Datei main.tf genannten aws an. Du wirst aufgefordert, deine Daten einzugeben, um die Ressourcen zu erstellen.

terraform apply

Terraform Bewerben

Du kannst die AWS VPC Konsole aufrufen, um zu überprüfen, ob die VPC erstellt wurde.

VPS erstellt mit Terraform

Lösche die erstellte VPC mit Terraform

Wenn du weißt, dass du noch weitere Ressourcen benötigst, die du mit der in der Datei main.tf angegebenen Konfiguration erstellt hast, kannst du den Befehl „terraform destroy“ verwenden, um alle diese Ressourcen zu löschen.

terraform zerstören

Terraform zerstören

Fazit

In diesem Artikel haben wir die Schritte zur Installation von Terraform gesehen. Außerdem haben wir die erforderliche Konfiguration für die Erstellung einer VPC und einige andere Ressourcen kennengelernt. Jetzt sind wir auch mit der Deklaration und Definition von Variablen vertraut.

Das könnte dich auch interessieren …