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

Stellen Sie vor Beginn dieses Tutorials sicher, dass Sie über Folgendes verfügen:

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

  2. Hat Ihre AWS CLI mit den entsprechenden Anmeldeinformationen konfiguriert. Führen Sie aws configure aus, falls 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 können Sie anstelle eines NAT-Gateways eine NAT-Instance nutzen, was die Kosten erheblich senken kann.

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

aws configure list

Sie sollten Ihren AWS Zugriffsschlüssel, Ihren geheimen Schlüssel und Ihre Standardregion sehen. Außerdem sollten Sie sich vergewissern, dass Sie die erforderlichen Berechtigungen haben, um VPC-Ressourcen zu erstellen.

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 dem CIDR-Block 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 spätere Befehle. Für die Zwecke dieses Tutorials verwenden wir die VPC-ID „vpc-0123456789abcdef0“. Ersetzen Sie diesen Beispielwert in allen Befehlen durch Ihre tatsächliche VPC-ID.

Aktivieren von DNS-Unterstützung und Hostnamen

Standardmäßig sind DNS-Auflösung und DNS-Hostnamen in einer neuen VPC deaktiviert. Aktivieren Sie dieses Feature, 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 bei erfolgreicher Ausführung keine Ausgabe. DNS-Unterstützung und Hostnamenauflösung sind für Ihre VPC jetzt aktiviert.

Erstellen von Subnetzen

Subnetze sind Segmente des IP-Adressbereichs einer VPC, in dem 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 erzielen.

Abrufen verfügbarer Availability Zones

Rufen Sie zuerst die in Ihrer Region verfügbaren Availability Zones ab.

aws ec2 describe-availability-zones

In diesem Tutorial verwenden wir die ersten beiden Availability Zones. Notieren Sie sich ihre Namen in der Ausgabe („us-east-1a“ und „us-east-1b“).

Erstellen öffentlicher Subnetze

Öffentliche Subnetze werden für Ressourcen verwendet, die über das Internet erreichbar sein müssen, 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 in 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 in 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, die nicht direkt über das Internet erreichbar sein sollten, z. B. 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 in 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 in 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 und zwei private Subnetze, verteilt auf zwei Availability Zones.

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 künftiges Wachstum zuweisen und die Subnetze aus Sicherheits- und Verwaltungsgründen angemessen dimensionieren.

Konfigurieren der Internetverbindung

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

Erstellen eines Internet-Gateways

Ein Internet-Gateway ermöglicht die Kommunikation zwischen der 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 in der Ausgabe. Für dieses Tutorial verwenden wir „igw-0123456789abcdef0“ als Beispiel.

Anfügen eines Internet-Gateways an Ihre VPC

Nachdem Sie ein Internet-Gateway erstellt haben, fügen Sie es an Ihre VPC an.

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

Erstellen und Konfigurieren von Routing-Tabellen

Routing-Tabellen enthalten Regeln (Routen), die bestimmen, wohin der Netzwerkverkehr geleitet wird. Erstellen Sie als Erstes eine Routing-Tabelle 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 Routing-Tabellen-ID in der Ausgabe. Für dieses Tutorial verwenden wir „rtb-0123456789abcdef0“ als Beispiel für die erste öffentliche Routing-Tabelle.

Fügen Sie dem Internet-Gateway in der öffentlichen Routing-Tabelle eine Route 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 neuen 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 Routing-Tabelle 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 Routing-Tabellen-ID in der Ausgabe. Für dieses Tutorial verwenden wir „rtb-0123456789abcdef1“ als Beispiel für die private Routing-Tabelle.

Ordnen Sie die privaten Subnetze der privaten Routing-Tabelle 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 eines NAT-Gateways

Mit einem NAT-Gateway können Instances in privaten Subnetzen ausgehenden Datenverkehr zum Internet initiieren und eingehenden Datenverkehr aus dem Internet verhindern. Das ist wichtig für Instances, die Updates herunterladen oder auf externe Services zugreifen müssen.

Zuweisen einer Elastic-IP

Weisen Sie Ihrem NAT-Gateway zuerst eine Elastic-IP-Adresse zu.

aws ec2 allocate-address --domain vpc

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

Erstellen des NAT-Gateways

Erstellen Sie mit 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 in 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

Hinzufügen einer Route zum NAT-Gateway

Fügen Sie in der private Routing-Tabelle 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 kann es sinnvoll sein, in jeder Availability Zone, in der Sie private Subnetze haben, ein NAT-Gateway zu erstellen, um Single Points of Failure zu vermeiden.

Konfigurieren der Subnetz-Einstellungen

Konfigurieren Sie Ihre öffentlichen Subnetze so, dass die Zuweisung von IP-Adressen für Instances, die darin gestartet werden, automatisch erfolgt.

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 erhalten Instances, die in Ihren öffentlichen Subnetzen gestartet werden, standardmäßig eine öffentliche IP-Adresse, sodass sie über das Internet erreichbar sind.

Erstellen von Sicherheitsgruppen

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

Erstellen einer 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 ID der Sicherheitsgruppe in der Ausgabe. In diesem Tutorial verwenden wir „sg-0123456789abcdef0“ als Beispiel für die Webserver-Sicherheitsgruppe.

Lassen Sie HTTP- und HTTPS-Datenverkehr zu Ihren Webservern zu.

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: In Produktionsumgebungen sollten Sie den eingehenden Datenverkehr auf bestimmte IP-Bereiche beschränken, statt den Datenverkehr von 0.0.0.0/0 (beliebige IP-Adresse) zuzulassen.

Erstellen einer 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 ID der Sicherheitsgruppe in der Ausgabe. In diesem Tutorial verwenden wir „sg-0123456789abcdef1“ als Beispiel für die Datenbankserver-Sicherheitsgruppe.

Lassen Sie nur MySQL/Aurora Datenverkehr von Webservern zu.

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

Diese Konfiguration sorgt dafür, dass nur Instances in der Webserver-Sicherheitsgruppe eine Verbindung zu Ihren Datenbankservern über Port 3306 herstellen können. Dabei gilt das Prinzip der geringsten Berechtigung.

Ihre VPC-Konfiguration überprüfen

Nachdem Sie alle erforderlichen Komponenten erstellt haben, überprüfen Sie, ob Ihre VPC korrekt eingerichtet ist.

VPC überprüfen

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

Subnetze überprüfen

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

Routing-Tabellen überprüfen

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

Internet-Gateway überprüfen

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

NAT-Gateway überprüfen

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

Sicherheitsgruppen überprüfen

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

Mit diesen Befehlen werden detaillierte Informationen zu jeder Komponente Ihrer VPC zurückgegeben, sodass Sie überprüfen können, ob alles richtig konfiguriert ist.

Stellen Sie EC2 Instanzen bereit

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

Erstellen eines Schlüsselpaares für den SSH-Zugriff

Als Erstes erstellen Sie ein Schlüsselpaar für die sichere Verbindung zu Ihren Instances:

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 Schlüsselpaar und speichert den privaten Schlüssel in einer Datei mit eingeschränkten Berechtigungen.

Suchen des neuesten Amazon-Linux-2-AMI

Suchen Sie das neueste Amazon-Linux-2-AMI zur Verwendung für Ihre Instances:

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 in der Ausgabe. Für dieses Tutorial verwenden wir „ami-0123456789abcdef0“ als Beispiel.

Starten eines Webservers im öffentlichen Subnetz

Starten Sie nun 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 Instance-ID in der Ausgabe. In diesem Tutorial verwenden wir „i-0123456789abcdef0“ als Beispiel für die Webserver-Instance.

Starten eines Datenbankservers 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 Instance-ID in der Ausgabe. Für dieses Tutorial verwenden wir „i-0123456789abcdef1“ als Beispiel für die Datenbankserver-Instance.

Aufrufen Ihres Webservers

Sobald Ihre Webserver-Instance ausgeführt wird, 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 jetzt diese URL in Ihrem Webbrowser öffnen: http://203.0.113.10

Herstellen einer Verbindung zu Ihren Instances mit SSH

Verbindung zu Ihrem Webserver herstellen:

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

Zum Verbinden mit Ihrem Datenbankserver müssen Sie zuerst eine SSH-Verbindung 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

Dadurch wird die von Ihnen erstellte Netzwerkarchitektur demonstriert: Der Webserver ist öffentlich zugänglich und der Datenbankserver ist nur aus der VPC zugänglich.

Fehlerbehebung

Hier finden Sie häufig auftretende Probleme, die beim Erstellen einer VPC auftreten können, und Schritte zur Behebung:

CIDR-Block-Überschneidungen

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.

Berechtigungsfehler

Wenn Berechtigungsfehler auftreten, stellen Sie sicher, dass Ihr IAM-Benutzer oder Ihre IAM-Rolle die erforderlichen Berechtigungen zum Erstellen und Verwalten von VPC-Ressourcen hat. Möglicherweise müssen Sie die AmazonVPCFullAccess-Richtlinie anfügen 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. Achten Sie darauf, Ressourcen immer in umgekehrter Reihenfolge ihrer Erstellung zu löschen, angefangen bei den Ressourcen mit der größten Abhängigkeit.

Bereinigen von Ressourcen

Wenn Sie Ihre VPC fertiggestellt haben, können Sie die Ressourcen bereinigen, damit keine Gebühren anfallen. Löschen Sie die Ressourcen in umgekehrter Reihenfolge ihrer Erstellung, 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

Schlüsselpaare löschen

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

NAT-Gateway löschen

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

Elastic-IP freigeben

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

Routing-Tabellen löschen

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 nun die Routing-Tabellen:

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

Internet-Gateway trennen und löschen

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

Subnetze löschen

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

In die Produktion übergehen

In diesem Tutorial erfahren Sie, wie Sie mit der AWS CLI eine VPC erstellen. Beachten Sie bei Produktionsumgebungen die folgenden bewährten Methoden für Sicherheit und Architektur:

  1. Regeln für Sicherheitsgruppen: Beschränken Sie den eingehenden Datenverkehr auf bestimmte IP-Bereiche, statt den Datenverkehr von 0.0.0.0/0 zuzulassen.

  2. Hohe Verfügbarkeit: Stellen Sie NAT-Gateways in jeder Availability Zone bereit, in der Sie private Subnetze haben, um Single Points of Failure 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, um das Ressourcenmanagement zu verbessern.

Weitere Informationen zum Einrichten produktionsreifer Architekturen finden Sie unter AWS Well-Architected Framework and Bewährte Methoden für die AWS -Sicherheit.

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. Load Balancer bereitstellen, um den Datenverkehr auf mehrere Instances zu verteilen.

  3. Auto-Scaling-Gruppen für hohe Verfügbarkeit und Skalierbarkeit einrichten.

  4. RDS-Datenbanken in Ihren privaten Subnetzen konfigurieren.

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

  6. VPN-Verbindungen einrichten, um Ihre VPC mit Ihrem On-Premises-Netzwerk zu verbinden.