VPC-Konnektivität für S3-Tabellen - Amazon Simple Storage Service

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.

VPC-Konnektivität für S3-Tabellen

Alle Tabellen in S3 Tables haben das Format Apache Iceberg und bestehen aus zwei Arten von S3-Objekten. Bei diesen beiden Objekttypen handelt es sich um Datendateien, in denen die Daten gespeichert werden, und um Metadatendateien, in denen Informationen über die Datendateien zu verschiedenen Zeitpunkten aufgezeichnet werden. Alle Operationen im Zusammenhang mit Tabellen-Buckets, Namespaces und Tabellen (z. B. CreateNamespace, CreateTable usw.) werden über einen S3-Tabellen-Endpunkt (s3tables.region.amazonaws.com) geleitet. Alle Operationen auf Objektebene, die die Daten- und Metadatendateien lesen oder schreiben, werden weiterhin über einen S3-Serviceendpunkt (s3.region.amazonaws.com) geleitet.

Für den Zugriff auf S3-Tabellen unterstützt Amazon S3 zwei Arten von VPC-Endpunkten mithilfe von AWS PrivateLink Gateway-Endpunkten und Schnittstellenendpunkten. Ein Gateway-Endpunkt ist ein Gateway, das Sie in Ihrer Routing-Tabelle angeben, um von Ihrer VPC aus über das AWS Netzwerk auf S3 zuzugreifen. Schnittstellenendpunkte erweitern die Funktionalität von Gateway-Endpunkten, indem sie private IP-Adressen verwenden, um Anfragen von Ihrer VPC, vor Ort oder von einer VPC in einer anderen mithilfe AWS-Region von VPC-Peering an Amazon S3 weiterzuleiten oder. AWS Transit Gateway

Um von einer VPC aus auf S3 Tables zuzugreifen, empfehlen wir, zwei VPC-Endpunkte zu erstellen (einen für S3 und den anderen für S3 Tables). Sie können entweder ein Gateway oder einen Schnittstellenendpunkt erstellen, um Operationen auf Datei-(Objekt-)Ebene an S3 zu leiten, und Sie können einen Schnittstellenendpunkt erstellen, um Operationen auf Bucket- und Tabellenebene an S3 Tables zu leiten. Mit S3 können Sie VPC-Endpunkte für Anforderungen auf Dateiebene erstellen und verwenden. Weitere Informationen finden Sie unter Gateway-Endpunkte im Benutzerhandbuch. AWS PrivateLink

Weitere Informationen zur Verwendung AWS PrivateLink zum Erstellen von und Arbeiten mit Endpunkten für S3-Tabellen finden Sie in den folgenden Themen. Informationen zum Erstellen eines VPC-Schnittstellenendpunkts finden Sie unter Erstellen eines VPC-Endpunkts im AWS PrivateLink -Handbuch.

Erstellen von VPC-Endpunkten für S3 Tables

Wenn Sie einen VPC-Endpunkt erstellen, generiert S3 Tables zwei Arten von endpunktspezifischen DNS-Namen: regional und zonengebunden.

  • Ein regionaler DNS-Name hat das folgende Format: VPCendpointID.s3tables.AWSregion.vpce.amazonaws.com. Beispielsweise sieht der generierte DNS-Name für die VPC-Endpunkt-ID vpce-1a2b3c4d in etwa so aus: vpce-1a2b3c4d-5e6f.s3tables.us-east-1.vpce.amazonaws.com.

  • Ein zonengebundener DNS-Name hat das folgende Format: VPCendpointID-AvailabilityZone.s3tables.AWSregion.vpce.amazonaws.com. Beispielsweise sieht der generierte DNS-Name für die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f. in etwa so aus: vpce-1a2b3c4d-5e6f-us-east-1a.s3tables.us-east-1.vpce.amazonaws.com.

    Ein zonengebundener DNS-Name beinhaltet Ihre Availability Zone. Sie könnten zonengebundene DNS-Namen verwenden, wenn Ihre Architektur Availability Zones isoliert. Endpunktspezifische S3-DNS-Namen können aus der öffentlichen S3-DNS-Domain aufgelöst werden.

Sie können auch Optionen für private DNS verwenden, um das Routing von S3-Datenverkehr über VPC-Endpunkte zu vereinfachen und den kostengünstigsten Netzwerkpfad für Ihre Anwendung zu nutzen. Das private DNS ordnet den öffentlichen Endpunkt von S3 Tables, beispielsweise s3tables.region.amazonaws.com, einer privaten IP in Ihrer VPC zu. Sie können Optionen für private DNS verwenden, um regionalen S3-Datenverkehr weiterzuleiten, ohne Ihre S3-Clients aktualisieren zu müssen, damit sie die endpunktspezifischen DNS-Namen Ihrer Schnittstellenendpunkte verwenden.

Anmerkung

AWS PrivateLink für Amazon S3 unterstützt nicht die Verwendung von Amazon S3 S3-Dual-Stack-Endpunkten. Weitere Informationen finden Sie unter Verwenden von Dual-Stack-Endpunkten von Amazon S3 in der API-Referenz zu Amazon S3.

Zugreifen auf Tabellen-Buckets und Tabellen über Endpunkte mit dem AWS CLI

Sie können die AWS Command Line Interface (AWS CLI) verwenden, um über die Schnittstellen-Endpunkte auf Tabellen-Buckets und Tabellen zuzugreifen. Mit den aws s3 Befehlen AWS CLI wird der Datenverkehr über den Amazon S3 S3-Endpunkt weitergeleitet. Die aws s3tables AWS CLI Befehle verwenden den Endpunkt Amazon S3 Tables.

Ein Beispiel für einen VPC-Endpunkt des Typs s3tables ist vpce-0123456afghjipljw-nmopsqea.s3tables.region.vpce.amazonaws.com.

Ein VPC-Endpunkt des Typs s3tables enthält keinen Bucket-Namen. Sie können mit den aws s3tables AWS CLI Befehlen auf den s3tables VPC-Endpunkt zugreifen.

Ein Beispiel für einen VPC-Endpunkt des Typs s3 ist amzn-s3-demo-bucket.vpce-0123456afghjipljw-nmopsqea.s3.region.vpce.amazonaws.com.

Sie können mit den aws s3 AWS CLI Befehlen auf den s3 VPC-Endpunkt zugreifen.

Verwenden Sie die Parameter -region - und, um über Schnittstellenendpunkte mit dem AWS CLI auf Tabellen-Buckets und --endpoint-url Tabellen zuzugreifen. Verwenden Sie die Endpunkt-URL von S3 Tables, um Aktionen auf Tabellen-Bucket- und Tabellenebene durchzuführen. Verwenden Sie die Endpunkt-URL von Amazon S3, um Aktionen auf Objektebene durchzuführen.

Ersetzen Sie in den folgenden Beispielen die user input placeholders durch Ihre eigenen Informationen.

Beispiel 1: Verwenden einer Endpunkt-URL zum Auflisten von Tabellen-Buckets in Ihrem Konto

aws s3tables list-table-buckets --endpoint https://vpce-0123456afghjipljb-aac.s3tables.us-east-1.vpce.amazonaws.com —region us-east-1

Beispiel 2: Verwenden einer Endpunkt-URL zum Auflisten von Tabellen in Ihrem Bucket

aws s3tables list-tables --table-bucket-arn arn:aws:s3tables:us-east-1:123456789301:bucket/amzn-s3-demo-bucket --endpoint https://vpce-0123456afghjipljb-aac.s3tables.us-east-1.vpce.amazonaws.com --region us-east-1

Konfigurieren eines VPC-Netzwerks bei Verwendung von Abfrage-Engines

Führen Sie die folgenden Schritte aus, um ein VPC-Netzwerk zu konfigurieren, wenn Sie Abfrage-Engines verwenden.

  1. Zu Beginn können Sie eine VPC erstellen oder aktualisieren. Weitere Informationen finden Sie unter Erstellen einer VPC.

  2. Erstellen Sie einen neuen Schnittstellenendpunkt für Operationen auf Tabellen- und Tabellen-Bucket-Ebene, die Datenverkehr an S3 Tables leiten. Weitere Informationen finden Sie unter Zugreifen auf einen AWS Dienst über einen Schnittstellen-VPC-Endpunkt.

  3. Erstellen Sie einen Gateway-Endpunkt oder einen Schnittstellenendpunkt für Operationen auf Objektebene, die Datenverkehr an Amazon S3 leiten. Weitere Informationen zu Gateway-Endpunkten finden Sie unter Gateway-Endpunkte erstellen.

  4. Konfigurieren Sie als Nächstes Ihre Datenressourcen und starten Sie einen Amazon-EMR-Cluster. Weitere Informationen finden Sie unter Erste Schritte mit Amazon EMR.

  5. Sie können dann eine Spark-Anwendung mit einer zusätzlichen Konfiguration übermitteln, indem Sie Ihre DNS-Namen aus dem VPC-Endpunkt auswählen. Zum Beispiel spark.sql.catalog.ice_catalog.s3tables.endpoint und https://interface-endpoint.s3tables.us-east-1.vpce.amazonaws.com. Weitere Informationen finden Sie unter Arbeit an Ihren Amazon-EMR-Cluster übermitteln.

Beschränken des Zugriffs auf S3 Tables innerhalb des VPC-Netzwerks

Ähnlich wie bei ressourcenbasierten Richtlinien können Sie Ihrem VPC-Endpunkt eine Endpunktrichtlinie zuordnen, die den Zugriff auf Tabellen und Tabellen-Buckets steuert. Im folgenden Beispiel beschränkt die Richtlinie für Schnittstellenendpunkte den Zugriff auf bestimmte Tabellen-Buckets.

JSON
{ "Version": "2012-10-17", "Id": "Policy141511512309", "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": "s3tables:*", "Effect": "Allow", "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket/*" ] } ] }