開始使用與 PostgreSQL 的同盟查詢 AWS CloudFormation - Amazon Redshift

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

開始使用與 PostgreSQL 的同盟查詢 AWS CloudFormation

您可以使用聯合查詢在操作資料庫之間進行查詢。在這份入門指南中,您可以使用範例 AWS CloudFormation 堆疊啟用從 Amazon Redshift 叢集到 Aurora PostgreSQL 無伺服器資料庫的聯合查詢來自動設定。您可以快速啟動並執行,而不必執行 SQL 陳述式來佈建資源。

堆疊會建立外部結構描述,並參考您的 Aurora PostgreSQL 執行個體,其中包含具有範例資料的資料表。您可以從 Redshift 叢集中查詢外部結構描述中的資料表。

如果您想要透過執行 SQL 陳述式來設定外部結構描述來開始使用聯合查詢,而不使用 CloudFormation,請參閱開始使用 PostgreSQL 的聯合查詢

在執行聯合查詢的 CloudFormation 堆疊之前,請確定您已開啟資料 API 的 Amazon Aurora PostgreSQL 相容版無伺服器資料庫。您可以在資料庫屬性中開啟資料 API。如果找不到設定,請再次確認您執行的是 Aurora PostgreSQL 的無伺服器執行個體。此外,請確定您擁有使用 RA3 節點的 Amazon Redshift 叢集。我們建議將 Redshift 叢集和無伺服器 Aurora PostgreSQL 執行個體放在相同的虛擬私有雲端 (VPC) 和子網路群組中。如此一來,您就可以將 Amazon Redshift 叢集的安全群組新增至 Aurora PostgreSQL 資料庫執行個體的安全群組傳入規則。

如需開始設定 Amazon Redshift 叢集的詳細資訊,請參閱 Amazon Redshift 佈建叢集。如需有關使用設定資源的詳細資訊 CloudFormation,請參閱什麼是 AWS CloudFormation? 。如需有關設定 Aurora 資料庫叢集資料庫的詳細資訊,請參閱建立 Aurora 資料庫叢集無伺服器 v1 資料庫叢集

啟動用於 Redshift 聯合查詢的 CloudFormation 堆疊

使用下列程序為 Amazon Redshift 啟動您的 CloudFormation 堆疊,以啟用聯合查詢。在執行此操作之前,請確定您已設定 Amazon Redshift 叢集和無伺服器 Aurora PostgreSQL 執行個體。

若要啟動同盟查詢的 CloudFormation 堆疊
  1. 按一下此處啟動 CFN 堆疊以啟動中的 CloudFormation服務。 AWS Management Console

    如果出現系統提示,請登入。

    堆疊建立程序會啟動,參考儲存在 Amazon S3 中的 CloudFormation 範本檔案。 CloudFormation 模板是 JSON 格式的文本文件,它聲明構成堆棧的 AWS 資源。

  2. 選擇下一步以輸入堆疊詳細資料。

  3. 參數底下,為叢集輸入下列內容:

    • Amazon Redshift 叢集名稱,例如 ra3-consumer-cluster

    • 特定的資料庫名稱,例如 dev

    • 資料庫使用者的名稱,例如 consumeruser

    同時輸入 Aurora DB 叢集資料庫的參數,包括使用者、資料庫名稱、連接埠和端點。我們建議您使用測試叢集和測試無伺服器資料庫,因為堆疊會建立數個資料庫物件。

    選擇下一步

    堆疊選項隨即出現。

  4. 選擇下一步以接受預設設定。

  5. 在 [功能] 下,選擇 [我確認 AWS CloudFormation 可能會建立 IAM 資源]。

  6. 選擇建立堆疊

選擇 [建立堆疊]。 CloudFormation 佈建模板資源,這需要大約 10 分鐘,並創建一個外部模式。

如果建立堆疊時發生錯誤,請執行下列動作:

  • 檢視 CloudFormation 件索引標籤,瞭解可協助您解決錯誤的資訊。

  • 請確定您輸入正確的 Amazon Redshift 叢集名稱、資料庫名稱和資料庫使用者名稱。同時檢查 Aurora PostgreSQL 執行個體的參數。

  • 請確定您的叢集具有 RA3 節點。

  • 請確定您的資料庫和 Redshift 叢集位於相同的子網路和安全群組中。

從外部結構描述查詢資料

若要使用下列程序,請確定您在所述叢集和資料庫上有執行查詢所需的許可。

使用聯合查詢來查詢外部資料庫
  1. 使用用戶端工具 (例如 Redshift 查詢編輯器) 連線至您在建立堆疊時輸入的 Redshift 資料庫。

  2. 查詢堆疊所建立的外部結構描述。

    select * from svv_external_schemas;

    SVV_EXTERNAL_SCHEMAS 檢視會傳回可用外部結構描述的相關資訊。在此情況下,會傳回堆疊所建立的外部結構描述 (myfederated_schema)。如果您有任何設定,可能還會傳回其他外部結構描述。檢視也會傳回結構描述的關聯資料庫。資料庫是您在建立堆疊時輸入的 Aurora 資料庫叢集資料庫。堆疊會將資料表新增至 Aurora DB 叢集資料庫 (稱為)category,並將另一個名為的資料表新增sales

  3. 在參考您 Aurora PostgreSQL 資料庫的外部結構描述中的資料表上執行 SQL 查詢。查詢如下列範例所示。

    SELECT count(*) FROM myfederated_schema.category;

    category 資料表會傳回幾個記錄。您也可以從 sales 資料表中傳回記錄。

    SELECT count(*) FROM myfederated_schema.sales;

    如需更多範例,請參閱使用聯合查詢的範例