Wie kann ich Amazon S3 in meinen mit Aurora PostgreSQL kompatiblen DB-Cluster integrieren?

Lesedauer: 3 Minute
0

Ich möchte die Integrationsfunktion von Amazon Simple Storage Solution (Amazon S3) in meinem DB-Cluster der Amazon-Aurora-PostgreSQL-kompatiblen Edition aktivieren.

Kurzbeschreibung

Sie können Daten, die in einem Amazon-S3-Bucket gespeichert sind, in eine Tabelle in einem Aurora-PostgreSQL-kompatiblen DB-Cluster importieren. Installieren Sie zunächst die Aurora-PostgreSQL-kompatible Erweiterung aws_s3. Diese Erweiterung bietet die Funktionen, die Sie zum Importieren von Daten aus einem S3-Bucket benötigen. Die Daten können sich in einer Datei mit kommagetrennten Werten (CSV), einer Textdatei (TXT) oder einer komprimierten Datei (GZIP) befinden. Ihre Datenbank muss PostgreSQL Version 10.7 oder höher ausführen, um aus Amazon S3 in die Aurora-PostgreSQL-kompatible Edition zu importieren.

Integrieren Sie Ihren Aurora-DB-Cluster wie folgt in einen S3-Bucket:

  • Installieren der Erweiterung „aws_s3“
  • Einrichten des Zugriffs auf einen S3-Bucket
  • Hinzufügen der Option zum Aurora-Cluster
  • Verwenden einer psql-Abfrage, um die Daten aus der Datenbank zu importieren oder zu exportieren

Lösung

Installieren der Erweiterung „aws_s3“

Führen Sie den folgenden Befehl aus, um die Erweiterung „aws_s3“ zu installieren, mit der Sie eine Verbindung zur Datenbank herstellen können:

postgres=> CREATE EXTENSION aws_s3 CASCADE;

Verwenden Sie den psql \dx meta-Befehl, um zu überprüfen, ob „aws_s3“ installiert ist. Oder Sie können diese Abfrage in einem beliebigen DB-Client-Tool verwenden:

select * from pg_available_extensions where installed_version is not null;

Einrichten des Zugriffs auf einen S3-Bucket

Um Ihrem Aurora-PostgreSQL-kompatiblen Cluster Zugriff auf Amazon S3 zu gewähren, erstellen Sie eine AWS Identity and Access Management (IAM)-Richtlinie. Diese Richtlinie stellt die Bucket- und Objektberechtigungen bereit, die Ihrem DB-Cluster den Zugriff auf den S3-Bucket ermöglichen.

Fügen Sie in die IAM-Richtlinie, die Sie erstellen, diese erforderlichen Aktionen ein. Diese Aktionen ermöglichen die Übertragung von Dateien aus dem S3-Bucket in Ihren DB-Cluster:

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

Weitere Informationen finden Sie unter Einrichten des Zugriffs auf einen Amazon-S3-Bucket.

Hinzufügen der Option zum Aurora-Cluster

Fügen Sie Ihrem Cluster entweder mit der Amazon Relational Database Service (Amazon RDS)-Konsole oder der AWS Command Line Interface (AWS CLI) eine IAM-Rolle hinzu.

Verwenden der Konsole

  1. Melden Sie sich bei der Amazon-RDS-Konsole an.
  2. Wählen Sie im Navigationsbereich den PostgreSQL-Cluster aus, den Sie ändern möchten.
  3. Wählen Sie die Registerkarte Connectivity & security (Konnektivität und Sicherheit) aus.
  4. Wählen Sie im Abschnitt Manage IAM roles (IAM-Rollen verwalten) unter Add IAM roles to this instance (IAM-Rollen zu dieser Instance hinzufügen) die Rolle aus, die Sie hinzufügen möchten.
  5. Wählen Sie unter Feature (Funktion) die Option s3Export und dann Add role (Rolle hinzufügen) aus.

Importieren oder Exportieren von Daten aus der Datenbank

Importieren Sie Daten aus dem S3-Bucket in Ihren PostgreSQL-Cluster oder exportieren Sie Daten aus Ihrem PostgreSQL-Cluster in Ihren S3-Bucket.

Weitere Informationen finden Sie unter Export and import data from Amazon S3 to Amazon Aurora PostgreSQL (Exportieren und Importieren von Daten aus Amazon S3 in Amazon Aurora PostgreSQL).

Nachdem Sie diese Schritte abgeschlossen haben, importieren Sie Daten mithilfe von aws_s3.table_import_from_s3 aus Amazon S3 in einen Aurora-PostgreSQL-kompatiblen-Cluster. Mit der Funktion aws_s3.query_export_to_s3 können Sie Daten aus einem Aurora-PostgreSQL-kompatiblen Cluster nach Amazon S3 exportieren.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr