AWS PrivateLink für Amazon S3 - 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.

AWS PrivateLink für Amazon S3

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

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

Allgemeine Informationen zu Schnittstellenendpunkten finden Sie im Handbuch unter VPCSchnittstellenendpunkte (AWS PrivateLink).AWS PrivateLink

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 (mithilfe von). AWS PrivateLink Ein Gateway-Endpunkt ist ein Gateway, das Sie in Ihrer Routing-Tabelle angeben, um VPC über das AWS Netzwerk auf Amazon S3 zuzugreifen. Schnittstellen-Endpunkte erweitern die Funktionalität von Gateway-Endpunkten, indem sie private IP-Adressen verwenden, um Anfragen von innerhalb Ihres UnternehmensVPC, vor Ort oder von einem VPC anderen Standort aus mithilfe AWS-Region von VPC Peering oder an Amazon S3 weiterzuleiten. AWS Transit Gateway Weitere Informationen finden Sie unter Was ist Peering? VPC und Transit Gateway im Vergleich zu VPC Peering.

Schnittstellenendpunkte sind mit Gateway-Endpunkten kompatibel. Wenn Sie bereits einen Gateway-Endpunkt in der habenVPC, können Sie beide Arten von Endpunkten gleichzeitig verwenden. VPC

Gateway-Endpunkte für Amazon S3

Schnittstellenendpunkte für Amazon S3

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

Verwenden Sie öffentliche IP-Adressen von Amazon S3

Verwenden Sie private IP-Adressen von IhremVPC, um auf Amazon S3 zuzugreifen

Verwenden Sie dieselben Amazon S3 DNS S3-Namen

Endpunktspezifische Amazon S3 S3-Namen erforderlich DNS

Erlauben keinen On-Premises-Zugriff

Erlaubt On-Premises-Zugriff

Erlauben Sie keinen Zugriff von einem anderen AWS-Region

Erlauben Sie den Zugriff von einem VPC in einem anderen, AWS-Region indem Sie VPC Peering verwenden oder AWS Transit Gateway

Nicht berechnet

Berechnet

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

VPCEinschrä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:

Einen VPC Endpunkt erstellen

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 DNS S3-Namen: Regional und Zonal.

  • Ein regionaler DNS Name beinhaltet eine eindeutige VPC Endpunkt-ID, eine Service-ID AWS-Region, das und vpce.amazonaws.com in seinem Namen. Für die VPC Endpunkt-ID vpce-1a2b3c4d könnte der generierte DNS Name beispielsweise ähnlich sein wievpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com.

  • Ein zonaler DNS Name schließt die Availability Zone ein — zum Beispiel. 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 DNS S3-Namen können von der öffentlichen S3-Domäne aus aufgelöst werden. DNS

Privat DNS

Private DNS Optionen für VPC Schnittstellenendpunkte vereinfachen die Weiterleitung von S3-Verkehr über VPC Endpunkte und helfen Ihnen, den kostengünstigsten Netzwerkpfad zu nutzen, der für Ihre Anwendung verfügbar ist. Sie können private DNS Optionen verwenden, um regionalen S3-Verkehr weiterzuleiten, ohne Ihre S3-Clients so zu aktualisieren, dass sie die endpunktspezifischen DNS Namen Ihrer Schnittstellen-Endpunkte verwenden, oder die Infrastruktur verwalten zu müssen. DNS Wenn private DNS Namen aktiviert sind, werden regionale DNS S3-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)

AWS PrivateLink für Amazon S3 unterstützt nicht die Verwendung von Amazon S3 S3-Dual-Stack-Endpunkten. Wenn Sie einen DNS S3-Dual-Stack-Namen als privaten DNS Namen verwenden, wird Ihr IPv6 Datenverkehr entweder gelöscht oder, falls Ihre virtuelle private Cloud (VPC) über ein Internet-Gateway verfügt, wird Ihr IPv6 Datenverkehr über das Internet-Gateway in Ihrem weitergeleitet. VPC

Wenn Sie einen Gateway-Endpunkt in Ihrem habenVPC, können Sie eingehende VPC Anfragen automatisch über Ihren vorhandenen S3-Gateway-Endpunkt und lokale Anfragen über Ihren Schnittstellenendpunkt weiterleiten. Mit diesem Ansatz können Sie Ihre Netzwerkkosten optimieren, indem Sie Gateway-Endpunkte für Ihren eingehenden Datenverkehr verwenden, für die keine Gebühren anfallen. VPC Ihre lokalen Anwendungen können AWS PrivateLink mithilfe des Resolver-Endpunkts für eingehende Anrufe verwendet werden. Amazon stellt Ihnen einen DNS Server namens Route 53 Resolver zur VerfügungVPC. Ein eingehender Resolver-Endpunkt leitet DNS Anfragen aus dem lokalen Netzwerk an den Route 53 Resolver weiter.

Wichtig

Um bei der Verwendung von Enable Private DNS nur für eingehende Endpunkte den kostengünstigsten Netzwerkpfad nutzen zu können, muss in Ihrem System ein Gateway-Endpunkt vorhanden sein. VPC Das Vorhandensein eines Gateway-Endpunkts trägt dazu bei, dass eingehender VPC Datenverkehr immer über das AWS private Netzwerk geleitet wird, wenn die Option DNS Nur für eingehende Endgeräte aktivieren aktiviert ist. Sie müssen diesen Gateway-Endpunkt beibehalten, solange Sie die Option DNSNur für eingehende Endpunkte aktivieren aktiviert haben. Wenn Sie Ihren Gateway-Endpunkt löschen möchten, müssen Sie zunächst die Option Private Option DNS nur für eingehende Endpunkte aktivieren deaktivieren.

Wenn Sie einen vorhandenen Schnittstellenendpunkt auf Enable Private DNS only for Inbound Endpoints aktualisieren möchten, vergewissern Sie sich zunächst, dass Sie VPC über einen S3-Gateway-Endpunkt verfügen. Weitere Informationen zu Gateway-Endpunkten und zur Verwaltung privater DNS Namen finden Sie unter VPCGateway-Endpunkte bzw. DNSNamen verwalten im Handbuch.AWS PrivateLink

Die Option DNSNur privat für eingehende Endpunkte aktivieren ist nur für Dienste verfügbar, die Gateway-Endpunkte unterstützen.

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

Verwenden der Konsole VPC

In der Konsole haben Sie zwei Optionen: DNSName aktivieren und DNS Nur privat für eingehende Endpunkte aktivieren. DNSName aktivieren ist eine Option, die von unterstützt wird. AWS PrivateLink Mit der Option DNSNamen aktivieren können Sie die private Konnektivität von Amazon zu Amazon S3 nutzen und gleichzeitig Anfragen an die standardmäßigen öffentlichen DNS Endpunktnamen stellen. Wenn diese Option aktiviert ist, können Kunden den für Ihre Anwendung kostengünstigsten Netzwerkpfad nutzen.

Wenn Sie private DNS Namen auf einem 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 eingehende VPC Datenverkehr verwendet automatisch die kostengünstigeren Gateway-Endpunkte. Alternativ können Sie die Option Private DNS nur für eingehende Endpunkte aktivieren deaktivieren, um alle S3-Anfragen über Ihren Schnittstellenendpunkt weiterzuleiten.

Verwenden Sie den AWS CLI

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

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

Für einen neuen VPC Interface-Endpunkt

Verwenden Sie die dns-options Attribute private-dns-enabled und, um Private 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 private DNS für einen vorhandenen VPC Endpunkt verwenden möchten, verwenden Sie den folgenden Beispielbefehl und ersetzen Sie den 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, sodass Private DNS nur für den Inbound Resolver aktiviert wird, 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, Access Points und Amazon S3 API Control-Operationen von Endpunkten mit S3-Schnittstelle

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

Die folgende Abbildung zeigt die Registerkarte „Details“ der VPC Konsole, auf der Sie den DNS Namen eines VPC Endpunkts finden. In diesem Beispiel lautet die VPCEndpunkt-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 Konsole. VPC

Wenn Sie den DNS Namen für den Zugriff auf eine Ressource verwenden, ersetzen Sie * mit dem 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 DNSNamen 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, Access Points und Amazon S3 API Control-Operationen finden Sie in den folgenden Abschnitten von AWS CLI Beispiele undAWS SDKBeispiele.

Weitere Informationen zum Anzeigen Ihrer endpunktspezifischen DNS Namen finden Sie unter Konfiguration der privaten DNS Namen von Endpoint Services anzeigen im VPC Benutzerhandbuch.

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

Beispiel: Verwenden Sie einen EndpunktURL, um Objekte in Ihrem Bucket aufzulisten

Ersetzen Sie im folgenden Beispiel den Bucket-Namenmy-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 Sie einen EndpunktURL, um Objekte von einem Access Point aufzulisten

  • Methode 1 — Verwendung des Amazon-Ressourcennamens (ARN) des Access Points mit dem Access Point-Endpunkt

    Ersetzen Sie die ARNus-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 Access Point-Aliasaccesspointexamplename-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 dann im folgenden Beispiel den Access Point-Aliasaccesspointexamplename-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 Sie einen EndpunktURL, um Jobs mit einem API S3-Steuerungsvorgang aufzulisten

Ersetzen Sie im folgenden Beispiel die Regionus-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 auf S3-Buckets, S3-Zugriffspunkte oder Amazon S3 API Control-Operationen über S3-Schnittstellenendpunkte zuzugreifen, wenn Sie die verwenden AWS SDKs, aktualisieren Sie Ihre Version SDKs auf die neueste Version. Konfigurieren Sie dann Ihre Clients so, dass sie einen Endpunkt URL für den Zugriff auf einen Bucket, Access Point oder Amazon S3 API Control-Operationen über S3-Schnittstellenendpunkte verwenden.

SDK for Python (Boto3)
Beispiel: Verwenden Sie einen EndpunktURL, 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 Sie einen EndpunktURL, 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 Sie einen EndpunktURL, um auf Amazon S3 Control zuzugreifen API

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 Sie einen EndpunktURL, 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 Sie einen EndpunktURL, 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 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 Sie einen EndpunktURL, um auf einen Amazon S3 API Control-Vorgang 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 Sie einen EndpunktURL, 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 Sie einen EndpunktURL, 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 Sie einen EndpunktURL, um auf Amazon S3 Control zuzugreifen API

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()

Aktualisierung einer lokalen Konfiguration DNS

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

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

Schnittstellenendpunkte in Ihrem VPC System können sowohl interne als auch lokale VPC Anwendungen über das Amazon-Netzwerk an Amazon S3 weiterleiten, wie in der folgenden Abbildung 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 A herzustellen. VPC

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

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

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

Gemeinsame Nutzung von Gateway-Endpunkten und Schnittstellen-Endpunkten für den VPC Zugriff auf Amazon S3

Sie können Schnittstellen-Endpunkte erstellen und den vorhandenen Gateway-Endpunkt darin beibehaltenVPC, wie das folgende Diagramm zeigt. Mit diesem Ansatz ermöglichen Sie internen VPC Anwendungen, weiterhin über den Gateway-Endpunkt auf Amazon S3 zuzugreifen, was nicht in Rechnung gestellt wird. Dann würden nur Ihre lokalen Anwendungen Schnittstellenendpunkte für den Zugriff auf Amazon S3 verwenden. Um auf diese Weise auf Amazon S3 zuzugreifen, müssen Sie Ihre lokalen Anwendungen so aktualisieren, dass sie endpunktspezifische DNS Namen für Amazon S3 verwenden.

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 innerhalb des Durchgangs (oder) an den Schnittstellenendpunkt zu senden. VPC AWS Direct Connect 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 VPC In-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 VPCGateway-Endpunkte im VPCBenutzerhandbuch.

Erstellen einer VPC Endpunktrichtlinie für Amazon S3

Sie können Ihrem VPC Endpunkt eine Endpunktrichtlinie hinzufügen, die 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 auch Amazon S3 S3-Bucket-Richtlinien verwenden, um den Zugriff auf bestimmte Buckets von einem bestimmten VPC Endpunkt aus zu beschränken, indem Sie die aws:sourceVpce Bedingung 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 Richtlinien habenVPC, die Buckets verwenden. Die folgende Bucket-Richtlinie schränkt den Zugriff auf ausschließlich amzn-s3-demo-bucket1 ein. Um diese Endpunktrichtlinie zu verwenden, ersetzen Sie amzn-s3-demo-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:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*"] } ] }

Sie können eine Endpunktrichtlinie erstellen, die den Zugriff nur auf die S3-Buckets in einem bestimmten Bereich beschränkt. AWS-Konto Um zu verhindern, dass Ihre VPC Clients auf Buckets zugreifen, die Sie nicht besitzen, verwenden Sie die folgende Anweisung in Ihrer Endpunktrichtlinie. Die folgende Beispielanweisung erstellt eine Richtlinie, die den Zugriff auf Ressourcen einschränkt, die einer einzigen AWS-Konto ID gehören: 111122223333.

{ "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 auf den Zugriff auf AWS verwaltete Buckets AWS-Services angewiesen sind. Daher kann sich die Verwendung der s3:ResourceAccount Taste aws:ResourceAccount oder in Ihrer IAM Richtlinie auch auf den Zugriff auf diese Ressourcen auswirken.

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

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

Wichtig
  • Wenn Sie die folgende Amazon S3 S3-Bucket-Richtlinie anwenden, um den Zugriff nur auf bestimmte VPC Endpunkte zu beschränken, blockieren Sie möglicherweise Ihren Zugriff auf den Bucket, ohne dies zu beabsichtigen. Bucket-Richtlinien, mit denen der Bucket-Zugriff speziell auf Verbindungen beschränkt werden soll, die von Ihrem VPC Endpunkt ausgehen, können alle Verbindungen zum Bucket blockieren. Informationen zur Behebung dieses Problems finden Sie unter Meine Bucket-Richtlinie hat die falsche VPC oder die VPC Endpunkt-ID. Wie kann ich die Richtlinie so ändern, dass ich auf den Bucket zugreifen kann? im AWS Support Knowledge Center.

  • Bevor Sie die folgende Beispielrichtlinie verwenden, ersetzen Sie die VPC Endpunkt-ID durch einen Wert, der Ihrem Anwendungsfall entspricht. Andernfalls können Sie nicht auf Ihren Bucket zugreifen.

  • Diese Richtlinie deaktiviert den Konsolenzugriff auf den angegebenen Bucket, da Konsolenanfragen nicht vom angegebenen VPC Endpunkt stammen.

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

Weitere Richtlinienbeispiele finden Sie unter Endpoints for Amazon S3 im VPCBenutzerhandbuch.

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