AWS PrivateLink per Amazon S3 - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS PrivateLink per Amazon S3

Con AWS PrivateLink Amazon S3, puoi fornire endpoint VPC di interfaccia (endpoint di interfaccia) nel tuo cloud privato virtuale (VPC). Questi endpoint sono accessibili direttamente dalle applicazioni locali tramite VPN e/o in un altro modo di peering Regione AWS tramite VPC. Direct Connect

Gli endpoint dell'interfaccia sono rappresentati da una o più interfacce di rete elastiche (ENIs) a cui vengono assegnati indirizzi IP privati dalle sottoreti del VPC. Le richieste ad Amazon S3 tramite gli endpoint di interfaccia rimangono nella rete Amazon. Puoi anche accedere agli endpoint di interfaccia nel tuo VPC da applicazioni locali AWS Direct Connect tramite AWS Virtual Private Network o ().Site-to-Site VPN Per ulteriori informazioni su come connettere il VPC alla rete on-premises, consulta la Guida per l’utente di Direct Connect e la Guida per l’utente di AWS Site-to-Site VPN.

Per informazioni sulla creazione di endpoint di interfaccia, consulta Endpoint VPC di interfaccia (AWS PrivateLink) nella Guida di AWS PrivateLink .

Tipi di endpoint VPC per Amazon S3

Puoi utilizzare due tipi di endpoint VPC per accedere ad Amazon S3: endpoint gateway ed endpoint di interfaccia (utilizzando). AWS PrivateLink Un endpoint gateway è un gateway specificato nella tabella di routing per accedere ad Amazon S3 dal tuo VPC tramite la rete. AWS Gli endpoint di interfaccia estendono la funzionalità degli endpoint gateway utilizzando indirizzi IP privati per instradare le richieste ad Amazon S3 dall'interno del tuo VPC, in locale o da un VPC in un altro tramite peering VPC o. Regione AWS AWS Transit Gateway Per ulteriori informazioni, consulta Che cos'è il peering di VPC? e Transit Gateway e peering di VPC.

Gli endpoint di interfaccia sono compatibili con gli endpoint gateway. Se disponi di un endpoint gateway nel VPC, puoi utilizzare entrambi i tipi di endpoint nello stesso VPC.

Endpoint gateway per Amazon S3

Endpoint di interfaccia per Amazon S3

In entrambi i casi, il traffico di rete rimane sulla rete. AWS

Uso di indirizzi IP pubblici di Amazon S3

Uso di indirizzi IP privati del tuo VPC per accedere ad Amazon S3

Uso degli stessi nomi DNS di Simple Storage Service (Amazon S3)

Richiesta di nomi DNS di Simple Storage Service (Amazon S3) specifici per endpoint

Non consente l'accesso da on-premise

Consente l'accesso da On-Premise

Non consentire l'accesso da parte di un altro Regione AWS

Consenti l'accesso da un VPC a un altro Regione AWS utilizzando il peering VPC o AWS Transit Gateway

Non fatturata

Fatturata

Per ulteriori informazioni, consulta Endpoint gateway e endpoint VPC di interfaccia nella Guida.AWS PrivateLink

Le limitazioni VPC si applicano AWS PrivateLink ad Amazon S3. Per ulteriori informazioni, consulta Considerazioni di un endpoint di interfaccia e Quote di AWS PrivateLink nella Guida di AWS PrivateLink . Inoltre, si applicano le limitazioni seguenti:

Gli endpoint di interfaccia per Amazon S3 non supportano quanto segue:

Creazione di un endpoint VPC

Per creare un endpoint di interfaccia VPC, consulta Creazione di un endpoint VPC nella Guida AWS PrivateLink . Per creare un endpoint gateway VPC, consulta Creare un endpoint gateway nella Guida.AWS PrivateLink

Accesso agli endpoint di interfaccia di Amazon S3

Quando crei un endpoint di interfaccia, Amazon S3 genera due tipi di nomi DNS S3 specifici dell'endpoint: regionale e zonale.

  • Un nome DNS regionale include un ID endpoint VPC univoco, un identificatore di servizio, Regione AWSvpce.amazonaws.com il e nel nome. Ad esempio, per l'ID endpoint VPC vpce-1a2b3c4d, il nome DNS generato potrebbe essere simile a vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com.

  • I nomi DNS zonali includono la zona di disponibilità, ad esempio vpce-1a2b3c4d-5e6f-us-east-1a.s3.us-east-1.vpce.amazonaws.com. Puoi utilizzare questa opzione se l'architettura isola le zone di disponibilità. Ad esempio, puoi utilizzarla per il contenimento degli errori o per ridurre i costi di trasferimento dei dati a livello regionale.

I nomi DNS S3 specifici degli endpoint possono essere risolti dal dominio DNS pubblico S3.

Gli endpoint VPC per Amazon S3 supportano diversi tipi di indirizzamento IP, tra cui: IPv4, e Dualstack. IPv6 Consulta Tipi di indirizzi IP per endpoint VPC e Tipi di IP di record DNS per endpoint VPC.

Gli endpoint VPC per Amazon S3 supportano diversi tipi di indirizzamento IP, tra cui:

  • IPv4

    Gli endpoint VPC possono essere configurati per utilizzare solo IPv4 indirizzi per la connettività.

  • IPv6

    Gli endpoint VPC possono essere configurati per utilizzare solo IPv6 indirizzi per la connettività.

  • Dual-stack

    Gli endpoint VPC possono essere configurati in modalità dual-stack, supportando sia gli indirizzi che gli indirizzi contemporaneamente. IPv4 IPv6 Ciò offre la flessibilità necessaria per accedere ad Amazon S3 su una delle due reti IPv4 . IPv6

Il tipo di indirizzo IP scelto per l'endpoint VPC dipenderà dai requisiti di rete delle applicazioni e dell'infrastruttura. Le considerazioni possono includere gli schemi di indirizzamento IP utilizzati nel tuo VPC, nelle reti locali e nella connettività Internet ad Amazon S3. Per ulteriori informazioni, consulta i tipi di indirizzi IP per gli endpoint di interfaccia e gli endpoint gateway nella guida Amazon Virtual Private Cloud.

A seconda del tipo di indirizzo IP, quando chiami un endpoint VPC, Servizio AWS può restituire A record, AAAA record o entrambi i A record. AAAA È possibile personalizzare i tipi di record restituiti dal AWS servizio modificando il tipo IP del record DNS. La tabella seguente mostra i tipi di IP dei record DNS supportati e i tipi di indirizzi IP:

Tipi di indirizzo IP supportati Tipi di IP di record DNS
IPv4 IPv4
IPv6 IPv6
Dualstack Dualstack,, Definito dal servizio IPv4 IPv6

Se crei un endpoint gateway per Amazon S3 e configuri il tipo IP del record DNS come definito dal servizio e utilizzi l'endpoint di servizio regionale, (ad esempio)s3.us-east-2.amazonaws.com, Amazon S3 restituisce i record ai tuoi clienti. A Al contrario, se crei un endpoint gateway e utilizzi un endpoint di servizio dual-stack (ad esempios3.dualstack.us-east-2.amazonaws.com) e selezioni il tipo IP del record DNS come, Amazon service-defined S3 restituisce entrambi i record ai tuoi clienti. A AAAA

Allo stesso modo, se crei un endpoint di interfaccia con DNS privato abilitato e scegli service-defined come tipo di record DNS, per l'endpoint di servizio regionale (ad esempio,), s3.us-east-2.amazonaws.com Amazon S3 restituisce i record al tuo client. A Invece, per un endpoint di servizio dualstack, (ad esempio,), s3.dualstack.us-east-2.amazonaws.com Amazon S3 restituisce entrambi i record. A AAAA Per ulteriori informazioni, consulta il tipo di IP del record DNS per gli endpoint di interfaccia e gli endpoint gateway nella VPC User Guide.

La tabella seguente mostra i tipi di IP di record DNS supportati per gli endpoint gateway e di interfaccia:

Tipo di indirizzo IP Tipi di IP di record DNS supportati per gli endpoint S3 Gateway Tipi di IP di record DNS supportati per gli endpoint dell'interfaccia S3
IPv4 IPv4, definito dal servizio* IPv4
IPv6 IPv6, definito dal servizio* IPv6
Dualstack IPv4, IPv6 Dualstack, definito dal servizio* IPv4Dualstack* IPv6,, definito dal servizio

* Rappresenta il tipo IP di record DNS predefinito.

Per abilitare la IPv6 connettività su un gateway o un endpoint di interfaccia S3 esistente, aggiorna il tipo di indirizzo IP dell'endpoint a. Dualstack Una volta aggiornato, Amazon S3 aggiorna automaticamente le tabelle di routing con gli IPv6 indirizzi per gli endpoint del gateway. Quindi puoi utilizzare l'endpoint del servizio dualstack, ad esempio, e s3.dualstack.us-east-2.amazonaws.com Amazon S3 restituirà entrambi A i AAAA record per le query DNS dualstack S3. Se desideri utilizzarlo IPV6 con l'endpoint del servizio regionale, ad esempio, modifica il tipo di indirizzo IP per l'endpoint e il tipo IP del record DNS in. s3.us-east-2.amazonaws.com Dualstack Dualstack Quindi Amazon S3 restituirà entrambi i A AAAA record per le query DNS S3 regionali.

Considerazioni
  • Se l'endpoint gateway ha la configurazione predefinita del tipo di indirizzo IP IPv4 e il tipo di IP del record DNSservice-defined, allora l'endpoint del servizio dualstack (ad esempios3.dualstack.us-east-2.amazonaws.com), il traffico che utilizza AAAA i record non verrà instradato attraverso l'endpoint del gateway. Al contrario, questo traffico verrà interrotto o indirizzato su un percorso compatibile, se presente. IPv6 Ad esempio, se il tuo cloud privato virtuale (VPC) dispone di un gateway Internet, in questo IPv6 scenario il traffico verrà indirizzato sul gateway Internet nel tuo VPC. Se desideri garantire che il traffico venga sempre instradato su un endpoint VPC, puoi utilizzare una policy di bucket Amazon S3 che limita l'accesso a un bucket specifico se non viene utilizzato un endpoint VPC specificato. Per ulteriori informazioni, consulta Limitazione dell'accesso a un endpoint VPC specifico.

  • Se l'endpoint di interfaccia ha la configurazione predefinita del tipo di indirizzo IP, ovvero, e il tipo di IP del record DNS IPv4, gli endpoint del servizio dualstack IPv4, ad esempio, non sono supportati. ass3.dualstack.us-east-2.amazonaws.com Il traffico che utilizza A o i AAAA record degli endpoint del servizio dualstack non verrà instradato attraverso l'endpoint di interfaccia. Al contrario, questo traffico verrà interrotto o indirizzato su un altro percorso compatibile, se presente.

  • La creazione o la modifica di un endpoint gateway con un tipo IP di record DNS diverso da quello definito dal servizio richiede che entrambi gli attributi e enableDnsSupport enableDnsHostnames VPC siano impostati su true.

DNS privato

Le opzioni DNS private per gli endpoint di interfaccia VPC semplificano l'instradamento del traffico S3 sugli endpoint VPC e consentono di sfruttare il percorso di rete più economico disponibile per l'applicazione. Puoi utilizzare le opzioni DNS private per indirizzare il traffico regionale S3 senza aggiornare i client S3 per usare i nomi DNS specifici degli endpoint di interfaccia o gestire l'infrastruttura DNS. Con i nomi DNS privati abilitati, le query DNS regionali di S3 vengono risolte negli indirizzi IP privati dei seguenti endpoint: AWS PrivateLink

  • Endpoint di bucket regionale (ad esempio, s3.us-east-1.amazonaws.com)

  • Endpoint di controllo (ad esempio, s3-control.us-east-1.amazonaws.com)

  • Endpoint di punto di accesso (ad esempio, s3-accesspoint.us-east-1.amazonaws.com)

Se hai un endpoint gateway nel tuo VPC, puoi indirizzare automaticamente le richieste in entrata nel VPC all'endpoint gateway S3 esistente e le richieste on-premise all'endpoint di interfaccia. Questo approccio consente di ottimizzare i costi di rete utilizzando gli endpoint gateway, che non vengono fatturati, per il traffico in entrata nel VPC. Le applicazioni locali possono essere utilizzate AWS PrivateLink con l'aiuto dell'endpoint Resolver in entrata. Amazon fornisce un server DNS chiamato il Route 53 Resolver per il tuo VPC. Un endpoint del resolver in entrata inoltra le query DNS dalla rete on-premise al Route 53 Resolver.

Importante

Per sfruttare il percorso di rete più economico quando si utilizza Abilita DNS privato solo per gli endpoint in entrata, è necessario che nel cloud privato virtuale sia presente un endpoint gateway. La presenza di un endpoint gateway aiuta a garantire che il traffico in entrata nel VPC venga sempre indirizzato sulla rete privata AWS quando è selezionata l'opzione Abilita DNS privato solo per gli endpoint in entrata. È necessario mantenere questo endpoint gateway se è selezionata l'opzione Abilita DNS privato solo per gli endpoint in entrata. Se desideri eliminare l'endpoint gateway, devi prima deselezionare Abilita DNS privato solo per gli endpoint in entrata.

Se desideri aggiornare un endpoint di interfaccia esistente su Abilita DNS privato solo per gli endpoint in entrata verifica innanzitutto che il tuo VPC disponga di un endpoint gateway S3. Per ulteriori informazioni sugli endpoint gateway e sulla gestione dei nomi DNS privati, consulta rispettivamente Endpoint gateway del VPC e Gestione dei nomi DNS nella Guida di AWS PrivateLink .

Quando si abilita il DNS privato solo per il resolver in ingresso, l'endpoint del gateway deve corrispondere a quello dnsRecordIpType dell'endpoint di interfaccia o essere definito dal servizio.

L'opzione Abilita DNS privato solo per gli endpoint in entrata è disponibile solo per i servizi che supportano gli endpoint gateway.

Per ulteriori informazioni sulla creazione di un endpoint VPC che utilizza Abilita DNS privato solo per gli endpoint in entrata, consulta Creare un endpoint di interfaccia nella Guida di AWS PrivateLink .

Utilizzo della console VPC

Nella console sono disponibili due opzioni: Abilita nome DNS e Abilita DNS privato solo per gli endpoint in entrata. Abilita il nome DNS è un'opzione supportata da. AWS PrivateLink Con l'opzione Abilita nome DNS puoi utilizzare la connettività privata di Amazon ad Amazon S3, effettuando richieste ai nomi DNS predefiniti degli endpoint pubblici. Quando questa opzione è abilitata, i clienti possono sfruttare il percorso di rete più economico disponibile per la loro applicazione.

Quando abiliti i nomi DNS privati su un endpoint di interfaccia VPC esistente o nuovo per Amazon S3, l'opzione Abilita DNS privato solo per gli endpoint in entrata è selezionata per impostazione predefinita. Se questa opzione è selezionata, le applicazioni utilizzano solo gli endpoint di interfaccia per il traffico on-premise. Il traffico VPC in entrata utilizza automaticamente gli endpoint gateway più economici. In alternativa, puoi deselezionare Abilita DNS privato solo per gli endpoint in entrata per indirizzare tutte le richieste S3 sull'endpoint di interfaccia.

Utilizzando il AWS CLI

Se non specifichi un valore per PrivateDnsOnlyForInboundResolverEndpoint, viene usata l'impostazione predefinita true. Tuttavia, prima che il cloud privato virtuale applichi le impostazioni, esegue un controllo per assicurarsi che nel cloud privato VPC sia presente un endpoint gateway. Se nel cloud privato virtuale è presente un endpoint gateway, la chiamata ha esito positivo. In caso contrario, viene visualizzato il seguente messaggio di errore:

Per essere impostato su PrivateDnsOnlyForInboundResolverEndpoint true, il VPC vpce_id deve disporre di un endpoint gateway per il servizio.

Per un nuovo endpoint di interfaccia VPC

Usa gli attributi private-dns-enabled e dns-options per abilitare il DNS privato tramite la linea di comando. L'opzione PrivateDnsOnlyForInboundResolverEndpoint nell'attributo dns-options deve essere impostata su true. Sostituisci user input placeholders con le informazioni appropriate.

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

Per un endpoint VPC esistente

Se desideri utilizzare il DNS privato per un endpoint VPC esistente, usa il seguente comando di esempio e sostituisci user input placeholders con le tue specifiche informazioni.

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

Se desideri aggiornare un endpoint VPC esistente per abilitare il DNS privato solo per il risolutore in entrata, usa il seguente esempio e sostituisci i valori di esempio con le tue specifiche informazioni.

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

Accesso ai bucket, ai punti di accesso e alle operazioni API di controllo Amazon S3 dagli endpoint di interfaccia S3

Puoi utilizzare AWS CLI o AWS SDKs per accedere a bucket, punti di accesso S3 e operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3.

Nell'immagine seguente viene illustrata la scheda Dettagli della console VPC, in cui è possibile trovare il nome DNS di un endpoint VPC. In questo esempio, l'ID endpoint VPC (vpce-id) è vpce-0e25b8cdd720f900e e il nome DNS è *.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com.

Scheda Dettagli nella console VPC.

Quando usi il nome DNS per accedere a una risorsa, sostituiscilo con il valore appropriato. * I valori appropriati da utilizzare al posto di * sono i seguenti:

  • bucket

  • accesspoint

  • control

Ad esempio, per accedere a un bucket, usa un nome DNS simile al seguente:

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

Per esempi di come utilizzare i nomi DNS per accedere a bucket, punti di accesso e operazioni API di controllo Amazon S3, consulta le sezioni AWS CLI esempi e AWS Esempi SDK.

Per ulteriori informazioni su come visualizzare i nomi DNS specifici degli endpoint, consulta Visualizzazione della configurazione dei nomi DNS privati del servizio endpoint nella Guida per l'utente di VPC.

Per accedere ai bucket S3, ai punti di accesso S3 o alle operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3 nei AWS CLI comandi, utilizza i parametri and. --region --endpoint-url

Esempio: utilizzo dell'URL dell'endpoint per elencare gli oggetti nel bucket

Nell'esempio seguente, sostituisci il nome bucket my-bucket, Regione us-east-1 e il nome DNS dell'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le tue informazioni.

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

Esempio: utilizzo dell'URL dell'endpoint per elencare gli oggetti da un punto di accesso

  • Metodo 1: utilizzo del nome della risorsa Amazon (ARN) del punto di accesso con l'endpoint del punto di accesso

    Sostituisci l'ARN us-east-1:123456789012:accesspoint/accesspointexamplename, la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

    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

    Se non riesci a eseguire correttamente il comando, aggiorna il comando AWS CLI alla versione più recente e riprova. Per ulteriori informazioni sulle istruzioni di aggiornamento, consulta Istruzioni per l'installazione o l'aggiornamento all'ultima versione della AWS CLI nella Guida per l'utente di AWS Command Line Interface .

  • Metodo 2: utilizzo dell'alias del punto di accesso con l'endpoint bucket regionale

    Nell'esempio seguente, sostituisci l'alias del punto di accesso accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

    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
  • Metodo 3: utilizzo dell'alias del punto di accesso con l'endpoint del punto di accesso

    Innanzitutto, per creare un endpoint S3 con il bucket incluso come parte del nome host, imposta lo stile di indirizzamento su virtual per aws s3api. Per ulteriori informazioni su AWS configure, consulta File di configurazione e delle credenziali nella Guida per l'utente di AWS Command Line Interface .

    aws configure set default.s3.addressing_style virtual

    Quindi, nell'esempio seguente, sostituisci l'alias del punto di accesso accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate. Per ulteriori informazioni sull'alias del punto di accesso, consulta Alias del punto di accesso.

    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
Esempio: utilizzo dell'URL dell'endpoint per elencare i processi con un'operazione API di controllo S3

Nell'esempio seguente, sostituisci la Regione us-east-1, l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e l'ID account 12345678 con le informazioni appropriate.

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

Per accedere ai bucket S3, ai punti di accesso S3 o alle operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3 quando usi AWS SDKs, aggiorna il tuo alla versione più recente. SDKs Quindi configura i client per utilizzare un URL endpoint per accedere a un bucket, un punto di accesso o un'operazione API di controllo Amazon S3 tramite gli endpoint di interfaccia S3.

SDK for Python (Boto3)
Esempio: utilizzo di un URL endpoint per accedere a un bucket S3

Nell'esempio seguente, sostituisci la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

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' )
Esempio: utilizzare un URL endpoint per accedere a un punto di accesso S3

Nell'esempio seguente, sostituisci la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

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' )
Esempio: utilizzo di un URL endpoint per accedere all'API di controllo Amazon S3

Nell'esempio seguente, sostituisci la Regione us-east-1 e l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

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
Esempio: utilizzo di un URL endpoint per accedere a un bucket S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

// 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();
Esempio: utilizzare un URL endpoint per accedere a un punto di accesso S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e l'ARN us-east-1:123456789012:accesspoint/prod con le informazioni appropriate.

// 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");
Esempio: utilizzo di un URL endpoint per accedere all'operazione API di controllo Amazon S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com con le informazioni appropriate.

// 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
Esempio: utilizzo di un URL endpoint per accedere a un bucket S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e la Regione Region.US_EAST_1 con le informazioni appropriate.

// 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()
Esempio: utilizzare un URL endpoint per accedere a un punto di accesso S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e la Regione Region.US_EAST_1 con le informazioni appropriate.

// 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()
Esempio: utilizzo di un URL endpoint per accedere all'API di controllo Amazon S3

Nell'esempio seguente, sostituisci l'ID endpoint VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com e la Regione Region.US_EAST_1 con le informazioni appropriate.

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

Aggiornamento di una configurazione DNS locale

Quando si utilizzano nomi DNS specifici degli endpoint per accedere agli endpoint di interfaccia per Amazon S3, non è necessario aggiornare il resolver DNS locale. Puoi risolvere il nome DNS specifico dell'endpoint con l'indirizzo IP privato dell'endpoint di interfaccia dal dominio DNS Amazon S3 pubblico.

Utilizzo degli endpoint di interfaccia per accedere ad Amazon S3 senza un endpoint gateway o un gateway Internet nel VPC

Gli endpoint di interfaccia nel VPC possono instradare sia le applicazioni nel VPC che le applicazioni locali ad Amazon S3 sulla rete Amazon, come illustrato nel diagramma seguente.

Diagramma del flusso di dati che mostra l'accesso ad Amazon S3 utilizzando un endpoint di interfaccia e. AWS PrivateLink

Il diagramma illustra quanto segue:

  • La tua rete locale utilizza Direct Connect o Site-to-Site VPN per connettersi a VPC A.

  • Le applicazioni in locale e in VPC A utilizzano nomi DNS specifici degli endpoint per accedere ad Amazon S3 tramite l'endpoint di interfaccia S3.

  • Le applicazioni locali inviano i dati all'endpoint di interfaccia nel VPC tramite Direct Connect (o). Site-to-Site VPN AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.

  • Le applicazioni in-VPC inviano inoltre traffico all'endpoint dell'interfaccia. AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.

Utilizzo di endpoint gateway e endpoint di interfaccia insieme nello stesso VPC per accedere ad Amazon S3

Puoi creare endpoint di interfaccia e mantenere l'endpoint gateway esistente nello stesso VPC, come illustrato nel diagramma seguente. Con questo approccio consenti alle applicazioni nel VPC di continuare ad accedere ad Amazon S3 tramite l'endpoint gateway senza essere fatturate. Quindi, solo le applicazioni on-premise utilizzerebbero gli endpoint di interfaccia per accedere ad Amazon S3. Per accedere ad Amazon S3 in questo modo, è necessario aggiornare le applicazioni On-Premise per utilizzare nomi DNS specifici degli endpoint per Amazon S3.

Diagramma del flusso di dati che mostra l'accesso ad Amazon S3 tramite endpoint del gateway e endpoint dell'interfaccia.

Il diagramma illustra quanto segue:

  • Le applicazioni locali utilizzano nomi DNS specifici dell'endpoint per inviare dati all'endpoint di interfaccia all'interno del VPC tramite (o). Direct Connect Site-to-Site VPN AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.

  • Utilizzando i nomi regionali Amazon S3 predefiniti, le applicazioni in-VPC inviano dati all'endpoint gateway che si connette ad Amazon S3 tramite la rete. AWS

Per ulteriori informazioni sugli endpoint gateway, consulta Endpoint VPC gateway nella Guida per l'utente di VPC.

Creazione di una policy per l'endpoint VPC per Amazon S3

Puoi allegare una policy di endpoint all'endpoint VPC che controlla l'accesso ad Amazon S3. Questa policy specifica le informazioni riportate di seguito:

  • Il principale AWS Identity and Access Management (IAM) che può eseguire azioni

  • Le azioni che possono essere eseguite

  • Le risorse sui cui si possono eseguire le azioni

Puoi utilizzare le policy del bucket di Amazon S3 anche per limitare l'accesso a bucket specifici da un endpoint VPC specifico utilizzando la condizione aws:sourceVpce nella policy del bucket. Negli esempi seguenti vengono illustrate le policy che limitano l'accesso a un bucket o a un endpoint.

Puoi creare una policy di endpoint che limita l'accesso solo a bucket Amazon S3 specifici. Questo tipo di policy è utile se Servizi AWS nel tuo VPC sono presenti altre policy che utilizzano bucket. La seguente policy del bucket limita l'accesso solo a amzn-s3-demo-bucket1. Per utilizzare questa policy di endpoint, sostituisci amzn-s3-demo-bucket1 con il nome del bucket.

JSON
{ "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/*"] } ] }

Puoi creare una policy per gli endpoint che limiti l'accesso solo ai bucket S3 in uno specifico caso. Account AWS Per impedire ai client nel VPC di accedere ai bucket di cui non sei proprietario, utilizza la seguente istruzione nella policy di endpoint. Nell'esempio seguente viene creata una policy che limita l'accesso alle risorse di proprietà di un singolo ID Account AWS , 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" } } } ] }
Nota

Per specificare l' Account AWS ID della risorsa a cui si accede, puoi utilizzare la aws:ResourceAccount o la s3:ResourceAccount chiave nella tua policy IAM. Tuttavia, tieni presente che alcuni Servizi AWS si basano sull'accesso ai bucket AWS gestiti. Pertanto, l'utilizzo della chiave aws:ResourceAccount o s3:ResourceAccount nelle policy IAM potrebbe influire sull'accesso a queste risorse.

La seguente policy del bucket Amazon S3 consente l'accesso a un bucket specifico, amzn-s3-demo-bucket2, solo dall'endpoint VPC vpce-1a2b3c4d. La policy nega l'accesso al bucket se l'endpoint specificato non è in uso. La condizione aws:sourceVpce viene utilizzata per specificare l'endpoint e non richiede un nome della risorsa Amazon (ARN) per la risorsa dell'endpoint VPC, ma solo l'ID dell'endpoint. Per utilizzare questa politica del bucket, sostituisci amzn-s3-demo-bucket2 e vpce-1a2b3c4d con il nome e l'endpoint del bucket.

Importante
  • Quando applichi la seguente policy del bucket Amazon S3 per limitare l'accesso solo a determinati endpoint VPC, potresti senza volerlo bloccare l'accesso al bucket. Le policy del bucket che hanno lo scopo di limitare l'accesso del bucket a connessioni originate dall'endpoint VPC possono bloccare tutte le connessioni al bucket. Per informazioni su come risolvere questo problema, consulta La policy del bucket ha l'ID del VPC o dell'endpoint VPC sbagliato. Come posso correggere la policy in modo da poter accedere al bucket? nel Knowledge Center di Supporto .

  • Prima di utilizzare la policy di esempio seguente, sostituire l'ID endpoint VPC con un valore appropriato per il caso d'uso. In caso contrario, non sarà possibile accedere al bucket.

  • Questa policy disabilita l'accesso alla console al bucket specificato in quanto le richieste della console non provengono dall'endpoint VPC specificato.

JSON
{ "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"}} } ] }

Per altri esempi di policy, consulta Endpoint per Amazon S3 nella Guida per l'utente di VPC.

Per ulteriori informazioni sulla connettività VPC, consulta le opzioni di Network-to-VPC connettività nel AWS white paper Opzioni di connettività di Amazon Virtual Private Cloud.