Connettività VPC per Tabelle S3
Tutte le tabelle in Tabelle S3 sono nel formato Apache Iceberg e sono costituite da due tipi di oggetti S3. Questi due tipi di oggetti sono file di dati in cui sono archiviati dati e file di metadati che tengono traccia delle informazioni sui file di dati in momenti diversi. Tutte le operazioni relative ai bucket di tabelle, agli spazi dei nomi e alle tabelle (ad esempio CreateNamespace, CreateTable e così via) vengono instradate tramite un endpoint Tabelle S3 (s3tables.region.amazonaws.com) e tutte le operazioni a livello di oggetto che leggono o scrivono i file di dati e metadati continuano a essere instradate attraverso un endpoint del servizio S3 (s3.region.amazonaws.com).
Per accedere a Tabelle S3, Amazon S3 supporta due tipi di endpoint VPC con AWS PrivateLink: l'endpoint gateway e l'endpoint di interfaccia. Un endpoint gateway è un gateway che viene specificato nella tabella di routing per accedere a S3 dal VPC tramite la rete AWS. Gli endpoint di interfaccia estendono le funzionalità degli endpoint gateway utilizzando indirizzi IP privati per instradare le richieste verso Amazon S3 dal VPC, on-premises o da un VPC in un’altra Regione AWS tramite peering VPC o AWS Transit Gateway.
Per accedere a Tabelle S3 da un VPC, è consigliabile creare due endpoint VPC (uno per S3 e l'altro per Tabelle S3). È possibile creare un gateway o un endpoint di interfaccia per indirizzare le operazioni a livello di file (oggetto) verso S3 e un endpoint di interfaccia per indirizzare le operazioni a livello di bucket e tabella verso Tabelle S3. Gli endpoint VPC possono essere creati e utilizzati per richieste a livello di file utilizzando S3. Per ulteriori informazioni, consulta Endpoint gateway nella Guida per l'utente di AWS PrivateLink.
Per ulteriori informazioni sull'utilizzo di AWS PrivateLink per creare e utilizzare gli endpoint per Tabelle S3, consulta i seguenti argomenti. Per creare un endpoint di interfaccia VPC, consulta Creazione di un endpoint VPC nella Guida AWS PrivateLink.
Argomenti
Creazione di endpoint VPC per Tabelle S3
Quando si crea un endpoint VPC, Tabelle S3 genera due tipi di nomi DNS specifici degli endpoint: regionale e zonale.
-
Il formato di un nome DNS regionale è il seguente:
VPCendpointID.s3tables.AWSregion.vpce.amazonaws.com. Ad esempio, per l'ID endpoint VPCvpce-1a2b3c4d, il nome DNS generato sarà simile avpce-1a2b3c4d-5e6f.s3tables.us-east-1.vpce.amazonaws.com. -
Il formato di un nome DNS zonale è il seguente:
VPCendpointID-AvailabilityZone.s3tables.AWSregion.vpce.amazonaws.com. Ad esempio, per l'ID endpoint VPCvpce-1a2b3c4d-5e6f., il nome DNS generato potrebbe sarà simile avpce-1a2b3c4d-5e6f-us-east-1a.s3tables.us-east-1.vpce.amazonaws.com.Un nome DNS zonale include la zona di disponibilità dell'utente. È possibile utilizzare i nomi DNS zonali se l'architettura isola le zone di disponibilità. I nomi DNS S3 specifici degli endpoint possono essere risolti dal dominio DNS pubblico S3.
Le opzioni DNS private consentono anche di semplificare l'instradamento del traffico S3 sugli endpoint VPC e di sfruttare il percorso di rete più economico disponibile per l'applicazione. Il DNS privato mappa l'endpoint pubblico di Tabelle S3, ad esempio s3tables.region.amazonaws.com, su un IP privato nel VPC dell'utente. È possibile utilizzare le opzioni DNS private per indirizzare il traffico S3 regionale senza aggiornare i client S3 per usare i nomi DNS specifici degli endpoint di interfaccia.
Accesso a bucket di tabelle e tabelle tramite endpoint con AWS CLI
È possibile usare l'AWS Command Line Interface (AWS CLI) per accedere ai bucket e alle tabelle delle tabelle tramite gli endpoint dell'interfaccia. Con AWS CLI, i comandi aws s3 instradano il traffico attraverso l'endpoint di Amazon S3. I comandi aws s3tables AWS CLI utilizzano l'endpoint Tabelle Amazon S3.
Un esempio di endpoint VPC s3tables è vpce-0123456afghjipljw-nmopsqea.s3tables.region.vpce.amazonaws.com
Un endpoint VPC s3tables non include un nome di bucket. È possibile accedere all'endpoint VPC s3tables utilizzando i comandi aws s3tables AWS CLI.
Un esempio di endpoint VPC s3 è amzn-s3-demo-bucket.vpce-0123456afghjipljw-nmopsqea.s3.region.vpce.amazonaws.com
È possibile accedere all'endpoint VPC s3 utilizzando i comandi aws s3 AWS CLI.
Per accedere ai bucket di tabelle e alle tabelle tramite gli endpoint dell'interfaccia con AWS CLI, utilizzare i parametri -region- e --endpoint-url. Per eseguire azioni a livello di tabelle e bucket di tabelle, utilizzare l'URL dell'endpoint Tabelle S3. Per eseguire azioni a livello di oggetto, utilizzare l'URL dell'endpoint Amazon S3.
Negli esempi seguenti, sostituisci i segnaposto per l’input dell’utente con le informazioni appropriate.
Esempio 1: Utilizzo dell'URL dell'endpoint per elencare i bucket di tabelle nel proprio account
aws s3tables list-table-buckets --endpoint https://vpce-0123456afghjipljb-aac.s3tables.us-east-1.vpce.amazonaws.com —regionus-east-1
Esempio 2: Utilizzo di un URL dell'endpoint per elencare le tabelle nel proprio 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 --regionus-east-1
Configurazione di una rete VPC quando si utilizzano motori di query
Completare la procedura seguente per configurare una rete VPC quando si utilizzano motori di query.
-
Per iniziare, è possibile creare o aggiornare un VPC. Per ulteriori informazioni, consulta la sezione Creazione di un VPC.
-
Per le operazioni a livello di bucket di tabelle e di tabelle che instradano a Tabelle S3, creare un nuovo endpoint di interfaccia. Per ulteriori informazioni, consulta Accesso a un servizio AWS utilizzando un endpoint VPC di interfaccia.
-
Per tutte le operazioni a livello di oggetto che instradano ad Amazon S3, creare un endpoint gateway o un endpoint di interfaccia. Per ulteriori informazioni sugli endpoint gateway, consulta Creare un endpoint del gateway.
-
Successivamente, configurare le risorse di dati e avviare un cluster Amazon EMR. Per ulteriori informazioni, consulta Nozioni di base su Amazon EMR.
-
Pertanto è possibile inviare un'applicazione Spark con una configurazione aggiuntiva selezionando i nomi DNS dall'endpoint VPC. Ad esempio,
spark.sql.catalog.ice_catalog.s3tables.endpointehttps://interface-endpoint.s3tables.Per ulteriori informazioni, consulta Inviare il lavoro al cluster Amazon EMR.us-east-1.vpce.amazonaws.com
Uso degli endpoint dual-stack per accedere a tabelle e bucket di tabelle
Tabelle S3 supporta la connettività dual-stack per AWS PrivateLink. Gli endpoint dual-stack consentono di accedere ai bucket di Tabelle S3 tramite IPv6, oltre al protocollo IPv4, a seconda di ciò che è supportato dalla rete. Puoi accedere a un bucket S3 tramite un endpoint dual-stack utilizzando la seguente convenzione di denominazione:
s3tables.<region>.api.aws
Di seguito sono riportati alcuni aspetti da prendere in considerazione prima di tentare di accedere a Tabelle S3 e ai bucket di tabelle tramite protocollo IPv6 su VPC:
-
Il client utilizzato per accedere alle tabelle e il client S3 devono essere entrambi abilitati per il dual-stack.
-
L’ingresso IPv6 non è abilitato per impostazione predefinita per i gruppi di sicurezza VPC. Per consentire l’accesso IPv6, è necessario aggiungere una nuova regola che permetta il traffico HTTPS (porta TCP 443) al gruppo di sicurezza. Per ulteriori informazioni, consulta Configurazione di regole del gruppo di sicurezza nella Guida per l’utente di Amazon EC2.
-
Se al VPC non sono assegnati CIDR IPv6, sarà necessario aggiungere manualmente un intervallo CIDR IPv6 al VPC. Per ulteriori informazioni, consulta Aggiunta del supporto IPv6 per il VPC nella Guida per l’utente di AWS PrivateLink.
-
Se utilizzi policy IAM di filtraggio degli indirizzi IP, queste devono essere aggiornate per gestire gli indirizzi IPv6. Per ulteriori informazioni sulla gestione delle autorizzazioni di accesso con IAM, consulta Gestione delle identità e degli accessi per Amazon S3.
Per creare un nuovo endpoint VPC che utilizzi l’endpoint dual-stack per Tabelle S3, utilizza il comando CLI di esempio:
aws ec2 create-vpc-endpoint \ --vpc-id vpc-id \ --service-name com.amazonaws.aws-region.s3tables \ --subnet-ids subnet-1 subnet-2 \ --vpc-endpoint-type Interface \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack" \ --security-group-ids sg-id \ --regionaws-region
Per ulteriori informazioni sulla creazione di endpoint VPC, consulta Creazione di un endpoint di interfaccia nella Guida per l’utente di VPC.
Se la tua rete supporta il protocollo IPv6 e desideri aggiornare il VPC per abilitarlo, puoi utilizzare il seguente comando CLI:
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id vpce-id \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack" \ --regionaws-region
Limitazione dell'accesso a Tabelle S3 all'interno della rete VPC
Analogamente alle policy basate sulle risorse, è possibile associare una policy degli endpoint all'endpoint VPC che controlla l'accesso a tabelle e bucket di tabelle. Nell'esempio seguente, la policy degli endpoint di interfaccia limita l'accesso solo a specifici bucket di tabelle.