Erste Schritte mit Amazon VPC mithilfe der CLI AWS - Amazon Virtual Private Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erste Schritte mit Amazon VPC mithilfe der CLI AWS

Dieses Tutorial führt Sie durch die Erstellung einer Virtual Private Cloud (VPC) mithilfe der AWS Befehlszeilenschnittstelle (AWS CLI). Sie erfahren, wie Sie eine VPC mit öffentlichen und privaten Subnetzen einrichten, Internetkonnektivität konfigurieren und EC2 Instances bereitstellen, um eine gemeinsame Webanwendungsarchitektur zu demonstrieren.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  1. Das AWS CLI. Wenn Sie es installieren müssen, folgen Sie der AWS CLI Installationsanleitung.

  2. Hat Ihre AWS CLI mit den entsprechenden Anmeldeinformationen konfiguriert. Führen Sie aws configure es aus, wenn Sie Ihre Anmeldeinformationen noch nicht eingerichtet haben.

  3. Grundlegendes Verständnis von Netzwerkkonzepten.

  4. Identity and Access Management für Amazon VPCum VPC-Ressourcen in Ihrem AWS Konto zu erstellen und zu verwalten.

Kostenüberlegungen

In diesem Tutorial werden AWS Ressourcen erstellt, für die möglicherweise Kosten in Ihrem Konto anfallen. Die Hauptkosten entfallen auf das NAT-Gateway (0,045 USD pro Stunde zuzüglich Datenverarbeitungsgebühren) und die EC2 Instances (t2.micro, jeweils etwa 0,0116 USD pro Stunde). Wenn Sie dieses Tutorial in einer Stunde abschließen und anschließend alle Ressourcen bereinigen, belaufen sich die Gesamtkosten auf etwa 0,07 USD. Zur Kostenoptimierung in Entwicklungsumgebungen sollten Sie die Verwendung einer NAT-Instance anstelle eines NAT-Gateways in Betracht ziehen, wodurch die Kosten erheblich gesenkt werden können.

Lassen Sie uns überprüfen, ob Ihr AWS CLI System ordnungsgemäß konfiguriert ist, bevor wir fortfahren.

aws configure list

Sie sollten Ihren AWS Zugriffsschlüssel, Ihren geheimen Schlüssel und Ihre Standardregion sehen. Stellen Sie außerdem sicher, dass Sie über die erforderlichen Berechtigungen zum Erstellen von VPC-Ressourcen verfügen.

aws sts get-caller-identity

Dieser Befehl zeigt Ihre AWS Konto-ID, Benutzer-ID und ARN an und bestätigt, dass Ihre Anmeldeinformationen gültig sind.

Erstellen einer VPC

Eine Virtual Private Cloud (VPC) ist ein virtuelles Netzwerk, das Ihrem AWS Konto gewidmet ist. In diesem Abschnitt erstellen Sie eine VPC mit einem CIDR-Block von 10.0.0.0/16, der bis zu 65.536 IP-Adressen bereitstellt.

Erstellen Sie die VPC

Der folgende Befehl erstellt eine neue VPC und weist ihr ein Namens-Tag zu.

aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=MyVPC}]'

Notieren Sie sich die VPC-ID in der Ausgabe. Sie benötigen sie für nachfolgende Befehle. Für dieses Tutorial verwenden wir „vpc-0123456789abcdef0" als Beispiel für eine VPC-ID. Ersetzen Sie dies in allen Befehlen durch Ihre tatsächliche VPC-ID.

Aktivieren Sie DNS-Unterstützung und Hostnamen

Standardmäßig sind DNS-Auflösung und DNS-Hostnamen in einer neuen VPC deaktiviert. Aktivieren Sie diese Funktionen, damit Instances in Ihrer VPC Domainnamen auflösen können.

aws ec2 modify-vpc-attribute --vpc-id vpc-0123456789abcdef0 --enable-dns-support aws ec2 modify-vpc-attribute --vpc-id vpc-0123456789abcdef0 --enable-dns-hostnames

Diese Befehle erzeugen keine Ausgabe, wenn sie erfolgreich sind. In Ihrer VPC sind jetzt DNS-Unterstützung und Hostnamenauflösung aktiviert.

Subnetze erstellen

Subnetze sind Segmente des IP-Adressbereichs einer VPC, in denen Sie Gruppen isolierter Ressourcen platzieren können. In diesem Abschnitt erstellen Sie öffentliche und private Subnetze in zwei Availability Zones, um eine hohe Verfügbarkeit zu gewährleisten.

Holen Sie sich verfügbare Availability Zones

Rufen Sie zunächst die in Ihrer Region verfügbaren Availability Zones ab.

aws ec2 describe-availability-zones

Für dieses Tutorial verwenden wir die ersten beiden Availability Zones. Notieren Sie sich ihre Namen aus der Ausgabe (z. B. „us-east-1a“ und „us-east-1b“).

Erstellen Sie öffentliche Subnetze

Öffentliche Subnetze werden für Ressourcen verwendet, auf die über das Internet zugegriffen werden muss, z. B. Webserver.

aws ec2 create-subnet \ --vpc-id vpc-0123456789abcdef0 \ --cidr-block 10.0.0.0/24 \ --availability-zone us-east-1a \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=Public-Subnet-AZ1}]'

Notieren Sie sich die Subnetz-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „subnet-0123456789abcdef0" als Beispiel für das erste öffentliche Subnetz.

aws ec2 create-subnet \ --vpc-id vpc-0123456789abcdef0 \ --cidr-block 10.0.1.0/24 \ --availability-zone us-east-1b \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=Public-Subnet-AZ2}]'

Notieren Sie sich die Subnetz-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „subnet-0123456789abcdef1" als Beispiel für das zweite öffentliche Subnetz.

Erstellen privater Subnetze

Private Subnetze werden für Ressourcen verwendet, auf die nicht direkt über das Internet zugegriffen werden sollte, z. B. für Datenbanken.

aws ec2 create-subnet \ --vpc-id vpc-0123456789abcdef0 \ --cidr-block 10.0.2.0/24 \ --availability-zone us-east-1a \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=Private-Subnet-AZ1}]'

Notieren Sie sich die Subnetz-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „subnet-0123456789abcdef2" als Beispiel für das erste private Subnetz.

aws ec2 create-subnet \ --vpc-id vpc-0123456789abcdef0 \ --cidr-block 10.0.3.0/24 \ --availability-zone us-east-1b \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=Private-Subnet-AZ2}]'

Notieren Sie sich die Subnetz-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „subnet-0123456789abcdef3" als Beispiel für das zweite private Subnetz.

Sie haben jetzt vier Subnetze: zwei öffentliche Subnetze und zwei private Subnetze, die auf zwei Availability Zones verteilt sind.

Tipp: Achten Sie bei der Planung Ihrer CIDR-Blöcke darauf, dass sie sich nicht mit Ihren bestehenden Netzwerken überschneiden. Für Produktionsumgebungen sollten Sie genügend IP-Adressen für future Wachstum zuweisen und gleichzeitig die Subnetze aus Sicherheits- und Verwaltungsgründen angemessen dimensionieren.

Konfigurieren Sie die Internetkonnektivität

Damit Ressourcen in Ihrer VPC mit dem Internet kommunizieren können, müssen Sie ein Internet Gateway erstellen und anhängen. In diesem Abschnitt richten Sie die Internetverbindung für Ihre VPC ein.

Erstellen eines Internet-Gateways

Ein Internet Gateway ermöglicht die Kommunikation zwischen Ihrer VPC und dem Internet.

aws ec2 create-internet-gateway \ --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=MyIGW}]'

Notieren Sie sich die Internet-Gateway-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „igw-0123456789abcdef0" als Beispiel.

Verbinden Sie das Internet Gateway mit Ihrer VPC

Nachdem Sie das Internet Gateway erstellt haben, fügen Sie es Ihrer VPC hinzu.

aws ec2 attach-internet-gateway --internet-gateway-id igw-0123456789abcdef0 --vpc-id vpc-0123456789abcdef0

Erstellen und konfigurieren Sie Routentabellen

Routentabellen enthalten Regeln (Routen), die bestimmen, wohin der Netzwerkverkehr geleitet wird. Erstellen Sie zunächst eine Routentabelle für Ihre öffentlichen Subnetze.

aws ec2 create-route-table \ --vpc-id vpc-0123456789abcdef0 \ --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=Public-RT}]'

Notieren Sie sich die Routentabellen-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „rtb-0123456789abcdef0" als Beispiel für die öffentliche Routentabelle.

Fügen Sie in der Tabelle für öffentliche Routen eine Route zum Internet Gateway hinzu.

aws ec2 create-route --route-table-id rtb-0123456789abcdef0 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-0123456789abcdef0

Ordnen Sie die öffentlichen Subnetze der öffentlichen Routing-Tabelle zu.

aws ec2 associate-route-table --route-table-id rtb-0123456789abcdef0 --subnet-id subnet-0123456789abcdef0 aws ec2 associate-route-table --route-table-id rtb-0123456789abcdef0 --subnet-id subnet-0123456789abcdef1

Erstellen Sie jetzt eine Routentabelle für Ihre privaten Subnetze.

aws ec2 create-route-table \ --vpc-id vpc-0123456789abcdef0 \ --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=Private-RT}]'

Notieren Sie sich die Routentabellen-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „rtb-0123456789abcdef1" als Beispiel für die private Routentabelle.

Ordnen Sie die privaten Subnetze der privaten Routentabelle zu.

aws ec2 associate-route-table --route-table-id rtb-0123456789abcdef1 --subnet-id subnet-0123456789abcdef2 aws ec2 associate-route-table --route-table-id rtb-0123456789abcdef1 --subnet-id subnet-0123456789abcdef3

Erstellen Sie ein NAT-Gateway

Ein NAT-Gateway ermöglicht es Instances in privaten Subnetzen, ausgehenden Datenverkehr ins Internet zu initiieren und gleichzeitig eingehenden Datenverkehr aus dem Internet zu verhindern. Dies ist wichtig für Instanzen, die Updates herunterladen oder auf externe Dienste zugreifen müssen.

Weisen Sie eine Elastic IP zu

Weisen Sie Ihrem NAT-Gateway zunächst eine Elastic IP-Adresse zu.

aws ec2 allocate-address --domain vpc

Notieren Sie sich die Zuweisungs-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „eipalloc-0123456789abcdef0" als Beispiel.

Erstellen Sie das NAT-Gateway

Erstellen Sie mithilfe der zugewiesenen Elastic IP ein NAT-Gateway in einem Ihrer öffentlichen Subnetze.

aws ec2 create-nat-gateway \ --subnet-id subnet-0123456789abcdef0 \ --allocation-id eipalloc-0123456789abcdef0 \ --tag-specifications 'ResourceType=natgateway,Tags=[{Key=Name,Value=MyNATGateway}]'

Notieren Sie sich die NAT-Gateway-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „nat-0123456789abcdef0" als Beispiel.

Warten Sie, bis das NAT-Gateway verfügbar ist, bevor Sie fortfahren.

aws ec2 wait nat-gateway-available --nat-gateway-ids nat-0123456789abcdef0

Fügen Sie dem NAT-Gateway eine Route hinzu

Fügen Sie in der Tabelle für private Routen eine Route zum NAT-Gateway hinzu, damit Instances in privaten Subnetzen auf das Internet zugreifen können.

aws ec2 create-route --route-table-id rtb-0123456789abcdef1 --destination-cidr-block 0.0.0.0/0 --nat-gateway-id nat-0123456789abcdef0

Hinweis: Für Produktionsumgebungen sollten Sie erwägen, in jeder Availability Zone, in der Sie über private Subnetze verfügen, ein NAT-Gateway einzurichten, um einzelne Fehlerquellen zu vermeiden.

Konfigurieren Sie die Subnetzeinstellungen

Konfigurieren Sie Ihre öffentlichen Subnetze so, dass den in ihnen gestarteten Instances automatisch öffentliche IP-Adressen zugewiesen werden.

aws ec2 modify-subnet-attribute --subnet-id subnet-0123456789abcdef0 --map-public-ip-on-launch aws ec2 modify-subnet-attribute --subnet-id subnet-0123456789abcdef1 --map-public-ip-on-launch

Dadurch wird sichergestellt, dass Instances, die in Ihren öffentlichen Subnetzen gestartet werden, standardmäßig eine öffentliche IP-Adresse erhalten, sodass sie vom Internet aus zugänglich sind.

Erstellen Sie Sicherheitsgruppen

Sicherheitsgruppen dienen als virtuelle Firewalls für Ihre Instances, um den eingehenden und ausgehenden Datenverkehr zu kontrollieren. In diesem Abschnitt erstellen Sie Sicherheitsgruppen für Webserver und Datenbankserver.

Erstellen Sie eine Sicherheitsgruppe für Webserver

aws ec2 create-security-group \ --group-name WebServerSG \ --description "Security group for web servers" \ --vpc-id vpc-0123456789abcdef0

Notieren Sie sich die Sicherheitsgruppen-ID aus der Ausgabe. In diesem Tutorial verwenden wir „sg-0123456789abcdef0" als Beispiel für die Webserver-Sicherheitsgruppe.

Erlauben Sie HTTP- und HTTPS-Verkehr zu Ihren Webservern.

aws ec2 authorize-security-group-ingress --group-id sg-0123456789abcdef0 --protocol tcp --port 80 --cidr 0.0.0.0/0 aws ec2 authorize-security-group-ingress --group-id sg-0123456789abcdef0 --protocol tcp --port 443 --cidr 0.0.0.0/0

Hinweis: Beschränken Sie in Produktionsumgebungen den eingehenden Datenverkehr auf bestimmte IP-Bereiche, anstatt Datenverkehr von 0.0.0.0/0 (beliebige IP-Adresse) zuzulassen.

Erstellen Sie eine Sicherheitsgruppe für Datenbankserver

aws ec2 create-security-group \ --group-name DBServerSG \ --description "Security group for database servers" \ --vpc-id vpc-0123456789abcdef0

Notieren Sie sich die Sicherheitsgruppen-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „sg-0123456789abcdef1" als Beispiel für die Datenbankserver-Sicherheitsgruppe.

Erlaube nur Datenverkehr von Webservern. MySQL/Aurora

aws ec2 authorize-security-group-ingress --group-id sg-0123456789abcdef1 --protocol tcp --port 3306 --source-group sg-0123456789abcdef0

Diese Konfiguration stellt sicher, dass nur Instanzen der Webserver-Sicherheitsgruppe eine Verbindung zu Ihren Datenbankservern über Port 3306 herstellen können. Dabei gilt das Prinzip der geringsten Rechte.

Ihre VPC-Konfiguration überprüfen

Nachdem Sie alle erforderlichen Komponenten erstellt haben, überprüfen Sie Ihre VPC-Konfiguration, um sicherzustellen, dass alles korrekt eingerichtet ist.

Überprüfen Sie Ihre VPC

aws ec2 describe-vpcs --vpc-id vpc-0123456789abcdef0

Überprüfen Sie Ihre Subnetze

aws ec2 describe-subnets --filters "Name=vpc-id,Values=vpc-0123456789abcdef0"

Überprüfe deine Routing-Tabellen

aws ec2 describe-route-tables --filters "Name=vpc-id,Values=vpc-0123456789abcdef0"

Überprüfen Sie Ihr Internet Gateway

aws ec2 describe-internet-gateways --filters "Name=attachment.vpc-id,Values=vpc-0123456789abcdef0"

Überprüfen Sie Ihr NAT-Gateway

aws ec2 describe-nat-gateways --filter "Name=vpc-id,Values=vpc-0123456789abcdef0"

Überprüfen Sie Ihre Sicherheitsgruppen

aws ec2 describe-security-groups --filters "Name=vpc-id,Values=vpc-0123456789abcdef0"

Diese Befehle bieten detaillierte Informationen zu jeder Komponente Ihrer VPC, sodass Sie überprüfen können, ob alles korrekt konfiguriert ist.

Stellen Sie Instanzen bereit EC2

Nachdem Sie Ihre VPC-Infrastruktur erstellt haben, können Sie EC2 Instances bereitstellen, um zu demonstrieren, wie die Architektur funktioniert. Sie starten einen Webserver in einem öffentlichen Subnetz und einen Datenbankserver in einem privaten Subnetz.

Erstellen Sie ein key pair für den SSH-Zugriff

Erstellen Sie zunächst ein key pair, um eine sichere Verbindung zu Ihren Instances herzustellen:

aws ec2 create-key-pair --key-name vpc-tutorial-key --query 'KeyMaterial' --output text > vpc-tutorial-key.pem chmod 400 vpc-tutorial-key.pem

Dieser Befehl erstellt ein neues key pair und speichert den privaten Schlüssel in einer Datei mit eingeschränkten Rechten.

Finden Sie das neueste Amazon Linux 2 AMI

Finden Sie das neueste Amazon Linux 2-AMI, das Sie für Ihre Instances verwenden können:

aws ec2 describe-images --owners amazon \ --filters "Name=name,Values=amzn2-ami-hvm-*-x86_64-gp2" "Name=state,Values=available" \ --query "sort_by(Images, &CreationDate)[-1].ImageId" --output text

Notieren Sie sich die AMI-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „ami-0123456789abcdef0" als Beispiel.

Starten Sie einen Webserver im öffentlichen Subnetz

Starten Sie jetzt eine EC2 Instance im öffentlichen Subnetz, die als Webserver dient:

aws ec2 run-instances \ --image-id ami-0123456789abcdef0 \ --count 1 \ --instance-type t2.micro \ --key-name vpc-tutorial-key \ --security-group-ids sg-0123456789abcdef0 \ --subnet-id subnet-0123456789abcdef0 \ --associate-public-ip-address \ --user-data '#!/bin/bash yum update -y yum install -y httpd systemctl start httpd systemctl enable httpd echo "<h1>Hello from $(hostname -f)</h1>" > /var/www/html/index.html' \ --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=WebServer}]'

Notieren Sie sich die Instanz-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „i-0123456789abcdef0" als Beispiel für die Webserver-Instanz.

Starten Sie einen Datenbankserver im privaten Subnetz

Starten Sie als Nächstes eine EC2 Instance im privaten Subnetz, die als Datenbankserver dient:

aws ec2 run-instances \ --image-id ami-0123456789abcdef0 \ --count 1 \ --instance-type t2.micro \ --key-name vpc-tutorial-key \ --security-group-ids sg-0123456789abcdef1 \ --subnet-id subnet-0123456789abcdef2 \ --user-data '#!/bin/bash yum update -y yum install -y mariadb-server systemctl start mariadb systemctl enable mariadb' \ --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=DBServer}]'

Notieren Sie sich die Instanz-ID aus der Ausgabe. Für dieses Tutorial verwenden wir „i-0123456789abcdef1" als Beispiel für die Datenbankserver-Instanz.

Greifen Sie auf Ihren Webserver zu

Sobald Ihre Webserver-Instanz läuft, können Sie über ihre öffentliche IP-Adresse darauf zugreifen:

aws ec2 describe-instances \ --instance-ids i-0123456789abcdef0 \ --query 'Reservations[0].Instances[0].PublicIpAddress' \ --output text

Dieser Befehl gibt die öffentliche IP-Adresse Ihres Webservers aus. Für dieses Tutorial verwenden wir „203.0.113.10" als Beispiel.

Sie können diese URL jetzt in Ihrem Webbrowser öffnen: http://203.0.113.10

Stellen Sie über SSH eine Connect zu Ihren Instances her

So stellen Sie eine Verbindung zu Ihrem Webserver her:

ssh -i vpc-tutorial-key.pem ec2-user@203.0.113.10

Um eine Verbindung zu Ihrem Datenbankserver herzustellen, müssen Sie zuerst SSH zu Ihrem Webserver und dann zu Ihrem Datenbankserver herstellen:

# Get the private IP of the database server aws ec2 describe-instances \ --instance-ids i-0123456789abcdef1 \ --query 'Reservations[0].Instances[0].PrivateIpAddress' \ --output text

Dieser Befehl gibt die private IP-Adresse Ihres Datenbankservers aus. Für dieses Tutorial verwenden wir „10.0.2.10" als Beispiel.

# First SSH to web server, then to database server ssh -i vpc-tutorial-key.pem -A ec2-user@203.0.113.10 ssh ec2-user@10.0.2.10

Dies demonstriert die von Ihnen erstellte Netzwerkarchitektur: Der Webserver ist öffentlich zugänglich, während der Datenbankserver nur von der VPC aus zugänglich ist.

Fehlerbehebung

Hier sind einige häufig auftretende Probleme, auf die Sie beim Erstellen einer VPC stoßen können, und wie Sie sie lösen können:

Der CIDR-Block überschneidet sich

Wenn Sie eine Fehlermeldung zu CIDR-Blocküberschneidungen erhalten, stellen Sie sicher, dass sich die CIDR-Blöcke für Ihre VPC und Subnetze nicht mit vorhandenen VPCs oder Subnetzen in Ihrem Konto überschneiden.

Fehler bei der Genehmigung

Wenn Sie auf Berechtigungsfehler stoßen, stellen Sie sicher, dass Ihr IAM-Benutzer oder Ihre IAM-Rolle über die erforderlichen Berechtigungen zum Erstellen und Verwalten von VPC-Ressourcen verfügt. Möglicherweise müssen Sie die AmazonVPCFullAccess Richtlinie anhängen oder eine benutzerdefinierte Richtlinie mit den erforderlichen Berechtigungen erstellen.

Grenzwerte für Ressourcen

AWS Konten haben Standardbeschränkungen für die Anzahl der VPCs Subnetze und anderen Ressourcen, die Sie erstellen können. Wenn Sie diese Limits erreichen, können Sie über das AWS Support Center eine Erhöhung beantragen.

Abhängigkeitsfehler bei der Bereinigung

Beim Bereinigen von Ressourcen können Abhängigkeitsfehler auftreten, wenn Sie versuchen, Ressourcen in der falschen Reihenfolge zu löschen. Löschen Sie Ressourcen immer in umgekehrter Reihenfolge, in der sie erstellt wurden, und beginnen Sie mit den Ressourcen, die am stärksten abhängig sind.

Bereinigen von -Ressourcen

Wenn Sie mit Ihrer VPC fertig sind, können Sie die Ressourcen bereinigen, um Gebühren zu vermeiden. Löschen Sie die Ressourcen in umgekehrter Reihenfolge, in der sie erstellt wurden, um Abhängigkeiten korrekt zu handhaben.

EC2 Instanzen beenden

aws ec2 terminate-instances --instance-ids i-0123456789abcdef0 i-0123456789abcdef1 aws ec2 wait instance-terminated --instance-ids i-0123456789abcdef0 i-0123456789abcdef1

Löschen Sie das key pair

aws ec2 delete-key-pair --key-name vpc-tutorial-key rm vpc-tutorial-key.pem

Löschen Sie das NAT-Gateway

aws ec2 delete-nat-gateway --nat-gateway-id nat-0123456789abcdef0 aws ec2 wait nat-gateway-deleted --nat-gateway-ids nat-0123456789abcdef0

Geben Sie die Elastic IP frei

aws ec2 release-address --allocation-id eipalloc-0123456789abcdef0

Sicherheitsgruppen löschen

aws ec2 delete-security-group --group-id sg-0123456789abcdef1 aws ec2 delete-security-group --group-id sg-0123456789abcdef0

Löschen Sie Routentabellen

Suchen Sie zunächst nach der Zuordnung der Routentabelle IDs:

aws ec2 describe-route-tables --route-table-id rtb-0123456789abcdef0 aws ec2 describe-route-tables --route-table-id rtb-0123456789abcdef1

Trennen Sie dann die Zuordnung der Routing-Tabellen zu den Subnetzen (ersetzen Sie die Zuordnung IDs durch die aus Ihrer Ausgabe):

aws ec2 disassociate-route-table --association-id rtbassoc-0123456789abcdef0 aws ec2 disassociate-route-table --association-id rtbassoc-0123456789abcdef1 aws ec2 disassociate-route-table --association-id rtbassoc-0123456789abcdef2 aws ec2 disassociate-route-table --association-id rtbassoc-0123456789abcdef3

Löschen Sie dann die Routentabellen:

aws ec2 delete-route-table --route-table-id rtb-0123456789abcdef1 aws ec2 delete-route-table --route-table-id rtb-0123456789abcdef0

Trennen und löschen Sie das Internet Gateway

aws ec2 detach-internet-gateway --internet-gateway-id igw-0123456789abcdef0 --vpc-id vpc-0123456789abcdef0 aws ec2 delete-internet-gateway --internet-gateway-id igw-0123456789abcdef0

Löschen Sie Subnetze

aws ec2 delete-subnet --subnet-id subnet-0123456789abcdef0 aws ec2 delete-subnet --subnet-id subnet-0123456789abcdef1 aws ec2 delete-subnet --subnet-id subnet-0123456789abcdef2 aws ec2 delete-subnet --subnet-id subnet-0123456789abcdef3

Löschen Sie die VPC

aws ec2 delete-vpc --vpc-id vpc-0123456789abcdef0

Geht zur Produktion

Dieses Tutorial soll Ihnen helfen, zu lernen, wie Sie eine VPC mit dem AWS CLI erstellen. Beachten Sie bei Produktionsumgebungen die folgenden bewährten Methoden für Sicherheit und Architektur:

  1. Sicherheitsgruppenregeln: Beschränken Sie den eingehenden Datenverkehr auf bestimmte IP-Bereiche, anstatt Datenverkehr ab 0.0.0.0/0 zuzulassen.

  2. Hohe Verfügbarkeit: Stellen Sie NAT-Gateways in jeder Availability Zone bereit, in der Sie über private Subnetze verfügen, um einzelne Fehlerquellen zu vermeiden.

  3. Netzwerk ACLs: Implementieren Sie das Netzwerk ACLs als zusätzliche Sicherheitsebene, die über Sicherheitsgruppen hinausgeht.

  4. VPC Flow Logs: Aktivieren Sie VPC Flow Logs, um Netzwerkverkehrsmuster zu überwachen und zu analysieren.

  5. Ressourcen-Tagging: Implementieren Sie eine umfassende Tagging-Strategie für ein besseres Ressourcenmanagement.

Weitere Informationen zum Aufbau produktionsreifer Architekturen finden Sie unter AWS Well-Architected Framework and Security Best Practices.AWS

Nächste Schritte

Nachdem Sie eine VPC mit öffentlichen und privaten Subnetzen erstellt haben, können Sie:

  1. Starten Sie EC2 Instances in Ihren öffentlichen oder privaten Subnetzen.

  2. Stellen Sie Load Balancer bereit, um den Traffic auf mehrere Instanzen zu verteilen.

  3. Richten Sie Auto Scaling Scaling-Gruppen für hohe Verfügbarkeit und Skalierbarkeit ein.

  4. Konfigurieren Sie RDS-Datenbanken in Ihren privaten Subnetzen.

  5. Implementieren Sie VPC-Peering, um sich mit anderen zu verbinden. VPCs

  6. Richten Sie VPN-Verbindungen ein, um Ihre VPC mit Ihrem lokalen Netzwerk zu verbinden.