Wie behebe ich den AWS-Glue-Fehler „VPC S3 endpoint validation failed for SubnetId“?

Lesedauer: 4 Minute
0

Mein AWS Glue Job schlägt fehl mit dem Fehler „JobRunId:jr_xx failed to execute with exception VPC S3 endpoint validation failed for SubnetId. Reason: Could not find S3 endpoint or NAT gateway for subnetId“. -oder- My AWS Glue Crawler fails with the error „VPC S3 endpoint validation failed for SubnetId. Reason: Could not find S3 endpoint or NAT gateway for subnetId“.

Kurzbeschreibung

Dieser Fehler wird angezeigt, wenn die beiden folgenden Bedingungen zutreffen:

  • Sie verwenden eine AWS-Glue-Verbindung mit Ihrem AWS-Glue-Job oder Ihrem AWS Glue Crawler.
  • Für das für Ihre AWS-Glue-Verbindung konfigurierte Subnetz ist kein Virtual Private Cloud (VPC)-Endpunkt von Amazon Simple Storage Service (Amazon S3) oder ein NAT Gateway eingerichtet.

AWS Glue erstellt elastische Netzwerkschnittstellen in dem Subnetz, das in der AWS-Glue-Verbindung angegeben ist. Diese elastischen Netzwerkschnittstellen werden verwendet, um eine Verbindung zu Ihren Datenquellen und Amazon S3 herzustellen. Den elastischen Netzwerkschnittstellen wird eine private IP-Adresse aus dem IP-Adressbereich innerhalb des angegebenen Subnetzes zugewiesen. Da keine öffentlichen IP-Adressen verwendet werden, kann AWS Glue das Internet nicht direkt verwenden, um eine Verbindung zu Ihren Datenquellen oder Amazon S3 innerhalb Ihrer VPC herzustellen. Weitere Informationen finden Sie unter Netzwerkzugriff auf Datenspeicher einrichten.

Behebung

Stellen Sie sicher, dass das für Ihre AWS-Glue-Verbindung konfigurierte Subnetz einen Amazon-S3-VPC-Gateway-Endpunkt oder eine Route zu einem NAT Gateway in der Routing-Tabelle des Subnetzes hat. Weitere Informationen finden Sie unter Error: Could Not Find S3 Endpoint or NAT Gateway for subnetId in VPC. Wenn Ihr AWS-Glue-Job auf das öffentliche Internet zugreifen muss, überprüfen und bestätigen Sie, dass das Subnetz mit einem NAT Gateway konfiguriert ist.

Einen S3-VPC-Gateway-Endpunkt einrichten

Gehen Sie folgendermaßen vor, um einen S3-VPC-Gateway-Endpunkt einzurichten:

  1. Öffnen Sie die Amazon-VPC-Konsole.
  2. Wählen Sie im Navigationsbereich Endpunkte aus.
  3. Wählen Sie Endpunkt erstellen aus.
  4. Wählen Die als Service-Name com.amazonaws.us-east-1.s3. Vergewissern Sie sich, dass in der Spalte Typ **Gateway angegeben ist.
    Hinweis:**Achten Sie darauf, us-east-1 durch die AWS-Region Ihrer Wahl zu ersetzen.
  5. Wählen Sie für VPC die VPC aus, in der Sie den Endpunkt erstellen möchten.
  6. Für die Konfiguration von Routing-Tabellen wird automatisch eine Route zum S3-VPC-Endpunkt hinzugefügt.
  7. Belassen Sie für Richtlinie die Standardoption Vollzugriff.
  8. Wählen Sie Endpunkt erstellen aus.

Weitere Informationen finden Sie unter Gateway-Endpunkte.

Wenn Sie eine restriktivere Richtlinie einrichten, stellen Sie sicher, dass Ihr AWS-Glue-Job oder die AWS Identity and Access Management (IAM)-Rolle des AWS Glue Crawlers auf die erforderlichen S3-Buckets und Objekte zugreifen kann.

Ein NAT Gateway einrichten

Hinweis: Die Erstellung einer Elastic-IP-Adresse ist eine Voraussetzung für die Einrichtung eines NAT Gateways. Weitere Informationen zur Zuweisung finden Sie unter Zuweisen einer Elastic-IP-Adresse.

Gehen Sie wie folgt vor, um ein NAT Gateway einzurichten:

Hinweis: Stellen Sie sicher, dass die VPC, die für die AWS-Glue-Verbindung verwendet wird, über mindestens ein öffentliches Subnetz verfügt. Weitere Informationen finden Sie unter VPC mit öffentlichen und privaten Subnetzen (NAT).

  1. Öffnen Sie die Amazon-VPC-Konsole.
  2. Wählen Sie im Navigationsbereich NAT Gateways aus.
  3. Wählen Sie NAT Gateway erstellen aus.
  4. Geben Sie unter Name den Namen des Gateways ein, das Sie erstellen möchten.
  5. Wählen Sie für Subnet ein öffentliches Subnetz in der VPC aus, das Sie in der AWS-Glue-Verbindung angegeben haben.
  6. Für den Konnektivitätstyp können Sie die Standardoption Öffentlich belassen, um ein öffentliches NAT Gateway zu erstellen.
  7. Wählen Sie NAT Gateway erstellen aus.

Nachdem Sie das Gateway eingerichtet haben, müssen Sie Folgendes tun:

  • Ändern Sie die Routing-Tabelle, die dem Subnetz zugeordnet ist, das in der AWS-Glue-Verbindung angegeben ist.
  • Fügen Sie dem erstellten NAT Gateway eine Route hinzu.

Gehen Sie wie folgt vor, um die Routing-Tabelle zu ändern und dem NAT Gateway eine Route hinzuzufügen:

  1. Wählen Sie im Navigationsbereich die Option Routing-Tabellen aus.
  2. Wählen Sie die Routing-Tabelle aus, die dem Subnetz zugeordnet ist, das Sie ändern möchten.
  3. Wählen Sie Aktionen und dann Routen bearbeiten aus.
  4. Wählen Sie auf der Seite Routen bearbeiten die Option Route hinzufügen aus.
  5. Gehen Sie in der neuen Route, die angezeigt wird, wie folgt vor:
    Geben Sie als Destination 0.0.0.0/0 ein.
    Wählen Sie für Target NAT Gateway aus, und wählen Sie dann das NAT Gateway aus, das Sie erstellt haben. **Hinweis:**Sie müssen diese Optionen auswählen, um sicherzustellen, dass der gesamte Subnetzverkehr, z. B. der internetgebundene Verkehr, an das NAT Gateway gesendet wird.
  6. Wählen Sie Änderungen speichern aus.

Nachdem Sie den S3-VPC-Endpunkt oder das NAT Gateway in Ihrem Subnetz eingerichtet haben, testen Sie die jeweilige AWS-Glue-Verbindung. Führen Sie Ihren AWS Glue Job oder Ihren AWS Glue Crawler erneut aus, nachdem die Testverbindung erfolgreich war.


Ähnliche Informationen

Amazon-VPC-Endpunkte für Amazon S3

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren