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

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

Terraform ist das "Infrastructure as Code (IaC)"-Tool. Es wird verwendet, um eine sichere und wiederholbare Infrastruktur aufzubauen, zu verwalten und zu ändern 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 die Infrastruktur auf mehreren Clouds wie AWS, GCP und anderen zu verwalten. Terraform erstellt eine Zustandsdatei, die die Quelle der Wahrheit für die Ressourcenkonfigurationen ist. Dies bedeutet, dass diese Zustandsdatei bei jeder Erstellung von Ressourcen mit dem Zustand der erstellten Ressourcen aktualisiert wird.

In diesem Artikel sehen wir die Schritte zum Installieren von Terraform auf Ubuntu und zum Erstellen einer VPC in der AWS-Cloud.

Um mehr über Terraform zu erfahren, klicken Sie hier.

Voraussetzungen

  1. AWS-Konto (erstellen, falls Sie noch keins haben).
  2. Eine EC2-Instanz (Klicken Sie hier, um zu erfahren, wie Sie eine EC2-Instanz erstellen)
  3. Root-Zugriff auf die Server.
  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. Terraform installieren 
  2. Terraform-Konfigurationsdateien schreiben.
  3. Erstellen Sie eine VPC mit den Terraform-Konfigurationsdateien
  4. Löschen Sie die erstellte VPC mit Terraform

Terraform installieren

Die Installation von Terraform ist ziemlich einfach und unkompliziert. Hier finden Sie das passende Paket für Ihr System.

Bevor Sie die Datei herunterladen, installieren wir das 'wget'- und 'unzip'-Paket, wenn es nicht auf dem System verfügbar ist, indem Sie die folgenden Befehle verwenden.

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

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

cd /opt/
mkdir terraform
cd terraform/

Laden Sie das Terraform-Paket mit dem Befehl 'wget' herunter und entpacken Sie 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

Sobald Sie das heruntergeladene Paket entpackt haben, sehen Sie ein binäres 'Terraform'. Verschieben Sie diese Binärdatei nach /usr/local/bin/.

Sie können überprüfen, ob die Installation erfolgreich war oder nicht, indem Sie den Terraform-Befehl verwenden, aber seine Version überprüfen.

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

Terraform-Konfigurationsdateien schreiben

Erstellen Sie ein dediziertes Verzeichnis, in dem Sie Terraform-Konfigurationsdateien erstellen können

mkdir terraform
cd terraform/

Verwenden Sie einen Editor Ihrer Wahl und kopieren Sie die folgenden Konfigurationen und fügen Sie sie ein, um variables.tf, terraform.tfvars und main.tf zu erstellen

Erstellen Sie „main.tf“, das für die Erstellung von VPC auf AWS verantwortlich ist. Die folgende Konfiguration erstellt eine VPC, ein Internet-Gateway, eine Routing-Tabelle, eine Verfügbarkeitszone und eine Sicherheitsgruppe. Diese main.tf liest Werte von Variablen aus variables.tf und terraform.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"]
    }
}

Erstellen Sie 'variables.tf', das die Deklaration der Variablen enthält.

vim-Variablen.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"
}

Erstellen Sie 'terraform.tfvars', das die Definition der in der obigen Datei definierten Variablen enthält.

vim terraform.tfvars

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

Jetzt sollten Sie drei Dateien haben, nämlich variables.tf, terraform.tfvars und main.tf

Erstellen Sie eine VPC mit den Terraform-Konfigurationsdateien

Der erste zu verwendende Befehl ist „terraform init“. Mit diesem Befehl werden Plug-ins für Anbieter, die in der Konfiguration verwendet werden, heruntergeladen und installiert. 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.

Terraformplan

Der Befehl „terraform apply“ erstellt die Ressourcen auf den aws, die in der Datei „main.tf“ erwähnt werden. Sie werden aufgefordert, Ihre Eingaben zum Erstellen der Ressourcen zu machen.

terraform anwenden

Sie können zur AWS-VPC-Konsole gehen, um zu überprüfen, ob die VPC erstellt wurde.

Löschen Sie die erstellte VPC mit Terraform

Wenn Sie weitere erforderliche Ressourcen kennen, die Sie mit der in der main.tf-Datei erwähnten Konfiguration erstellt haben, können Sie den Befehl "terraform destroy" verwenden, um alle diese Ressourcen zu löschen.

Terraform zerstören

Fazit

In diesem Artikel haben wir die Schritte zur Installation von Terraform gesehen. Wir haben auch die erforderliche Konfiguration zum Erstellen einer VPC zusammen mit einigen anderen zugehörigen Ressourcen gesehen. Jetzt sind wir auch mit der Deklaration und Definition von Variablen vertraut.


Linux
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. Was ist ein cURL-Befehl und wie wird er verwendet?

  3. So installieren und verwenden Sie Flatpak unter Linux

  4. So installieren und verwenden Sie Traceroute unter Linux

  5. Was ist Build-Essential-Ubuntu, wie wird es installiert und verwendet?

So installieren und verwenden Sie phpMyAdmin unter Linux

So installieren und verwenden Sie R unter Ubuntu

So installieren und verwenden Sie den fd-Befehl unter Linux

So installieren und verwenden Sie Nu Shell unter Linux

Was ist EasyApache und wie verwende ich es?

So installieren und verwenden Sie Docker unter AlmaLinux 8