Mit dem Anstieg der Cloud-Computing-Technologie migrieren mehr Branchen ihre Workloads auf Cloud-basierte Infrastruktur. Infolge dieses Musters haben Technologen die Notwendigkeit eines Mechanismus für die Automatisierung des Prozesses der Instanzbereitstellung (und anderer Cloud -Ressourcen) der Meinung, dass es sich. Terraform ist ein solches Open-Source-Tool, um diesen Fortschritt zu erleichtern.
Was wir abdecken werden
Dieser Artikel zeigt, wie wir mit Terraform eine EC2 -Instanz auf AWS erstellen können. Wir werden ein Beispiel für die Installation eines einfachen Webservers in dieser Instanz sehen. Lassen Sie uns zuerst ein wenig über die Installation von Terraform sprechen.
Wie Sie Terraform installieren können
Offizielle Terraform-Pakete für verschiedene Betriebssysteme wie Windows, Mac und Linux-basierte Distributiere wie Ubuntu/Debian, CentOS/Rhel usw., stehen zur Verfügung. Darüber hinaus unterhält Terraform vor dem Kompilieren von Binärdateien und kann auch aus der Quelle zusammengestellt werden. Sie können die verschiedenen Installationsverfahren auf der Terraform -Website überprüfen. Führen Sie den folgenden Befehl aus, um Ihre Terraforminstallation zu überprüfen:
1 | $ terraform -version |
Erstellen einer AWS -EC2 -Instanz mit Terraform
Nach der Installation von Terraform in Ihrem System erstellen Sie eine EC2 -Instanz auf AWS. Es gibt einige Dateien, um eine Terraform -Bereitstellung effektiv zu verwalten. Obwohl wir eine einzelne Datei erstellen und alle Dinge deklarieren können, wird dieser Ansatz das gesamte Szenario ungeschickt. Lassen Sie uns zunächst ein Arbeitsverzeichnis erstellen, wie es im Folgenden zu sehen ist:
Schritt 1. Beginnen Sie mit einem Ordner, der alle Konfigurationsdateien enthält. Erstellen Sie den Ordner und bewegen Sie sich wie im Folgenden dargestellt:
1 | $ mkdir linuxHint-terraform && cd linuxHint-terraform |
Schritt 2. Lassen Sie uns unsere erste Konfigurationsdatei „Variablen“ erstellen.TF “, das Informationen über unsere AWS -Region und die Art der Instanz enthält, die wir verwenden möchten, wie im Folgenden dargestellt:
1 | $ nano Variablen.tf |
Geben Sie nun den folgenden Text in ihn ein und speichern Sie die Datei wie im Folgenden dargestellt:
1 2 3 4 5 6 7 8 9 10 | Variable "aws_region" |
Schritt 3. Wenn Terraform eine neue Instanz erstellt. Wir werden daher eine neue Datei „SecGgrp erstellen.TF ”, um eine Sicherheitsgruppe,„ Web-SG “, zu erstellen, mit der der eingehende„ SSH “- und „HTTP“ -Ver Datenverkehr sowie den gesamten ausgehenden Verkehr, wie im Folgenden gezeigt, ermöglicht:
1 | $ nano secgrp.tf |
Setzen Sie nun den folgenden Code in ihn ein, wie im Folgenden gezeigt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Ressource "aws_security_group" "web-Sg" |
Schritt 4. Erstellen Sie ein „Haupt.TF ”-Datei, die die gewünschte Infrastruktur definiert, wie im Folgenden dargestellt:
1 | $ nano main.tf |
Stellen Sie nun die folgende Konfiguration hinein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | Terraform |
Vergessen Sie im vorherigen Cod. Lassen Sie uns ein wenig über die in den obigen Dateien verwendeten Parameter sehen:
aws_instance: Dies schafft eine EC2 -Instanzressource. Instanzen können erstellt, geändert und zerstört werden
AMI: Geben Sie die AMI -ID an, die mit der EC2 -Instanz verwendet werden soll
Instance_type: Diese Option wird verwendet, um den Typ der zu verwendenden Instanz zu deklarieren
KEY_NAME: Gibt den Namen des Schlüsselpaars an, das mit der EC2 -Instanz verwendet werden soll
vpc_security_group_ids: Ein Argument für eine Liste von Sicherheitsgruppen -IDs, die angehängt sind
associate_public_ip_address: Geben Sie an, ob die öffentliche IP mit einer Instanz in einem VPC angeschlossen werden soll
Benutzerdaten: Wird zum Übergeben von Befehlen/Daten in einer Instanz beim Starten verwendet
Initialisieren Sie nun Terraform, indem Sie den folgenden Befehl ausführen:
1 | $ terraform init |
Wenden Sie nun die Änderungen mit dem folgenden Befehl an:
1 | $ Terraform gelten |
Überprüfung des Verfahrens
Lassen Sie uns nun überprüfen, ob die gewünschte EC2 -Instanz erstellt wird. Gehen Sie zur EC2 -Konsole und überprüfen Sie die laufenden Instanzen, wie im folgenden Bild gezeigt:
Da unsere Instanz erfolgreich erstellt wurde, werden wir nun sehen, ob die von uns bereitgestellte Website korrekt funktioniert oder nicht. Kopieren Sie den DNS -Namen oder die öffentliche IP der Instanz und geben Sie ihn in einen Webbrowser ein, wie im Folgenden gezeigt:
Gut gemacht! Unser Webserver funktioniert gut.
Aufräumen der Ressourcen
Wenn Sie Ihre Infrastruktur getestet haben oder wenn Sie dies nicht benötigen, räumen Sie die Ressourcen auf, indem Sie den folgenden Befehl ausführen:
1 | $ Terraform zerstören |
Abschluss
Dieser Leitfaden hat uns über das Erstellen einer EC2 -Instanz auf AWS mit Terraform gelernt. Wir haben auch gezeigt, wie ein einfacher AWS -Webserver mit Terraform bereitgestellt wird.