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.
Erstellen Sie eine VPC mit privaten Subnetzen und NAT-Gateways mit AWS CLI
Dieses Tutorial zeigt, wie Sie mit dem eine VPC erstellen, die Sie für Server in einer Produktionsumgebung verwenden können. AWS CLI Um die Ausfallsicherheit zu verbessern, stellen Sie Server in zwei Availability Zones bereit und verwenden dabei eine Auto Scaling Scaling-Gruppe und einen Application Load Balancer. Für zusätzliche Sicherheit werden Sie die Datenbankserver in privaten Subnetzen bereitstellen. Die Server empfangen Anfragen über den Load Balancer und können über NAT-Gateways eine Verbindung zum Internet herstellen. Um die Ausfallsicherheit zu verbessern, stellen Sie in jeder Availability Zone ein NAT-Gateway bereit.
Das folgende Diagramm bietet einen Überblick über die in diesem Tutorial enthaltenen Ressourcen. Die VPC hat öffentliche Subnetze und private Subnetze in zwei Availability Zones. Jedes öffentliche Subnetz enthält ein NAT-Gateway und einen Load-Balancer-Knoten. Die Server werden in den privaten Subnetzen ausgeführt, werden mithilfe einer Auto-Scaling-Gruppe gestartet und beendet und empfangen Datenverkehr vom Load Balancer. Die Server können über das NAT-Gateway eine Verbindung zum Internet herstellen. Die Server können über einen Gateway-VPC-Endpunkt eine Verbindung zu Amazon S3 herstellen.

Voraussetzungen
Bevor Sie mit diesem Tutorial beginnen, benötigen Sie:
-
Die AWS CLI installierten und konfigurierten mit Berechtigungen zum Erstellen von VPC-Ressourcen, EC2 Instanzen, Load Balancers und Auto Scaling Scaling-Gruppen. Informationen zur Installation von finden Sie unter Installation oder Aktualisierung der neuesten Version von. AWS CLI AWS CLI
-
Grundkenntnisse in VPC-Konzepten, einschließlich Subnetzen, Routentabellen und Internet-Gateways.
-
Der
jq
Befehlszeilen-JSON-Prozessor ist installiert. Dies wird verwendet, um die Ausgabe von Befehlen zu analysieren. AWS CLI Informationen zur Installation von jq finden Sie unter Laden Sie jq herunter. -
Ausreichende Servicekontingenten für die Ressourcen, die Sie erstellen werden, einschließlich:
-
Mindestens 2 verfügbare Elastic IP-Adressen
-
Mindestens 2 NAT-Gateways
-
Mindestens 1 VPC
-
Mindestens 4 Subnetze
-
Mindestens ein Application Load Balancer
Geschätzte Kosten: Für die in diesem Tutorial erstellten Ressourcen fallen Gebühren auf Ihrem AWS Konto an: NAT-Gateways: ~0,045 $ pro Stunde, zuzüglich Datenverarbeitungsgebühren Elastic IP-Adressen: Kostenlos, wenn sie mit laufenden Instances verknüpft sind, ~0,005 $ pro Stunde, wenn nicht zugeordnete Instances: Variiert je nach Instance-Typ (t3.micro wird in diesem Tutorial verwendet) Application Load Balancer: ~0,0225 $ pro Stunde zuzüglich Datenverarbeitungsgebühren EC2
Erstellen Sie die VPC und die Subnetze
Zunächst erstellen Sie eine VPC mit einem CIDR-Block von 10.0.0.0/16, der bis zu 65.536 private IP-Adressen bereitstellt.
# Create a VPC with CIDR block 10.0.0.0/16 aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=ProductionVPC}]'
Daraufhin erhalten Sie ein Ergebnis, das dem hier dargestellten entspricht:
{ "Vpc": { "CidrBlock": "10.0.0.0/16", "DhcpOptionsId": "dopt-abcd1234", "State": "pending", "VpcId": "vpc-abcd1234", "OwnerId": "123456789012", "InstanceTenancy": "default", "Ipv6CidrBlockAssociationSet": [], "CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-abcd1234", "CidrBlock": "10.0.0.0/16", "CidrBlockState": { "State": "associated" } } ], "IsDefault": false, "Tags": [ { "Key": "Name", "Value": "ProductionVPC" } ] } }
Notieren Sie sich die VPC-ID aus der Ausgabe (z. B.vpc-abcd1234
). Sie werden diese ID in nachfolgenden Befehlen verwenden.
Als Nächstes identifizieren Sie zwei Availability Zones in Ihrer Region, um eine ausfallsichere Architektur zu erstellen.
# Get available Availability Zones aws ec2 describe-availability-zones --query 'AvailabilityZones[0:2].ZoneName' --output text
Daraufhin erhalten Sie ein Ergebnis, das dem hier dargestellten entspricht:
us-east-1a us-east-1b
Erstellen Sie nun vier Subnetze: zwei öffentliche Subnetze für den Load Balancer und die NAT-Gateways sowie zwei private Subnetze für Ihre Anwendungsserver. vpc-abcd1234
Ersetzen Sie durch Ihre tatsächliche VPC-ID us-east-1a
und us-east-1b
durch Ihre tatsächlichen Availability Zones.
# Create public subnet in first AZ aws ec2 create-subnet \ --vpc-id vpc-abcd1234 \ --cidr-block 10.0.0.0/24 \ --availability-zone us-east-1a \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=PublicSubnet1}]' # Create private subnet in first AZ aws ec2 create-subnet \ --vpc-id vpc-abcd1234 \ --cidr-block 10.0.1.0/24 \ --availability-zone us-east-1a \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=PrivateSubnet1}]' # Create public subnet in second AZ aws ec2 create-subnet \ --vpc-id vpc-abcd1234 \ --cidr-block 10.0.2.0/24 \ --availability-zone us-east-1b \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=PublicSubnet2}]' # Create private subnet in second AZ aws ec2 create-subnet \ --vpc-id vpc-abcd1234 \ --cidr-block 10.0.3.0/24 \ --availability-zone us-east-1b \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=PrivateSubnet2}]'
Jeder Befehl gibt eine Ausgabe zurück, die die Subnetz-ID enthält. Notieren Sie sich diese IDs für die Verwendung in nachfolgenden Befehlen:
-
Öffentliches Subnetz 1:
subnet-abcd1234
-
Privates Subnetz 1:
subnet-abcd5678
-
Öffentliches Subnetz 2:
subnet-efgh1234
-
Privates Subnetz 2:
subnet-efgh5678
Internetkonnektivität erstellen und konfigurieren
In diesem Abschnitt erstellen Sie ein Internet-Gateway, um die Kommunikation zwischen Ihrer VPC und dem Internet zu ermöglichen, und verbinden es mit Ihrer VPC.
# Create an Internet Gateway aws ec2 create-internet-gateway --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=ProductionIGW}]'
Der Befehl gibt eine Ausgabe zurück, die die Internet-Gateway-ID enthält. Notieren Sie sich diese ID (zum Beispieligw-abcd1234
).
Verbinden Sie das Internet Gateway mit Ihrer VPC. igw-abcd1234
Ersetzen Sie durch Ihre tatsächliche Internet-Gateway-ID und vpc-abcd1234
durch Ihre tatsächliche VPC-ID.
# Attach the Internet Gateway to the VPC aws ec2 attach-internet-gateway --internet-gateway-id igw-abcd1234 --vpc-id vpc-abcd1234
Erstellen Sie als Nächstes Routing-Tabellen für Ihre öffentlichen und privaten Subnetze. vpc-abcd1234
Ersetzen Sie es durch Ihre tatsächliche VPC-ID.
# Create a route table for public subnets aws ec2 create-route-table --vpc-id vpc-abcd1234 --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=PublicRouteTable}]' # Create route table for private subnet in first AZ aws ec2 create-route-table --vpc-id vpc-abcd1234 --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=PrivateRouteTable1}]' # Create route table for private subnet in second AZ aws ec2 create-route-table --vpc-id vpc-abcd1234 --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=PrivateRouteTable2}]'
Jeder Befehl gibt eine Ausgabe zurück, die die Routentabellen-ID enthält. Beachten Sie diese IDs:
-
Tabelle mit öffentlichen Routen:
rtb-abcd1234
-
Tabelle 1 für private Routen:
rtb-efgh1234
-
Tabelle 2 für private Routen:
rtb-ijkl1234
Fügen Sie in der Tabelle für öffentliche Routen eine Route zum Internet Gateway hinzu, um den Internetzugang zu aktivieren. rtb-abcd1234
Ersetzen Sie es durch Ihre tatsächliche öffentliche Routing-Tabellen-ID und igw-abcd1234
durch Ihre tatsächliche Internet-Gateway-ID.
# Add a route to the Internet Gateway aws ec2 create-route --route-table-id rtb-abcd1234 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-abcd1234
Ordnen Sie die Subnetze ihren jeweiligen Routing-Tabellen zu. Ersetzen Sie die Routentabelle IDs und das Subnetz durch Ihr IDs aktuelles. IDs
# Associate public subnets with the public route table aws ec2 associate-route-table --route-table-id rtb-abcd1234 --subnet-id subnet-abcd1234 aws ec2 associate-route-table --route-table-id rtb-abcd1234 --subnet-id subnet-efgh1234 # Associate private subnets with their respective route tables aws ec2 associate-route-table --route-table-id rtb-efgh1234 --subnet-id subnet-abcd5678 aws ec2 associate-route-table --route-table-id rtb-ijkl1234 --subnet-id subnet-efgh5678
Erstellen Sie NAT-Gateways
NAT-Gateways ermöglichen es Instances in privaten Subnetzen, sich mit dem Internet oder anderen AWS Diensten zu verbinden, verhindern jedoch, dass das Internet Verbindungen mit diesen Instances initiiert. Weisen Sie Ihren NAT-Gateways zunächst Elastic IP-Adressen zu.
# Allocate Elastic IP for NAT Gateway in first AZ aws ec2 allocate-address --domain vpc --tag-specifications 'ResourceType=elastic-ip,Tags=[{Key=Name,Value=NAT1-EIP}]' # Allocate Elastic IP for NAT Gateway in second AZ aws ec2 allocate-address --domain vpc --tag-specifications 'ResourceType=elastic-ip,Tags=[{Key=Name,Value=NAT2-EIP}]'
Jeder Befehl gibt eine Ausgabe zurück, die die Zuweisungs-ID enthält. Beachten Sie diese IDs:
-
EIP 1 Zuweisungs-ID:
eipalloc-abcd1234
-
EIP 2-Zuordnungs-ID:
eipalloc-efgh1234
Erstellen Sie NAT-Gateways in jedem öffentlichen Subnetz. Ersetzen Sie das Subnetz IDs und die Zuordnung durch Ihr IDs aktuelles. IDs
# Create NAT Gateway in public subnet of first AZ aws ec2 create-nat-gateway \ --subnet-id subnet-abcd1234 \ --allocation-id eipalloc-abcd1234 \ --tag-specifications 'ResourceType=natgateway,Tags=[{Key=Name,Value=NAT-Gateway1}]' # Create NAT Gateway in public subnet of second AZ aws ec2 create-nat-gateway \ --subnet-id subnet-efgh1234 \ --allocation-id eipalloc-efgh1234 \ --tag-specifications 'ResourceType=natgateway,Tags=[{Key=Name,Value=NAT-Gateway2}]'
Jeder Befehl gibt eine Ausgabe zurück, die die NAT-Gateway-ID enthält. Beachten Sie Folgendes IDs:
-
NAT-Gateway 1:
nat-abcd1234
-
NAT-Gateway 2:
nat-efgh1234
Die Bereitstellung von NAT-Gateways dauert einige Minuten. Warten Sie, bis sie verfügbar sind, bevor Sie fortfahren. Ersetzen Sie das NAT-Gateway IDs durch Ihr aktuelles IDs.
# Wait for NAT Gateways to be available aws ec2 wait nat-gateway-available --nat-gateway-ids nat-abcd1234 aws ec2 wait nat-gateway-available --nat-gateway-ids nat-efgh1234
Fügen Sie Routen zu den NAT-Gateways in den privaten Routentabellen hinzu, um den Internetzugang für Instances in privaten Subnetzen zu ermöglichen. Ersetzen Sie die Routentabelle IDs und das NAT-Gateway IDs durch Ihr aktuelles. IDs
# Add route to NAT Gateway 1 in private route table 1 aws ec2 create-route \ --route-table-id rtb-efgh1234 \ --destination-cidr-block 0.0.0.0/0 \ --nat-gateway-id nat-abcd1234 # Add route to NAT Gateway 2 in private route table 2 aws ec2 create-route \ --route-table-id rtb-ijkl1234 \ --destination-cidr-block 0.0.0.0/0 \ --nat-gateway-id nat-efgh1234
Erstellen Sie einen VPC-Endpunkt für Amazon S3
Ein VPC-Endpunkt für Amazon S3 ermöglicht Instances in Ihren privaten Subnetzen den Zugriff auf S3, ohne das NAT-Gateway zu nutzen, was die Datenübertragungskosten senkt und eine bessere Netzwerkleistung bietet. vpc-abcd1234
Ersetzen Sie durch Ihre tatsächliche VPC-ID und die Routentabelle IDs durch Ihre tatsächliche IDs.
# Get the prefix list ID for S3 in your region S3_PREFIX_LIST_ID=$(aws ec2 describe-prefix-lists --filters "Name=prefix-list-name,Values=com.amazonaws.$(aws configure get region).s3" --query 'PrefixLists[0].PrefixListId' --output text) # Create the VPC endpoint for S3 aws ec2 create-vpc-endpoint \ --vpc-id vpc-abcd1234 \ --service-name com.amazonaws.$(aws configure get region).s3 \ --route-table-ids rtb-efgh1234 rtb-ijkl1234 \ --tag-specifications 'ResourceType=vpc-endpoint,Tags=[{Key=Name,Value=S3-Endpoint}]'
Der Befehl gibt eine Ausgabe zurück, die die VPC-Endpunkt-ID enthält. Notieren Sie sich diese ID (z. B.vpce-abcd1234
).
Configure Security Groups (Sicherheitsgruppen konfigurieren)
Sicherheitsgruppen dienen als virtuelle Firewalls für Ihre Instances, um den eingehenden und ausgehenden Datenverkehr zu kontrollieren. Erstellen Sie eine Sicherheitsgruppe für den Load Balancer, die eingehenden HTTP-Verkehr von überall aus ermöglicht. vpc-abcd1234
Ersetzen Sie es durch Ihre tatsächliche VPC-ID.
# Create security group for the load balancer aws ec2 create-security-group \ --group-name LoadBalancerSG \ --description "Security group for the load balancer" \ --vpc-id vpc-abcd1234 \ --tag-specifications 'ResourceType=security-group,Tags=[{Key=Name,Value=LoadBalancerSG}]'
Der Befehl gibt eine Ausgabe zurück, die die Sicherheitsgruppen-ID enthält. Notieren Sie sich diese ID (zum Beispielsg-abcd1234
).
Lässt eingehenden HTTP-Verkehr zum Load Balancer zu. Ersetzen Sie es sg-abcd1234
durch Ihre tatsächliche Load Balancer-Sicherheitsgruppen-ID.
# Allow inbound HTTP traffic from anywhere aws ec2 authorize-security-group-ingress \ --group-id sg-abcd1234 \ --protocol tcp \ --port 80 \ --cidr 0.0.0.0/0
Erstellen Sie eine Sicherheitsgruppe für die Anwendungsserver, die eingehenden Datenverkehr nur vom Load Balancer zulässt. vpc-abcd1234
Ersetzen Sie es durch Ihre tatsächliche VPC-ID.
# Create security group for the application servers aws ec2 create-security-group \ --group-name AppServerSG \ --description "Security group for the application servers" \ --vpc-id vpc-abcd1234 \ --tag-specifications 'ResourceType=security-group,Tags=[{Key=Name,Value=AppServerSG}]'
Der Befehl gibt eine Ausgabe zurück, die die Sicherheitsgruppen-ID enthält. Notieren Sie sich diese ID (zum Beispielsg-efgh1234
).
Lässt eingehenden HTTP-Verkehr von der Load Balancer-Sicherheitsgruppe zu den Anwendungsservern zu. sg-efgh1234
Ersetzen Sie es durch Ihre tatsächliche Sicherheitsgruppen-ID des Anwendungsservers und sg-abcd1234
durch Ihre tatsächliche Load Balancer-Sicherheitsgruppen-ID.
# Allow inbound HTTP traffic from the load balancer security group aws ec2 authorize-security-group-ingress \ --group-id sg-efgh1234 \ --protocol tcp \ --port 80 \ --source-group sg-abcd1234
Erstellen Sie eine Startvorlage für Instances EC2
Eine Startvorlage enthält die Konfigurationsinformationen zum Starten einer Instance, z. B. die AMI-ID, den Instance-Typ und Sicherheitsgruppen. Erstellen Sie zunächst ein Benutzerdatenskript, das beim Start der Instance ausgeführt wird.
cat > user-data.sh << 'EOF' #!/bin/bash yum update -y yum install -y httpd systemctl start httpd systemctl enable httpd echo "<h1>Hello from $(hostname -f) in $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)</h1>" > /var/www/html/index.html EOF
Kodieren Sie das Benutzerdatenskript in Base64.
USER_DATA=$(base64 -w 0 user-data.sh)
Holen Sie sich die neueste Amazon Linux 2 AMI-ID.
# Get the latest Amazon Linux 2 AMI ID 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
Erstellen Sie eine Startvorlage mit der AMI-ID, dem Instance-Typ, der Sicherheitsgruppe und den Benutzerdaten. sg-efgh1234
Ersetzen Sie sie durch Ihre tatsächliche Sicherheitsgruppen-ID für den Anwendungsserver $AMI_ID
und $USER_DATA
durch die Werte, die Sie aus den vorherigen Befehlen erhalten haben.
# Create a launch template aws ec2 create-launch-template \ --launch-template-name AppServerTemplate \ --version-description "Initial version" \ --tag-specifications 'ResourceType=launch-template,Tags=[{Key=Name,Value=AppServerTemplate}]' \ --launch-template-data '{ "NetworkInterfaces": [{ "DeviceIndex": 0, "Groups": ["sg-efgh1234"], "DeleteOnTermination": true }], "ImageId": "ami-abcd1234", "InstanceType": "t3.micro", "UserData": "IyEvYmluL2Jhc2gKeXVtIHVwZGF0ZSAteQp5dW0gaW5zdGFsbCAteSBodHRwZApzeXN0ZW1jdGwgc3RhcnQgaHR0cGQKc3lzdGVtY3RsIGVuYWJsZSBodHRwZAplY2hvICI8aDE+SGVsbG8gZnJvbSAkKGhvc3RuYW1lIC1mKSBpbiAkKGN1cmwgLXMgaHR0cDovLzE2OS4yNTQuMTY5LjI1NC9sYXRlc3QvbWV0YS1kYXRhL3BsYWNlbWVudC9hdmFpbGFiaWxpdHktem9uZSk8L2gxPiIgPiAvdmFyL3d3dy9odG1sL2luZGV4Lmh0bWw=", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key": "Name", "Value": "AppServer" }] }] }'
Erstellen Sie einen Load Balancer und eine Zielgruppe
Eine Zielgruppe leitet Anfragen mithilfe des von Ihnen angegebenen Protokolls und Ports an registrierte Ziele, z. B. EC2 Instanzen, weiter. Erstellen Sie eine Zielgruppe für Ihre Anwendungsserver. vpc-abcd1234
Ersetzen Sie es durch Ihre tatsächliche VPC-ID.
# Create a target group aws elbv2 create-target-group \ --name AppTargetGroup \ --protocol HTTP \ --port 80 \ --vpc-id vpc-abcd1234 \ --target-type instance \ --health-check-protocol HTTP \ --health-check-path / \ --health-check-port traffic-port
Der Befehl gibt eine Ausgabe zurück, die den Zielgruppen-ARN enthält. Notieren Sie sich diesen ARN (zum Beispielarn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/AppTargetGroup/abcd1234
).
Erstellen Sie einen Application Load Balancer in den öffentlichen Subnetzen. Ersetzen Sie das Subnetz IDs und die Sicherheitsgruppen-ID durch Ihre tatsächliche ID. IDs
# Create a load balancer aws elbv2 create-load-balancer \ --name AppLoadBalancer \ --subnets subnet-abcd1234 subnet-efgh1234 \ --security-groups sg-abcd1234 \ --tags Key=Name,Value=AppLoadBalancer
Der Befehl gibt eine Ausgabe zurück, die den Load Balancer-ARN enthält. Notieren Sie sich diesen ARN (zum Beispielarn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/AppLoadBalancer/abcd1234
).
Warten Sie, bis der Load Balancer aktiv ist, bevor Sie fortfahren. arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/AppLoadBalancer/abcd1234
Ersetzen Sie es durch Ihren tatsächlichen Load Balancer-ARN.
# Wait for load balancer to be active aws elbv2 wait load-balancer-available \ --load-balancer-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/AppLoadBalancer/abcd1234
Erstellen Sie einen Listener für den Load Balancer, der den HTTP-Verkehr an die Zielgruppe weiterleitet. Ersetzen Sie den Load Balancer-ARN und den Zielgruppen-ARN durch Ihren tatsächlichen ARNs.
# Create a listener aws elbv2 create-listener \ --load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/AppLoadBalancer/abcd1234 \ --protocol HTTP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/AppTargetGroup/abcd1234
Erstellen einer Auto-Scaling-Gruppe
Eine Auto Scaling Scaling-Gruppe enthält eine Sammlung von EC2 Instances, die für die Zwecke der automatischen Skalierung und Verwaltung als logische Gruppierung behandelt werden. Erstellen Sie eine Auto Scaling Scaling-Gruppe, die die Startvorlage verwendet und Instances in den privaten Subnetzen platziert. Ersetzen Sie den Subnetz IDs - und Zielgruppen-ARN durch Ihren aktuellen IDs und Ihren ARN.
# Create an Auto Scaling group aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name AppAutoScalingGroup \ --launch-template LaunchTemplateName=AppServerTemplate,Version='$Latest' \ --min-size 2 \ --max-size 4 \ --desired-capacity 2 \ --vpc-zone-identifier "subnet-abcd5678,subnet-efgh5678" \ --target-group-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/AppTargetGroup/abcd1234 \ --health-check-type ELB \ --health-check-grace-period 300 \ --tags Key=Name,Value=AppServer,PropagateAtLaunch=true
Testen Sie Ihre Konfiguration
Nachdem die Auto Scaling Scaling-Gruppe Instances gestartet hat und diese die Integritätsprüfungen bestanden haben, können Sie Ihren Load Balancer testen. Rufen Sie den DNS-Namen des Load Balancers ab. Ersetzen Sie den Load Balancer-ARN durch Ihren tatsächlichen ARN.
# Get the DNS name of the load balancer aws elbv2 describe-load-balancers \ --load-balancer-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/AppLoadBalancer/abcd1234 \ --query 'LoadBalancers[0].DNSName' \ --output text)
Verwenden Sie curl, um die Anwendung mit dem Load Balancer-Namen zu testen.
curl http://LoadBalancerName
Wenn Sie die Seite mehrmals aktualisieren, sollten Sie Antworten von verschiedenen Instanzen in verschiedenen Availability Zones sehen.
Bereinigen von -Ressourcen
Wenn Sie mit diesem Tutorial fertig sind, sollten Sie alle Ressourcen löschen, um Gebühren zu vermeiden. Ersetzen Sie alle IDs durch Ihre tatsächliche Ressource. IDs
# Delete the Auto Scaling group aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name AppAutoScalingGroup \ --force-delete # Wait for the Auto Scaling group to be deleted sleep 60 # Delete the load balancer aws elbv2 delete-load-balancer \ --load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/AppLoadBalancer/abcd1234 # Wait for the load balancer to be deleted sleep 30 # Delete the target group aws elbv2 delete-target-group \ --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/AppTargetGroup/abcd1234 # Delete the launch template aws ec2 delete-launch-template \ --launch-template-name AppServerTemplate # Delete the NAT Gateways aws ec2 delete-nat-gateway --nat-gateway-id nat-abcd1234 aws ec2 delete-nat-gateway --nat-gateway-id nat-efgh1234 # Wait for the NAT Gateways to be deleted sleep 90 # Release the Elastic IPs aws ec2 release-address --allocation-id eipalloc-abcd1234 aws ec2 release-address --allocation-id eipalloc-efgh1234 # Delete the VPC endpoint aws ec2 delete-vpc-endpoints --vpc-endpoint-ids vpce-abcd1234 # Wait for security group dependencies to clear sleep 30 # Delete the security groups aws ec2 delete-security-group --group-id sg-efgh1234 aws ec2 delete-security-group --group-id sg-abcd1234 # Detach the Internet Gateway aws ec2 detach-internet-gateway --internet-gateway-id igw-abcd1234 --vpc-id vpc-abcd1234 # Delete the Internet Gateway aws ec2 delete-internet-gateway --internet-gateway-id igw-abcd1234 # Delete the route tables aws ec2 delete-route-table --route-table-id rtb-efgh1234 aws ec2 delete-route-table --route-table-id rtb-ijkl1234 aws ec2 delete-route-table --route-table-id rtb-abcd1234 # Delete the subnets aws ec2 delete-subnet --subnet-id subnet-abcd1234 aws ec2 delete-subnet --subnet-id subnet-efgh1234 aws ec2 delete-subnet --subnet-id subnet-abcd5678 aws ec2 delete-subnet --subnet-id subnet-efgh5678 # Delete the VPC aws ec2 delete-vpc --vpc-id vpc-abcd1234
Nächste Schritte
Nachdem Sie eine VPC mit privaten Subnetzen und NAT-Gateways erstellt haben, möchten Sie sich vielleicht mit diesen verwandten Themen befassen: