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.

AWS PrivateLink für Amazon S3

Mit AWS PrivateLink for Amazon S3 können Sie VPC-Schnittstellen-Endpunkte (Schnittstellenendpunkte) in Ihrer Virtual Private Cloud (VPC) bereitstellen. Auf diese Endpunkte kann direkt von Anwendungen aus zugegriffen werden, die sich vor Ort befinden AWS Direct Connect, über VPN und/oder in einem anderen Fall AWS-Region über VPC-Peering.

Schnittstellenendpunkte werden durch eine oder mehrere Elastic Network-Schnittstellen (ENIs) repräsentiert, denen private IP-Adressen aus Subnetzen in Ihrer VPC zugewiesen werden. Anforderungen an Amazon S3 über Schnittstellenendpunkte bleiben im Amazon-Netzwerk. Sie können auch von lokalen Anwendungen aus über AWS Direct Connect oder AWS Virtual Private Network () auf Schnittstellenendpunkte in Ihrer VPC zugreifen.AWS VPN Weitere Informationen darüber, wie Sie Ihre VPC mit Ihrem On-Premises-Netzwerk verbinden, finden Sie im AWS Direct Connect -Benutzerhandbuch und im AWS Site-to-Site VPN -Benutzerhandbuch.

Allgemeine Informationen zu Schnittstellen-Endpunkten finden Sie unter VPC-Schnittstellen-Endpunkte (AWS PrivateLink) im AWS PrivateLink -Handbuch.

Arten von VPC-Endpunkten für Amazon S3

Sie können zwei Arten von VPC-Endpunkten für den Zugriff auf Amazon S3 verwenden: Gateway-Endpunkte und Schnittstellenendpunkte (mit). AWS PrivateLink Ein Gateway-Endpunkt ist ein Gateway, das Sie in Ihrer Routing-Tabelle angeben, um von Ihrer VPC aus über das AWS Netzwerk auf Amazon 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 Weitere Informationen finden Sie unter Was ist VPC Peering? und Vergleich zwischen Transit Gateway und VPC-Peering.

Schnittstellenendpunkte sind mit Gateway-Endpunkten kompatibel. Wenn Sie einen vorhandenen Gateway-Endpunkt in der VPC haben, können Sie beide Arten von Endpunkten in derselben VPC verwenden.

Gateway-Endpunkte für Amazon S3

Schnittstellenendpunkte für Amazon S3

In beiden Fällen verbleibt Ihr Netzwerkverkehr im Netzwerk. AWS

Verwenden Sie öffentliche IP-Adressen von Amazon S3

Verwenden Sie private IP-Adressen aus Ihrer VPC für den Zugriff auf Amazon S3

Verwenden Sie die gleichen Amazon-S3-DNS-Namen

Erfordert endpunktspezifische Amazon-S3-DNS-Namen

Erlauben keinen On-Premises-Zugriff

Erlaubt On-Premises-Zugriff

Erlauben Sie keinen Zugriff von einem anderen AWS-Region

Erlauben Sie den Zugriff von einer VPC in einer anderen mithilfe AWS-Region von VPC-Peering oder AWS Transit Gateway

Nicht berechnet

Berechnet

Weitere Informationen zu Gateway-Endpunkten finden Sie unter Gateway-VPC-Endpunkte im AWS PrivateLink -Handbuch.

VPC-Einschränkungen gelten AWS PrivateLink für Amazon S3. Weitere Informationen finden Sie unter Überlegungen zu Schnittstellenendpunkten und AWS PrivateLink -Kontingente im Handbuch zu AWS PrivateLink . Darüber hinaus gelten die folgenden Einschränkungen.

AWS PrivateLink für Amazon S3 unterstützt Folgendes nicht:

Erstellung eines VPC-Endpunkts

Informationen zum Erstellen eines VPC-Schnittstellenendpunkts finden Sie unter Erstellen eines VPC-Endpunkts im AWS PrivateLink -Handbuch.

Zugriff auf Amazon-S3-Schnittstellen-Endpunkte

Wenn Sie einen Schnittstellenendpunkt erstellen, generiert Amazon S3 zwei Arten von endpunktspezifischen S3-DNS-Namen: regional und zonengebunden.

  • Ein regionaler DNS-Name enthält eine eindeutige VPC-Endpunkt-ID, eine Dienstkennung AWS-Region, das und vpce.amazonaws.com in seinem Namen. Beispielsweise könnte der generierte DNS-Name für VPC-Endpunkt-ID vpce-1a2b3c4d mit vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com vergleichbar sein.

  • Ein zonengebundener DNS-Name enthält die Availability Zone, z. B. vpce-1a2b3c4d-5e6f-us-east-1a.s3.us-east-1.vpce.amazonaws.com. Sie können diese Option verwenden, wenn Ihre Architektur Availability Zones isoliert. Sie könnten sie beispielsweise zur Fehlereingrenzung oder zur Senkung der regionalen Datenübertragungskosten verwenden.

Endpunktspezifische S3-DNS-Namen können aus der öffentlichen S3-DNS-Domain aufgelöst werden.

Privates DNS

Optionen für private DNS für VPC-Schnittstellenendpunkte vereinfachen das Routing von S3-Datenverkehr über VPC-Endpunkte und helfen Ihnen dabei, den kostengünstigsten Netzwerkpfad für Ihre Anwendung zu nutzen. 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, und ohne die DNS-Infrastruktur verwalten zu müssen. Wenn private DNS-Namen aktiviert sind, werden regionale S3-DNS-Abfragen zu den privaten IP-Adressen der AWS PrivateLink folgenden Endpunkte aufgelöst:

  • Regionale Bucket-Endpunkte (z. B. s3.us-east-1.amazonaws.com)

  • Kontrollendpunkte (z. B. s3-control.us-east-1.amazonaws.com)

  • Zugriffspunkt-Endpunkte (z. B. s3-accesspoint.us-east-1.amazonaws.com)

Wenn Sie einen Gateway-Endpunkt in Ihrer VPC haben, können Sie In-VPC-Anforderungen automatisch über Ihren vorhandenen S3-Gateway-Endpunkt und On-Premises-Anforderungen über Ihren Schnittstellenendpunkt weiterleiten. Mit diesem Ansatz können Sie Ihre Netzwerkkosten optimieren, indem Sie Gateway-Endpunkte für Ihren In-VPC-Datenverkehr verwenden, die nicht in Rechnung gestellt werden. Ihre lokalen Anwendungen können AWS PrivateLink mithilfe des Resolver-Endpunkts für eingehende Anrufe verwendet werden. Amazon stellt einen DNS-Server den Route 53 Resolver für Ihre VPC zur Verfügung. Ein eingehender Resolver-Endpunkt leitet DNS-Abfragen vom On-Premises Netzwerk an Route 53 Resolver weiter.

Wichtig

Um bei Verwendung von Private DNS nur für eingehende Endpunkte aktivieren den kostengünstigsten Netzwerkpfad zu nutzen, muss in Ihrer VPC ein Gateway-Endpunkt vorhanden sein. Ein Gateway-Endpunkt hilft dabei, sicherzustellen, dass der In-VPC-Datenverkehr immer über das private AWS -Netzwerk weitergeleitet wird, wenn die Option Private DNS nur für eingehende Endpunkte aktivieren ausgewählt ist. Sie müssen diesen Gateway-Endpunkt beibehalten, solange die Option Private DNS nur für eingehende Endpunkte aktivieren aktiviert ist. Wenn Sie Ihren Gateway-Endpunkt löschen möchten, müssen Sie zuerst Private DNS nur für eingehende Endpunkte aktivieren deaktivieren.

Wenn Sie einen vorhandenen Schnittstellenendpunkt auf Private DNS nur für eingehende Endpunkte aktivieren aktualisieren möchten, vergewissern Sie sich zunächst, dass Ihre VPC über einen S3-Gateway-Endpunkt verfügt. Weitere Informationen zu Gateway-Endpunkten und zur Verwaltung von privaten DNS-Namen finden Sie unter Gateway-VPC-Endpunkte bzw. DNS-Namen verwalten im Handbuch zu AWS PrivateLink .

Die Option Private DNS nur für eingehende Endpunkte aktivieren ist nur für Services verfügbar, die Gateway-Endpunkte unterstützen.

Weitere Informationen zum Erstellen eines VPC-Endpunkts, der Private DNS nur für eingehende Endpunkte aktivieren verwendet, finden Sie unter Erstellen eines Schnittstellenendpunkts im Handbuch zu AWS PrivateLink .

Verwenden der VPC-Konsole

In der Konsole haben Sie zwei Optionen: DNS-Namen aktivieren und Private DNS nur für eingehende Endpunkte aktivieren. DNS-Name aktivieren ist eine Option, die von unterstützt wird. AWS PrivateLink Mit der Option DNS-Namen aktivieren können Sie die private Konnektivität von Amazon mit Amazon S3 nutzen und gleichzeitig Anforderungen an die standardmäßigen DNS-Namen für öffentliche Endpunkte ausführen. Wenn diese Option aktiviert ist, können Kunden den für Ihre Anwendung kostengünstigsten Netzwerkpfad nutzen.

Wenn Sie private DNS-Namen für einen vorhandenen oder neuen VPC-Schnittstellenendpunkt für Amazon S3 aktivieren, ist die Option Private DNS nur für eingehende Endpunkte aktivieren standardmäßig ausgewählt. Wenn diese Option ausgewählt ist, verwenden Ihre Anwendungen nur Schnittstellenendpunkte für Ihren On-Premises-Datenverkehr. Dieser In-VPC-Datenverkehr verwendet automatisch die kostengünstigeren Gateway-Endpunkte. Alternativ können Sie Private DNS nur für eingehende Endpunkte aktivieren deaktivieren, um alle S3-Anforderungen über Ihren Schnittstellenendpunkt weiterzuleiten.

Mit dem AWS CLI

Wenn Sie keinen Wert für PrivateDnsOnlyForInboundResolverEndpoint angeben, wird standardmäßig true verwendet. Bevor Ihre VPC Ihre Einstellungen anwendet, überprüft sie jedoch, ob in der VPC ein Gateway-Endpunkt vorhanden ist. Wenn ein Gateway-Endpunkt in der VPC vorhanden ist, ist der Aufruf erfolgreich. Wenn nicht, wird die folgende Fehlermeldung angezeigt:

Um auf true PrivateDnsOnlyForInboundResolverEndpoint zu setzen, muss die VPC vpce_id über einen Gateway-Endpunkt für den Service verfügen.

Für einen neuen VPC-Schnittstellenendpunkt

Verwenden Sie die Attribute private-dns-enabled und dns-options, um privates DNS über die Befehlszeile zu aktivieren. Die Option PrivateDnsOnlyForInboundResolverEndpoint im Attribut dns-options muss auf true gesetzt sein. Ersetzen Sie user input placeholders durch Ihre Informationen.

aws ec2 create-vpc-endpoint \ --region us-east-1 \ --service-name s3-service-name \ --vpc-id client-vpc-id \ --subnet-ids client-subnet-id \ --vpc-endpoint-type Interface \ --private-dns-enabled \ --ip-address-type ip-address-type \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true \ --security-group-ids client-sg-id

Für einen vorhandenen VPC-Endpunkt

Wenn Sie privates DNS für einen vorhandenen VPC-Endpunkt verwenden möchten, verwenden Sie den folgenden Beispielbefehl und ersetzen Sie user input placeholders durch Ihre eigenen Informationen.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=false

Wenn Sie einen vorhandenen VPC-Endpunkt aktualisieren möchten, um privates DNS nur für den eingehenden Resolver zu aktivieren, verwenden Sie das folgende Beispiel und ersetzen Sie die Beispielwerte durch Ihre eigenen.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true

Zugriff auf Buckets, Zugriffspunkte und Amazon-S3-Control-API-Operationen über S3-Schnittstellenendpunkte

Sie können die AWS SDKs AWS CLI oder verwenden, um über S3-Schnittstellenendpunkte auf Buckets, S3-Zugriffspunkte und Amazon S3 Control API-Operationen zuzugreifen.

Die folgende Abbildung zeigt den Tab Details der VPC-Konsole, auf der Sie den DNS-Namen eines VPC-Endpunkts finden. In diesem Beispiel lautet die VPC-Endpunkt-ID (vpce-id) vpce-0e25b8cdd720f900e und der DNS-Name lautet *.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com.

Die Registerkarte Details in der VPC-Konsole.

Wenn Sie den DNS-Namen verwenden, um auf eine Ressource zuzugreifen, ersetzen Sie * durch den entsprechenden Wert. Die entsprechenden Werte, die anstelle von * verwendet werden können, lauten wie folgt:

  • bucket

  • accesspoint

  • control

Um beispielsweise auf einen Bucket zuzugreifen, verwenden Sie einen DNS-Namen wie diesen:

bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com

Beispiele für die Verwendung von DNS-Namen für den Zugriff auf Buckets, Zugriffspunkte und Amazon-S3-Control API-Operationen finden Sie in den folgenden Abschnitten von AWS CLI Beispiele und AWS SDK-Beispiele.

Weitere Informationen zum Anzeigen Ihrer endpunktspezifischen DNS-Namen finden Sie unter Anzeigen der privaten DNS-Namenskonfiguration eines Endpunktservice im VPC-Benutzerhandbuch.

Verwenden Sie die Parameter und, um über S3-Schnittstellenendpunkte in AWS CLI Befehlen auf S3-Buckets, S3-Zugriffspunkte oder Amazon S3 Control API-Operationen zuzugreifen. --region --endpoint-url

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

Ersetzen Sie im folgenden Beispiel den Bucket-Namen my-bucket, die Region us-east-1 und den DNS-Namen der VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

aws s3 ls s3://my-bucket/ --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

Beispiel: Verwenden einer Endpunkt-URL zum Auflisten von Objekten von einem Zugriffspunkt

  • Methode 1 – Verwenden des Amazon-Ressourcennamens (ARN) des Zugriffspunkts mit dem Zugriffspunkt-Endpunkt

    Ersetzen Sie den ARN us-east-1:123456789012:accesspoint/accesspointexamplename, die Region us-east-1 und die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

    aws s3api list-objects-v2 --bucket arn:aws:s3:us-east-1:123456789012:accesspoint/accesspointexamplename --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

    Wenn Sie den Befehl nicht erfolgreich ausführen können, aktualisieren Sie Ihre Version AWS CLI auf die neueste Version und versuchen Sie es erneut. Weitere Informationen zur Aktualisierung finden Sie unter Installation oder Aktualisierung der aktuellen Version der AWS CLI im Benutzerhandbuch zu AWS Command Line Interface .

  • Methode 2 – Verwenden des Alias des Zugriffspunkts mit dem regionalen Bucket-Endpunkt

    Ersetzen Sie im folgenden Beispiel den Zugriffspunkt-Alias accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, die Region us-east-1 und die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
  • Methode 3 – Verwenden des Alias des Zugriffspunkts mit dem Zugriffspunkt-Endpunkt

    Um einen S3-Endpunkt zu erstellen, bei dem der Bucket als Teil des Hostnamens enthalten ist, legen Sie zunächst den Adressierungsstil auf virtual fest, damit aws s3api ihn verwenden kann. Weitere Informationen zu AWS configure finden Sie unter Einstellungen der Konfigurations- und Anmeldeinformationsdatei im Benutzerhandbuch zu AWS Command Line Interface .

    aws configure set default.s3.addressing_style virtual

    Ersetzen Sie im folgenden Beispiel dann den Zugriffspunkt-Alias accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, die Region us-east-1 und die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen. Weitere Informationen zum Access Point-Alias finden Sie unterVerwenden eines Alias im Bucket-Stil für Ihren S3-Bucket-Zugriffspunkt.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
Beispiel: Verwenden einer Endpunkt-URL zum Auflisten von Aufträgen mit einer S3-Control-API-Operation

Ersetzen Sie im folgenden Beispiel die Region us-east-1, die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com und die Konto-ID 12345678 durch Ihre eigenen Informationen.

aws s3control --region us-east-1 --endpoint-url https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com list-jobs --account-id 12345678

Um bei Verwendung der SDKs auf S3-Buckets, S3-Zugriffspunkte oder Amazon S3 Control API-Operationen über S3-Schnittstellenendpunkte zuzugreifen, aktualisieren Sie Ihre AWS SDKs auf die neueste Version. Konfigurieren Sie Ihre Clients anschließend so, dass sie eine Endpunkt-URL verwenden, um über S3-Schnittstellenendpunkte auf einen Bucket, einen Zugriffspunkt oder Amazon-S3-Control-API-Operationen zuzugreifen.

SDK for Python (Boto3)
Beispiel: Verwenden einer Endpunkt-URL, um auf einen S3-Bucket zuzugreifen

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

s3_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Beispiel: Verwenden einer Endpunkt-URL, um auf einen S3-Zugriffspunkt zuzugreifen

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

ap_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Beispiel: Verwenden einer Endpunkt-URL, um auf die Amazon-S3-Control-API zuzugreifen

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

control_client = session.client( service_name='s3control', region_name='us-east-1', endpoint_url='https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
SDK for Java 1.x
Beispiel: Verwenden einer Endpunkt-URL, um auf einen S3-Bucket zuzugreifen

Ersetzen Sie im folgenden Beispiel die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

// bucket client final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); List<Bucket> buckets = s3.listBuckets();
Beispiel: Verwenden einer Endpunkt-URL, um auf einen S3-Zugriffspunkt zuzugreifen

Ersetzen Sie im folgenden Beispiel die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com und den ARN us-east-1:123456789012:accesspoint/prod durch Ihre eigenen Informationen.

// accesspoint client final AmazonS3 s3accesspoint = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); ObjectListing objects = s3accesspoint.listObjects("arn:aws:s3:us-east-1:123456789012:accesspoint/prod");
Beispiel: Verwenden einer Endpunkt-URL, um auf eine Amazon-S3-Control-API-Operation zuzugreifen

Ersetzen Sie im folgenden Beispiel die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.

// control client final AWSS3Control s3control = AWSS3ControlClient.builder().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); final ListJobsResult jobs = s3control.listJobs(new ListJobsRequest());
SDK for Java 2.x
Beispiel: Verwenden einer Endpunkt-URL, um auf einen S3-Bucket zuzugreifen

Ersetzen Sie im folgenden Beispiel die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com und die Region Region.US_EAST_1 durch Ihre eigenen Informationen.

// bucket client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Beispiel: Verwenden einer Endpunkt-URL, um auf einen S3-Zugriffspunkt zuzugreifen

Ersetzen Sie im folgenden Beispiel die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com und die Region Region.US_EAST_1 durch Ihre eigenen Informationen.

// accesspoint client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Beispiel: Verwenden einer Endpunkt-URL, um auf die Amazon-S3-Control-API zuzugreifen

Ersetzen Sie im folgenden Beispiel die VPC-Endpunkt-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com und die Region Region.US_EAST_1 durch Ihre eigenen Informationen.

// control client Region region = Region.US_EAST_1; s3ControlClient = S3ControlClient.builder().region(region) .endpointOverride(URI.create("https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()

Aktualisieren einer lokalen DNS-Konfiguration

Wenn Sie endpunktspezifische DNS-Namen für den Zugriff auf die Schnittstellenendpunkte für Amazon S3 verwenden, brauchen Sie Ihren lokalen DNS-Resolver nicht zu aktualisieren. Sie können den endpunktspezifischen DNS-Namen mit der privaten IP-Adresse des Schnittstellenendpunkts aus der öffentlichen Amazon S3 DNS Domain auflösen.

Verwenden von Schnittstellenendpunkten für den Zugriff auf Amazon S3 ohne Gateway-Endpunkt oder Internet-Gateway in der VPC

Schnittstellenendpunkte in Ihrer VPC können sowohl In-VPC-Anwendungen als auch lokale Anwendungen über das Amazon-Netzwerk an Amazon S3 weiterleiten, wie im folgenden Diagramm dargestellt.

Datenflussdiagramm, das den Zugriff auf Amazon S3 über einen Schnittstellenendpunkt und AWS PrivateLink zeigt.

Das Diagramm veranschaulicht folgende Vorgänge:

  • Ihr lokales Netzwerk verwendet AWS Direct Connect oder, um eine Verbindung AWS VPN zu VPC A herzustellen.

  • Ihre lokalen Anwendungen und Anwendungen in VPC A verwenden endpunktspezifische DNS-Namen, um über den S3-Schnittstellenendpunkt auf Amazon S3 zuzugreifen.

  • Lokale Anwendungen senden Daten über AWS Direct Connect (oder AWS VPN) an den Schnittstellenendpunkt in der VPC. AWS PrivateLink verschiebt die Daten vom Schnittstellenendpunkt über das AWS Netzwerk zu Amazon S3.

  • In-VPC-Anwendungen senden auch Datenverkehr an den Schnittstellenendpunkt. AWS PrivateLink verschiebt die Daten vom Schnittstellenendpunkt über das AWS Netzwerk zu Amazon S3.

Gemeinsames Verwenden von Gateway-Endpunkten und Schnittstellenendpunkten in derselben VPC für den Zugriff auf Amazon S3

Sie können Schnittstellenendpunkte erstellen und den vorhandenen Gateway-Endpunkt in derselben VPC beibehalten, wie das folgende Diagramm zeigt. Mit diesem Ansatz erlauben Sie In-VPC-Anwendungen, weiterhin über den Gateway-Endpunkt auf Amazon S3 zuzugreifen, was nicht in Rechnung gestellt wird. Dann würden nur Ihre On-Premises-Anwendungen Schnittstellenendpunkte für den Zugriff auf Amazon S3 verwenden. Um auf diese Weise auf Amazon S3 zuzugreifen, müssen Sie Ihre On-Premises-Anwendungen aktualisieren, damit endpunktspezifische DNS-Namen für Amazon S3 verwendet werden.

Datenflussdiagramm, das den Zugriff auf Amazon S3 über Gateway-Endpunkte und Schnittstellenendpunkte zeigt.

Das Diagramm veranschaulicht folgende Vorgänge:

  • Lokale Anwendungen verwenden endpunktspezifische DNS-Namen, um Daten über AWS Direct Connect (oder) an den Schnittstellenendpunkt innerhalb der VPC zu senden. AWS VPN AWS PrivateLink verschiebt die Daten vom Schnittstellenendpunkt über das AWS Netzwerk zu Amazon S3.

  • Mithilfe der standardmäßigen regionalen Amazon S3-Namen senden In-VPC-Anwendungen Daten an den Gateway-Endpunkt, der über das AWS Netzwerk eine Verbindung zu Amazon S3 herstellt.

Weitere Informationen zu Gateway-Endpunkten finden Sie unter Gateway-VPC-Endpunkte im VPC-Benutzerhandbuch.

Erstellen einer VPC-Endpunktrichtlinie für Amazon S3

Sie können eine Endpunktrichtlinie an Ihren VPC-Endpunkt anhängen, der den Zugriff auf Amazon S3 steuert. Die Richtlinie gibt die folgenden Informationen an:

  • Der AWS Identity and Access Management (IAM-) Principal, der Aktionen ausführen kann

  • Aktionen, die ausgeführt werden können

  • Ressourcen, für die Aktionen ausgeführt werden können

Sie können Amazon-S3-Bucket-Richtlinien auch verwenden, um den Zugriff auf bestimmte Buckets von einem bestimmten VPC-Endpunkt aus zu beschränken, indem Sie die Bedingung aws:sourceVpce in Ihrer Bucket-Richtlinie verwenden. Die folgenden Beispiele zeigen Richtlinien, die den Zugriff auf einen Bucket oder einen Endpunkt einschränken.

Sie können eine Endpunktrichtlinie erstellen, die den Zugriff auf spezifische Amazon-S3-Buckets beschränkt. Diese Art von Richtlinie ist nützlich, wenn Sie andere AWS-Services in Ihrer VPC haben, die Buckets verwenden. Die folgende Bucket-Richtlinie schränkt den Zugriff auf ausschließlich example-s3-bucket1 ein. Um diese Endpunktrichtlinie zu verwenden, ersetzen Sie example-s3-bucket1 im Beispiel durch den Namen Ihres Buckets.

{ "Version": "2012-10-17", "Id": "Policy1415115909151", "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::example-s3-bucket1", "arn:aws:s3:::example-s3-bucket1/*"] } ] }

Sie können eine Endpunktrichtlinie erstellen, die den Zugriff nur auf die S3-Buckets in einem bestimmten Bereich beschränkt. AWS-Konto Verwenden Sie die folgende Anweisung in Ihrer Endpunktrichtlinie, um Clients in Ihrer VPC daran zu hindern, auf Buckets zuzugreifen, für die Sie keine Rechte haben. Die folgende Beispielanweisung erstellt eine Richtlinie, die den Zugriff auf Ressourcen einschränkt, die einer einzelnen AWS-Konto -ID, 111122223333, gehören.

{ "Statement": [ { "Sid": "Access-to-bucket-in-specific-account-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Deny", "Resource": "arn:aws:s3:::*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
Anmerkung

Um die AWS-Konto ID der Ressource anzugeben, auf die zugegriffen wird, können Sie entweder den aws:ResourceAccount oder den s3:ResourceAccount Schlüssel in Ihrer IAM-Richtlinie verwenden. Beachten Sie jedoch, dass einige davon auf den Zugriff auf AWS verwaltete Buckets AWS-Services angewiesen sind. Daher kann es auch den Zugriff auf diese Ressourcen beeinflussen, wenn Sie den Schlüssel aws:ResourceAccount oder s3:ResourceAccount in Ihrer IAM-Richtlinie verwenden.

Beispiel: Beschränken des Zugriffs auf einen bestimmten VPC-Endpunkt in der S3-Bucket-Richtlinie

Die folgende Amazon-S3-Bucket-Richtlinie ermöglicht den Zugriff auf einen spezifischen Bucket, example-s3-bucket2, nur vom VPC-Endpunkt vpce-1a2b3c4d aus. Die Richtlinie lehnt sämtlichen Zugriff auf den Bucket ab, der nicht über den angegebenen Endpunkt erfolgt. Die Bedingung aws:sourceVpce gibt den Endpunkt an und erfordert keinen Amazon-Ressourcennamen (ARN) für die VPC-Endpunkt-Ressource, sondern nur die Endpunkt-ID. Um diese Bucket-Richtlinie zu verwenden, ersetzen Sie example-s3-bucket2 und vpce-1a2b3c4d durch den Namen Ihres Buckets und Ihren Endpunkt.

Wichtig
{ "Version": "2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::example-s3-bucket2", "arn:aws:s3:::example-s3-bucket2/*"], "Condition": {"StringNotEquals": {"aws:sourceVpce": "vpce-1a2b3c4d"}} } ] }

Weitere Beispiele für Richtlinien finden Sie in Endpunkte für Amazon S3 im VPC-Benutzerhandbuch.

Weitere Informationen zur VPC-Konnektivität finden Sie unter Netzwerk-to-VPC-Konnektivitätsoptionen im AWS Whitepaper Amazon Virtual Private Cloud Connectivity Options.