AWS bietet einen VPC -Dienst (Virtual Private Cloud) für das Erstellen eines logisch isolierten virtuellen Netzwerks in der Cloud. Hier können wir EC2- und RDS -Instanzen starten und Sicherheitsgruppen und andere Ressourcen erstellen. Wie viele andere Aufgaben können wir auch ein VPC mit Terraform erstellen.
Was wir abdecken werden
Diese Anleitung zeigt, wie Sie mit Terraform ein AWS -VPC (Virtual Private Cloud) erstellen können.
Was wirst du brauchen
Erstellen von AWS VPC mit Terraform
Nachdem wir Terraform auf unserer lokalen Maschine installiert haben, können wir unsere Aufgabe, mit VPC zusammenzuarbeiten, fortsetzen. Hier haben wir das VPC -Setup für unseren Fall beschrieben:
Wir haben ein privates und ein öffentliches Subnetz mit ihrer entsprechenden Routentabelle. Das öffentliche Subnetz hat auch ein NAT -Gateway daran beigefügt. Die Terraform -Konfiguration für verschiedene Komponenten wird in verschiedenen Dateien gespeichert wie:
Wie bereits erwähnt, verwendet Terraform mehrere Konfigurationsdateien für Bereitstellungsressourcen, und jede dieser Dateien muss sich in ihrem jeweiligen Arbeitsordner/Verzeichnis befinden. Lassen Sie uns zu diesem Zweck ein Verzeichnis erstellen:
Schritt 1. Erstellen Sie einen Ordner, in dem Ihre Konfigurationsdateien gespeichert sind, und navigieren Sie dann zu diesem Ordner:
1 | $ mkdir linuxHint-terraform && cd linuxHint-terraform |
Schritt 2. Lassen Sie uns unsere erste Konfigurationsdatei „Variablen“ erstellen.TF “, die Informationen über unsere AWS -Region und die Art der Instanz enthalten, die wir verwenden möchten:
1 | $ nano Variablen.tf |
Geben Sie nun den folgenden Text hinein und speichern Sie die Datei:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Variable "aws_region" |
Schritt 3. Erstellen Sie VPC.tf:
1 | $ nano vpc.tf |
Geben Sie nun den folgenden Text hinein und speichern Sie die Datei:
1 2 3 4 5 | Ressource "AWS_VPC" "my-vpc" |
Schritt 4. Gateway erstellen.TF -Datei und Definieren Sie hier Internet Gateway und Nat Gateway:
1 | $ nano Gateway.tf |
Geben Sie nun den folgenden Text hinein und speichern Sie die Datei:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Erstellen Sie die Internet -Gateway -Ressource und fügen Sie sie dem VPC hinzu |
Schritt 5. Subnetze erstellen.TF für die privaten und öffentlichen Subnetze im VPC:
1 | $ nano subnetze.tf |
Geben Sie nun den folgenden Text hinein und speichern Sie die Datei:
1 2 3 4 5 6 7 8 9 | Ressource "AWS_SUBNET" "MYPRivateSubnet" |
Schritt 6. Routentisch erstellen.TF für private und öffentliche Subnetze:
1 | $ nano route table.tf |
Geben Sie nun den folgenden Text hinein und speichern Sie die Datei:
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 | # RT für private Subnetze erstellen |
Schritt 7. Mach ein „Haupt.TF ”-Datei, die die Definition für unsere Infrastruktur enthält:
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 | Terraform |
Modifiziere den "NutzernameIm obigen Code mit dem Benutzernamen in Ihrem Fall. Lassen Sie uns ein wenig über die in den vorherigen Dateien verwendeten Parameter sehen:
Initialisierung des Terraform -Verzeichnisses
Um den in unserer Konfiguration und anderen Dateien definierten Anbieter herunterzuladen und zu installieren, müssen wir das Verzeichnis mit dieser Datei initialisieren:
1 | $ terraform init |
Aufbau der Infrastruktur
Um die oben geplanten Änderungen anzuwenden, führen Sie den folgenden Befehl aus:
1 | $ Terraform gelten |
Geben Sie bei der Aufforderung „Ja“ am Terminal ein.
Überprüfung des Verfahrens
Lassen Sie uns nun überprüfen, ob der gewünschte VPC erstellt wird oder nicht. Gehen Sie zur VPC -Konsole und prüfen Sie nach den verfügbaren VPCs:
Wir können sehen, dass unser VPC erfolgreich erstellt wird.
Nachdem Sie diese Aufgabe erledigt haben, löschen Sie die Ressourcen, um unnötige Gebühren zu vermeiden:
1 | $ Terraform zerstören |
Geben Sie "Ja" ein, um die Aktion anzuwenden.
Abschluss
In diesem Leitfaden haben wir gelernt, einen VPC auf AWS mit Terraform zu erstellen. Das nächste, was Sie tun können, ist zu versuchen, eine RDS- oder EC2 -Instanz mit Terraform bereitzustellen.