View a markdown version of this page

先決條件 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

先決條件

您的 Aurora PostgreSQL 資料庫叢集可以 AWS Glue Data Catalog 代表您從 Amazon S3、Amazon S3 Tables 和 讀取 Iceberg 和 Parquet 資料。在您查詢該資料之前,叢集需要三件事:向這些服務進行身分驗證的方法、包含aurora_analytics延伸模組的引擎版本,以及 VPC 的網路路徑。下列各節將逐步引導您建立 IAM 政策和角色,以授予您計劃查詢之特定資料的讀取存取權、將該角色連接至資料庫叢集、在您的資料庫叢集參數群組中啟用延伸,以及設定叢集用來連接 Amazon S3 和 的網路路徑 AWS Glue。您可以在任何符合版本需求的現有 Aurora PostgreSQL 資料庫叢集上完成這些步驟。

設定步驟概觀

高階設定步驟如下所示:

  1. 建立授予資料讀取存取權的 IAM 政策。

  2. 建立 IAM 角色並連接該政策。

  3. 將 IAM 角色連接至 Aurora 資料庫叢集。

  4. 如果您的叢集位於私有子網路中,請設定聯網 (VPC 端點)。

  5. 在資料庫叢集參數群組中啟用aurora_analytics延伸。

建立 IAM 政策

建立 IAM 政策,根據資料的格式及其儲存位置,將延伸項目的讀取存取權授予 Amazon S3,以及選擇性地授予 AWS Glue Data Catalog 或 Amazon S3 Tables。

最低權限取決於您參考資料的方式:資料格式 (Parquet 或 Iceberg) AWS Glue Data Catalog、來源 (Amazon S3 或 Amazon S3 Tables),以及您指向單一檔案或目錄。下表列出常見相同帳戶案例的最低 IAM 角色權限:

依來源區分的最低 IAM 角色權限
來源 最低權限
Amazon S3,單一檔案 (s3://bucket/path/data.parquet) s3:GetObject
Amazon S3、目錄或 glob (s3://bucket/path/) s3:GetObject, s3:ListBucket
AWS Glue Data Catalog (arn:aws:glue:us-east-1:123456789012:table/mydb/mytable) glue:GetTable + 上述的 Amazon S3 權限
Amazon S3 資料表,直接 ARN (arn:aws:s3tables:us-east-1:123456789012:bucket/mybucket/table/table_id) s3tables:GetTable, s3tables:GetTableBucket, s3tables:GetTableData, s3tables:GetNamespace
Amazon S3 資料表,透過 AWS Glue 目錄 ARN (arn:aws:glue:us-east-1:123456789012:table/s3tablescatalog/mybucket/myns/mytable) glue:GetTable 以上 + s3tables權限
注意

s3:ListBucket 只有在延伸項目列出 Amazon S3 字首來探索檔案 (例如 Parquet 目錄或 glob 存取) 時才需要。Iceberg 會從資訊清單解析確切的檔案路徑,這表示s3:ListBucket不需要。

注意

如果您的資料使用 SSE-KMS 加密,請新增 kms:Decrypt 至 KMS 金鑰。

注意

IMPORT FOREIGN SCHEMA (glue:GetTables 或 s3tables:ListTables)、跨帳戶存取、resource-policy-based存取,以及 Lake Formation 管理的資料表需要額外的權限。

如需詳細的政策範例,請參閱 IAM 政策參考。如需建立 IAM 政策的詳細資訊,請參閱《IAM 使用者指南》中的建立 IAM 政策。

建立 IAM 角色

建立 Aurora 可擔任的 IAM 角色,以代表延伸存取您的 Amazon S3 資料。

使用 AWS 管理主控台建立 IAM 角色
  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在導覽窗格中,選擇角色,然後選擇建立角色。

  3. 針對信任的實體類型,請選擇 AWS 服務。

  4. 針對使用案例,從服務清單中選擇 RDS。

  5. 從使用案例選項中選擇 RDS - 將角色新增至資料庫。

  6. 選擇下一步。

  7. 選取您在 中建立的政策建立 IAM 政策。您也可以選擇預先建置的許可政策,例如 AmazonS3ReadOnlyAccess 和 AWSGlueConsoleFullAccess。

  8. 選擇下一步。

  9. 針對角色名稱,輸入角色的名稱 (例如 AuroraAnalyticsRole)。

  10. 選擇建立角色。

使用 CLI 建立 IAM AWS 角色
  1. 建立名為 的角色AuroraAnalyticsRole:

    aws iam create-role \ --role-name AuroraAnalyticsRole \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  2. 將政策連接到角色:

    aws iam attach-role-policy \ --role-name AuroraAnalyticsRole \ --policy-arn arn:aws:iam::123456789012:policy/AuroraAnalyticsReadAccess

請記下 角色 ARN。當您將角色連接到 Aurora 資料庫叢集時,需要用到它。如需詳細資訊,請參閱《 IAM 使用者指南》中的建立 IAM 角色。

將 IAM 角色連接至 Aurora 資料庫叢集

建立資料庫叢集之後,請將您為延伸模組建立的 IAM 角色建立關聯。

使用 AWS 管理主控台連接 IAM 角色
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇資料庫,然後選擇 Aurora PostgreSQL 資料庫叢集的名稱。

  3. 在 Connectivity & security (連線能力與安全性) 標籤上的 Manage IAM roles (管理 IAM 角色) 區段中,選擇要在 Add IAM roles to this cluster (新增 IAM 角色到此叢集) 下新增的角色。

  4. 針對特徵,選擇 AuroraAnalytics。

  5. 選擇 Add role (新增角色)。

使用 CLI 連接 IAM AWS 角色
  • aws rds add-role-to-db-cluster \ --region us-east-1 \ --db-cluster-identifier my-analytics-cluster \ --feature-name AuroraAnalytics \ --role-arn arn:aws:iam::123456789012:role/AuroraAnalyticsRole

IAM 角色狀態在成功連接後會顯示為作用中。如需詳細資訊,請參閱 AWS CLI 命令參考中的 add-role-to-db-cluster。

設定聯網

當您的 Aurora 資料庫叢集部署在私有子網路中時,它需要網路路徑才能到達 Amazon S3 和 (選用) AWS Glue。您可以使用 VPC 端點 (建議) 或透過 NAT 閘道提供此功能。

VPC 端點會保留 AWS 網路上的流量,而不會周遊公有網際網路,而且 Amazon S3 閘道端點無需額外每小時收費,這使得它們成為建議的方法。如果您的 VPC 已透過 NAT 閘道路由傳出流量,但透過公有路徑傳送流量並產生 NAT 資料處理費用,NAT 閘道也會運作。本節其餘部分說明 VPC 端點設定。如需 NAT 閘道的詳細資訊,請參閱 NAT 閘道。

必要的 VPC 端點
服務 端點類型 的必要項目
Amazon S3 (com.amazonaws.region.s3) 閘道 Amazon S3 和 Amazon S3 Tables 資料存取
AWS Glue (com.amazonaws.region.glue) 介面 AWS Glue Data Catalog 存取

建立 Amazon S3 閘道端點

建立 Amazon S3 閘道端點,並將其與 Aurora 資料庫叢集子網路使用的路由表建立關聯。

如需詳細資訊,請參閱 AWS PrivateLink 指南中的為 Amazon S3 建立閘道端點。

建立 AWS Glue 介面端點

如果您使用的是 AWS Glue Data Catalog,請使用下列組態建立 AWS Glue VPC 介面端點:

  • 在與 Aurora 資料庫叢集相同的子網路中部署。

  • 啟用私有 DNS。

  • 連接安全群組,允許來自 VPC CIDR 區塊的 TCP 連接埠 443 上的傳入流量,或來自 Aurora PostgreSQL 資料庫叢集所使用的相同安全群組。

如需詳細資訊,請參閱《 AWS PrivateLink 指南》中的建立介面端點。

在參數群組中啟用 功能

依預設,aurora_analytics.enabled 參數設為 false。建立資料庫叢集之後,請在資料庫叢集參數群組true中將此參數設定為 以啟用此功能。

使用 CLI AWS 啟用功能
  • aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name my-analytics-params \ --parameters "ParameterName=aurora_analytics.enabled,ParameterValue=true,ApplyMethod=immediate"

作為動態參數, 會立即aurora_analytics.enabled套用而不重新啟動。

注意

這適用於資料庫叢集使用自訂資料庫叢集參數群組時。您無法修改預設參數群組。如果您的叢集仍然使用預設值,請先建立自訂資料庫叢集參數群組,並將其與叢集建立關聯。關聯不同的參數群組需要重新啟動資料庫執行個體,新群組才能生效,即使aurora_analytics.enabled本身是動態的。如需詳細資訊,請參閱《Aurora 使用者指南》中的使用資料庫叢集參數群組。

使用 AWS 管理主控台啟用 功能
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Parameter groups (參數群組)。

  3. 選擇與您的 Aurora 資料庫叢集相關聯的參數群組。

  4. 搜尋 aurora_analytics.enabled。

  5. 將值設定為 true。

  6. 選擇儲存變更。

後續步驟

完成這些步驟後,您就可以開始使用。如需詳細資訊,請參閱開始使用。

如需為您的工作負載選擇正確資料庫執行個體類別和大小的指引,請參閱 最佳實務。