將佈建的叢集遷移至 Amazon Redshift Serverless - Amazon Redshift

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

將佈建的叢集遷移至 Amazon Redshift Serverless

若要從已佈建的叢集遷移至 Amazon Redshift Serverless,請參閱下列步驟。

建立已佈建叢集的快照

若要將資料從已佈建的叢集傳輸到 Amazon Redshift Serverless,請建立已佈建叢集的快照,然後在 Amazon Redshift Serverless 中還原快照。當您將已佈建叢集的快照還原到無伺服器命名空間時,Amazon Redshift 會自動將交錯索引鍵轉換為複合索引鍵。

注意

在將資料遷移到無伺服器工作群組之前,請先確保已佈建的叢集需求與您在 Amazon Redshift Serverless 中選擇的 RPU 數量相容。

建立已佈建叢集的快照

  1. 登入 AWS Management Console 並開啟 Amazon Redshift 主控台,網址為 https://console.aws.amazon.com/redshiftv2/

  2. 在導覽選單中,選擇叢集快照,然後選擇建立快照

  3. 輸入快照定義屬性,然後選擇建立快照。可能要等一會兒才能使用此快照。

若要將已佈建叢集的快照還原至無伺服器命名空間:

  1. 登入 AWS Management Console 並開啟 Amazon Redshift 主控台,網址為 https://console.aws.amazon.com/redshiftv2/

  2. 從 Amazon Redshift 已佈建的叢集主控台開始,然後導覽至叢集快照頁面。

  3. 選擇要使用的快照。

  4. 選擇還原快照還原至無伺服器命名空間

  5. 選擇要作為快照還原目的地的命名空間。

  6. 確認您要從快照還原。此動作會使用已佈建叢集中的資料取代無伺服器端點中的所有資料庫。選擇 Restore (還原)。

如需已佈建叢集快照的相關資訊,請參閱 Amazon Redshift 快照

使用驅動程式連線至 Amazon Redshift Serverless

若要以偏好的 SQL 用戶端連線至 Amazon Redshift Serverless,您可以使用 Amazon RedShift 所提供的 JDBC 驅動程式第 2 版驅動程式。建議您使用 JDBC 驅動程式 2.1.x 版或更新版本進行連線。連接埠號碼是選用的。如果未包含,Amazon Redshift Serverless 會預設為連接埠號碼 5439。您可以變更為 5431 至 5455 或 8191 至 8215 之連接埠範圍內的其他連接埠。若要變更無伺服器端點的預設連接埠,請使用 AWS CLI 和 Amazon Redshift API。

若要尋找用於 JDBC、ODBC 或 Python 驅動程式的確切端點,請參閱 Amazon Redshift Serverless 中的工作群組組態。您也可以使用 Amazon Redshift 無伺服器 API 作業GetWorkgroup或作業get-workgroups來傳回工 AWS CLI 作群組的相關資訊,然後進行連線。

使用密碼型驗證進行連線

若要使用密碼型驗證進行連線,請使用下列語法。

jdbc:redshift://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/?username=enter a username&password=enter a password

若要使用 Amazon Redshift Python 驅動程式進行連線,請使用下列語法。

import redshift_connector with redshift_connector.connect( host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>', user='enter a user', password='enter a password' # port value of 5439 is specified by default ) as conn: pass

使用 IAM 進行連線

如果您偏好使用 IAM 進行登入,請使用下列驅動程式端點。此驅動程式端點可讓您連線到特定資料庫,並使用 Amazon Redshift Serverless GetCredentials API 操作。

jdbc:redshift:iam://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/<database-name>

此驅動程式端點不支援自訂 dbUserdbGroupauto-create。根據預設,驅動程式會在登入時自動建立資料庫使用者,並根據您在 IAM 中定義的群組將這些使用者指派給群組。注意:您在 IAM 中指定的群組名稱必須只包含小寫字母、數字、底線 ('_')、加號 ('+')、句點 (.)、at 符號 (@) 或連字號 ('-')。否則,驅動程式可能無法連線到 dbGroup

確保您的 AWS 身分具有RedshiftServerlessGetCredentials動作的正確 IAM 政策。以下是 IAM 政策範例,授與 AWS 身分識別的正確許可以連線到 Amazon Redshift 無伺服器。如需 IAM 許可的相關資訊,請參閱新增 IAM 身分許可

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": "*" } ] }

使用 IAM 與 dbUser 和 dbGroups 進行連線

如果您想要使用自訂 dbUser 和 dbGroups 連線選項,請使用下列驅動程式端點。與其他 Amazon Redshift Serverless 驅動程式端點一樣,此語法會在登入時自動建立資料庫使用者。此驅動程式端點會使用 Amazon Redshift Serverless GetCredentials API 操作。dbUser 必須以字母開頭、只能包含英數字元、底線 ('_')、加號 ('+')、句點 ('.')、at ('@') 或連字號 ('-'),且必須少於 128 個字元。dbGroups 只能包含小寫字母、數字、底線 ('_')、加號 ('+')、句點 ('.')、at 符號 ('@') 或連字號。

jdbc:redshift:iam://redshift-serverless-<workgroup-name>:<aws-region>/<database-name>

若要使用 Amazon Redshift Python 驅動程式進行連線,請使用下列語法。

import redshift_connector with redshift_connector.connect( iam=True, host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>', db_user='enter a user', password='enter a password', db_groups='<db-groups>' # port value of 5439 is specified by default ) as conn: pass

使用 ODBC 進行連線

若要使用 ODBC 進行連線,請使用下列語法。

Driver={Amazon Redshift (x64)}; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=dev

使用 Amazon Redshift Serverless SDK

如果您使用 Amazon Redshift SDK 撰寫了任何管理指令碼,則必須使用新的 Amazon Redshift Serverless SDK 來管理 Amazon Redshift Serverless 和相關資源。如需可用 API 操作的相關資訊,請參閱《Amazon Redshift Serverless API 參考指南》。