如何將 Amazon S3 與我的 Aurora PostgreSQL 相容資料庫叢集整合?

2 分的閱讀內容
0

我想要在 Amazon Aurora PostgreSQL 相容版本資料庫叢集中開啟 Amazon Simple Storage Solution (Amazon S3) 整合功能。

簡短描述

您可以將存放在 Amazon S3 儲存貯體中的資料匯入 Aurora PostgreSQL 相容資料庫叢集上的資料表。首先,安裝 Aurora PostgreSQL 相容 aws_s3 延伸。此延伸提供從 S3 儲存貯體匯入資料所需的功能。資料可以是逗號分隔值 (CSV) 檔案、文字檔案 (txt) 或壓縮 (gzip) 檔案。您的資料庫必須執行 PostgreSQL 10.7 版或更新版本,才能從 Amazon S3 匯入 Aurora PostgreSQL 相容版。

若要將您的 Aurora 資料庫叢集與 S3 儲存貯體整合:

  • 安裝 aws_s3 延伸
  • 設定 S3 儲存貯體的存取
  • 將選項新增至 Aurora 叢集
  • 使用 psql 查詢從資料庫匯入或匯出資料

解決方案

安裝 aws_s3 延伸

若要安裝允許您連線至資料庫的 aws_s3 延伸,請執行以下命令:

postgres=> CREATE EXTENSION aws_s3 CASCADE;

若要確認 aws_s3 是否已安裝,請使用 psql\ dx 中繼命令。或者,可以從任何資料庫用戶端工具使用此查詢:

select * from pg_available_extensions where installed_version is not null;

設定 S3 儲存貯體的存取

若要將 Aurora PostgreSQL 相容叢集存取權提供給 Amazon S3,請建立 AWS Identity and Access Management (IAM) 政策。此政策提供儲存貯體和物件許可,讓您的資料庫叢集存取 S3 儲存貯體。

在您建立的 IAM 政策中,包含這些必要動作。這些動作允許將檔案從 S3 儲存貯體傳輸到資料庫叢集:

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

如需詳細資訊,請參閱設定 Amazon S3 儲存貯體的存取權

將選項新增至 Aurora 叢集

使用 Amazon Relational Database Service (Amazon RDS) 主控台或 AWS Command Line Interface (AWS CLI),將 IAM 角色新增至您的叢集。

使用主控台

  1. 登入 Amazon RDS 主控台
  2. 在瀏覽窗格中,選擇您要修改的 PostgreSQL 叢集
  3. 選擇 Connectivity & security (連線與安全) 索引標籤。
  4. Manage IAM roles (管理 IAM 角色) 區段的 Add IAM roles to this instance (將 IAM 角色新增至此執行個體) 下,選擇您要新增的角色。
  5. Feature (功能) 下,選擇 s3Export,然後選擇 Add role (新增角色)。

從資料庫匯入或匯出資料

資料從 S3 儲存貯體匯入 PostgreSQL 叢集,或將資料從 PostgreSQL 叢集匯出至 S3 儲存貯體。

如需詳細資訊,請參閱將資料從 Amazon S3 匯出和匯入至 Amazon Aurora PostgreSQL

完成這些步驟後,請使用 aws_s3.table_import_from_s3,將資料從 Amazon S3 匯入至 Aurora PostgreSQL 相容叢集。您可以使用 aws_s3.query_export_to_s3 將資料從 Aurora PostgreSQL 相容叢集匯出至 Amazon S3。


AWS 官方
AWS 官方已更新 2 年前