Wie kann ich Fehler in der Netzwerkkonfiguration meiner privaten Elastic-Beanstalk-Umgebung bei VPC-Endpunkten beheben?
Ich möchte Netzwerkprobleme in meiner vollständig privaten AWS-Elastic-Beanstalk-Umgebung beheben.
Kurzbeschreibung
Vollständig private Umgebungen sind wie folgt eingerichtet undermöglichen den Zugriff auf Ihre Webanwendung nur innerhalb derselben Amazon Virtual Private Cloud (Amazon VPC).
- Sichtbarkeit des Load Balancers: Privat
- Load-Balancer-Subnetze: Beide privaten Subnetze
- Öffentliche IP-Adresse der Instance: Deaktiviert
- Instance-Subnetze: Beide privaten Subnetze
Die gesamte Kommunikation innerhalb der VPC erfolgt über konfigurierte VPC-Endpunkte. Außerdem erfolgt die gesamte Kommunikation innerhalb der VPC über die lokale Route in der Routing-Tabelle. Im Folgenden sind häufige Fehler aufgeführt, die aufgrund von Netzwerkkonfigurationen in der Umgebung auftreten können:
- Die Amazon-Elastic-Compute-Cloud-Instances (Amazon EC2) konnten nicht mit Elastic Beanstalk kommunizieren. Ein Kommunikationsfehler ist auf Konfigurationsprobleme mit der VPC oder eine ausgefallene EC2-Instance zurückzuführen. Überprüfen Sie Ihre VPC-Konfiguration und versuchen Sie erneut, die Umgebung zu starten.
- Die Instances haben nicht innerhalb der zulässigen Befehls-Timeout-Zeit reagiert.
Lösung
Wenn Sie eine vollständig private Elastic-Beanstalk-Umgebung erstellen, stellen Sie sicher, dass Sie die folgenden Konfigurationen eingerichtet haben:
- Sie benötigen eine VPC mit mindestens zwei privaten Subnetzen in verschiedenen Availability Zones.
- Für die VPC müssen DNS-Hostnamen und DNS-Auflösungen aktiviert sein. Wenn diese aktiviert sind, wird in Ihrer VPC ein DNS-Eintrag hinzugefügt, der den öffentlichen Service-Endpunkt dem Schnittstellen-VPC-Endpunkt zuordnet.
- Sie müssen VPC-Endpunkte erstellen, damit AWS-Services außerhalb der VPC und die Instance innerhalb der VPC über diese Endpunkte kommunizieren können.
VPC-Endpunkte überprüfen
Eine standardmäßige Elastic-Beanstalk-Umgebung muss für eine erfolgreiche Erstellung über die folgenden VPC-Endpunkte verfügen:
- com.amazonaws.your-region.elasticbeanstalk (Elastic-Beanstalk-Schnittstellenendpunkt)
- com.amazonaws.your-region.elasticbeanstalk-health (Elastic-Beanstalk-Health-Schnittstellenendpunkt)
- com.amazonaws.your-region.cloudformation (AWS-CloudFormation-Schnittstellenendpunkt)
- com.amazonaws.your-region.logs (Endpunkt der Protokollschnittstelle)
- com.amazonaws.your-region.sqs (Amazon-Simple-Queue-Service-Schnittstellenendpunkt (Amazon SQS))
- com.amazonaws.your-region.s3 (Amazon-Simple-Storage-Service-Gateway-Endpunkt (Amazon S3))
Umgebungen, die auf der Docker-Plattform ausgeführt werden, die auf 64-Bit-Amazon Linux 2 läuft, müssen über die folgenden zusätzlichen VPC-Endpunkte verfügen:
- com.amazonaws.your-region.ecr.dkr
- com.amazonaws.your-region.ecr.api
Umgebungen, die auf der Amazon-Elastic-Container-Service-Plattform (Amazon ECS) ausgeführt werden, die auf 64-Bit-Amazon-Linux-2 läuft, müssen über die folgenden zusätzlichen VPC-Endpunkte verfügen:
- com.amazonaws.your-region.ecs
- com.amazonaws.your-region.ecr.api
- com.amazonaws.your-region.ecr.dkr
Hinweis: Um sicherzustellen, dass Ihre Docker- und Multi-Docker-Umgebung ordnungsgemäß funktionieren, stellen Sie ein privates Docker-Image bereit.
Sicherheitsgruppe auswählen
Beim Erstellen des Schnittstellen-VPC-Endpunkts müssen Sie die Subnetze und die Sicherheitsgruppe für Ihren VPC-Endpunkt auswählen. Stellen Sie sicher, dass Sie private Subnetze und die Sicherheitsgruppe mit den entsprechenden Regeln für eingehenden Datenverkehr auswählen.
Die Sicherheitsgruppe, die an die VPC-Endpunkte der Schnittstelle angehängt ist, muss über eine eingehende Regel für Port 443 (HTTPS) verfügen:
Inbound-Regel:
Typ | Protokoll | Port-Bereich | Quelle |
HTTPS | TCP | 443 | IP-Adresse des Clients (siehe Hinweis) |
Hinweis: Um den eingehenden Datenverkehr über den VPC-Endpunkt zu schützen, sollten Sie erwägen, nur die IP-Adresse oder das Netzwerk des Clients in der Quelle anzugeben.
Stellen Sie außerdem sicher, dass die Sicherheitsgruppe, die der Instance zugeordnet ist, HTTP-Verkehr von der Sicherheitsgruppe des Load Balancers zulässt:
Inbound-Regel:
Typ | Protokoll | Port-Bereich | Quelle |
HTTP | TCP | 80 | Sicherheitsgruppe des Load Balancer |
Stellen Sie sicher, dass die Sicherheitsgruppe, die dem Load Balancer zugeordnet ist, den gesamten HTTP-Verkehr in der eingehenden Regel zulässt:
Inbound-Regel:
Typ | Protokoll | Port-Bereich | Quelle |
HTTP | TCP | 80 | 0.0.0.0/0 |
Hinweis: Sie müssen den ausgehenden Verkehr in keiner der vorherigen Sicherheitsgruppen einschränken.
Nach Einträgen in der Routentabelle suchen
Beim Erstellen von Gateway-Endpunkten haben Sie die Möglichkeit, eine Routing-Tabelle auszuwählen. Stellen Sie sicher, dass Sie die Routing-Tabelle auswählen, die dem privaten Subnetz der VPC zugeordnet ist. Die Routing-Tabelle, die dem privaten Subnetz zugeordnet ist, muss eine Route für jeden Gateway-VPC-Endpunkt haben. Beispielsweise benötigen Sie eine Route für jeden Gateway-VPC-Endpunkt, der mit Amazon Simple Storage Service (Amazon S3) oder Amazon DynamoDB verknüpft ist.
Einträge in die Routing-Tabelle:
Ziel | Ziel |
172.xx.x.0/16 | lokal |
pl-63a5xxx | vpce-04xxx |
VPC-Endpunktrichtlinien überprüfen
Die VPC-Endpunktrichtlinien müssen es Ihrer Elastic-Beanstalk-Umgebung ermöglichen, privat mit dem Service zu kommunizieren. Wenn Sie eine Schnittstelle oder einen Gateway-Endpunkt erstellen, können Sie eine Endpunktrichtlinie anhängen. Die Endpunktrichtlinie steuert, welche AWS-Prinzipale den VPC-Endpunkt für den Zugriff auf den Endpunktservice verwenden können. Zu den AWS-Prinzipien gehören AWS-Konten, AWS-Identity-and-Access-Management-Benutzer (IAM) und IAM-Rollen. Wenn Sie beim Erstellen eines Endpunkts keine Endpunktrichtlinie angeben, hat der Endpunkt standardmäßig vollen Zugriff.
Im Folgenden finden Sie ein Beispiel für eine Mindestrichtlinie für S3-Gateway-VPC-Endpunkte, die für einen S3-Endpunkt erforderlich ist, wenn Sie mit Elastic Beanstalk arbeiten.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EBBucketAccess", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:PutObjectAcl", "s3:DeleteObject", "s3:PutBucketPolicy", "s3:PutObjectVersionAcl" ], "Resource": [ "arn:aws:s3:::elasticbeanstalk-*", "arn:aws:s3:::elasticbeanstalk-*/*", "arn:aws:s3:::cloudformation*/*" ] } ] }
Ähnliche Informationen
Über einen Schnittstellen-VPC-Endpunkt auf einen AWS-Service zugreifen

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Monaten
- AWS OFFICIALAktualisiert vor 8 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr