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:
-
Das AWS CLI. Wenn Sie es installieren müssen, folgen Sie der AWS CLI Installationsanleitung.
-
Hat Ihre AWS CLI mit den entsprechenden Anmeldeinformationen konfiguriert. Führen Sie
aws configure
es aus, wenn Sie Ihre Anmeldeinformationen noch nicht eingerichtet haben. -
Grundlegendes Verständnis von Netzwerkkonzepten.
-
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:
-
Sicherheitsgruppenregeln: Beschränken Sie den eingehenden Datenverkehr auf bestimmte IP-Bereiche, anstatt Datenverkehr ab 0.0.0.0/0 zuzulassen.
-
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.
-
Netzwerk ACLs: Implementieren Sie das Netzwerk ACLs als zusätzliche Sicherheitsebene, die über Sicherheitsgruppen hinausgeht.
-
VPC Flow Logs: Aktivieren Sie VPC Flow Logs, um Netzwerkverkehrsmuster zu überwachen und zu analysieren.
-
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:
-
Starten Sie EC2 Instances in Ihren öffentlichen oder privaten Subnetzen.
-
Stellen Sie Load Balancer bereit, um den Traffic auf mehrere Instanzen zu verteilen.
-
Richten Sie Auto Scaling Scaling-Gruppen für hohe Verfügbarkeit und Skalierbarkeit ein.
-
Konfigurieren Sie RDS-Datenbanken in Ihren privaten Subnetzen.
-
Implementieren Sie VPC-Peering, um sich mit anderen zu verbinden. VPCs
-
Richten Sie VPN-Verbindungen ein, um Ihre VPC mit Ihrem lokalen Netzwerk zu verbinden.