Come posso integrare Amazon S3 con un cluster di database Aurora compatibile con PostgreSQL?

3 minuti di lettura
0

Voglio attivare la funzionalità di integrazione di Amazon Simple Storage Solution (Amazon S3) nel mio cluster di database Amazon Aurora nella versione compatibile con PostgreSQL.

Breve descrizione

Puoi importare i dati archiviati in un bucket Amazon S3 in una tabella su un cluster di database Aurora compatibile con PostgreSQL. Innanzitutto, installa l'estensione aws_s3 di Aurora compatibile con PostgreSQL. Questa estensione fornisce le funzioni necessarie per importare dati da un bucket S3. I dati possono essere contenuti in un file con valori separati da virgole (CSV), un file di testo (txt) o un file compresso (gzip). Il database deve eseguire PostgreSQL versione 10.7 o superiore per importare da Amazon S3 in Aurora compatibile con PostgreSQL.

Per integrare il cluster di database Aurora con un bucket S3:

  • Installa l'estensione aws_s3
  • Configura l'accesso a un bucket S3
  • Aggiungi l'opzione al cluster Aurora
  • Utilizza una query psql per importare o esportare i dati dal database

Risoluzione

Installa l'estensione aws_s3

Per installare l'estensione aws_s3 che ti permette di connetterti al database, esegui questo comando:

postgres=> CREATE EXTENSION aws_s3 CASCADE;

Per verificare che aws_s3 sia installato, utilizza il meta-comando psql\ dx. In alternativa, puoi utilizzare questa query da qualsiasi strumento client del database:

select * from pg_available_extensions where installed_version is not null;

Configura l'accesso a un bucket S3

Per consentire al cluster Aurora compatibile con PostgreSQL di accedere ad Amazon S3, crea una policy AWS Identity and Access Management (IAM). Questa policy fornisce le autorizzazioni per bucket e oggetti che consentono al cluster di database di accedere al bucket S3.

Nella policy IAM che crei, includi queste operazioni obbligatorie. Queste operazioni consentono il trasferimento di file dal bucket S3 al cluster database:

  • s3:GetObject
  • s3:ListBucket
  • s3:PutObject
  • s3:AbordMultipartUpload

Per ulteriori informazioni, consulta Setting up access to an Amazon S3 bucket (Configurazione dell'accesso a un bucket Amazon S3).

Aggiungi l'opzione al cluster Aurora

Aggiungi un ruolo IAM al cluster utilizzando la console di Amazon Relational Database Service (Amazon RDS) o l'interfaccia della linea di comando AWS (AWS CLI).

Mediante la console

  1. Accedi alla console di Amazon RDS.
  2. Dal riquadro di navigazione, scegli il cluster PostgreSQL che desideri modificare.
  3. Scegli la scheda Connectivity & security (Connettività e sicurezza).
  4. Nella sezione Manage IAM roles (Gestisci ruoli IAM), in Add IAM roles to this instance (Aggiungi ruoli IAM a questa istanza), scegli il ruolo che desideri aggiungere.
  5. In Feature (Caratteristica), scegli s3Export, quindi scegli Add role (Aggiungi ruolo).

Importa o esporta dati dal database

Importa i dati nel cluster PostgreSQL dal bucket S3 o esporta i dati nel bucket S3 dal cluster PostgreSQL.

Per ulteriori informazioni, consulta la sezione Export and import data from Amazon S3 to Amazon Aurora PostgreSQL (Esportazione e importazione di dati da Amazon S3 ad Amazon Aurora PostgreSQL).

Dopo avere completato questi passaggi, importa i dati in un cluster Aurora compatibile con PostgreSQL da Amazon S3 utilizzando aws_s3.table_import_from_s3. Puoi esportare dati da un cluster Aurora compatibile con PostgreSQL in Amazon S3 utilizzando la funzione aws_s3.query_export_to_s3.


AWS UFFICIALE
AWS UFFICIALEAggiornata 6 mesi fa