使用 Aurora 僅RDS供讀取複本,將資料從「我SQL的資料SQL庫」執行個體移轉至 Amazon Aurora 我的資料庫叢集 - Amazon Aurora

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

使用 Aurora 僅RDS供讀取複本,將資料從「我SQL的資料SQL庫」執行個體移轉至 Amazon Aurora 我的資料庫叢集

Aurora 使用 My SQL DB 引擎的二進位記錄複寫功能,為 My DB 執行個體的來源建立名為 Aurora 僅供讀取複本的特殊類型的RDSSQL資料庫叢集。RDS對 My SQL DB 執行個體的來源所做的更新會以非同步方式複寫到 Aurora 僅供讀取複本。

我們建議您RDS為 My SQL DB 執行個體建立來源RDS的 Aurora 僅供讀取複本,以使用此功能從 My SQL 資料庫執行個體的 Aurora My DB 叢集遷移至 Aurora My SQL DB 叢集。當我的SQL資料庫執行個體和 Aurora 僅RDS供讀取複本之間的複本延遲為 0 時,您可以將用戶端應用程式導向 Aurora 僅供讀取複本,然後停止複寫,使 Aurora 僅供讀取複本成為獨立的 Aurora My SQL DB 叢集。遷移需要一段時間,每個一兆位元組 (TiB) 資料大約需要幾個小時,請做好準備。

如需可使用 Aurora 的區域清單,請參閱 AWS 一般參考 中的 Amazon Aurora

當您為 My 資料庫執行個體建立 Aurora 僅RDS供讀取複本時,Amazon RDS 會為 My 資料SQL庫執行個體建立來源RDS的SQL資料庫快照 (Amazon 私有RDS,且不會產生任何費用)。RDS然後,Amazon 會將資料從資料庫快照移轉到 Aurora 僅供讀取複本。將資料庫快照中的資料遷移到新的 Aurora My SQL DB 叢集後,Amazon 會RDS開始在您RDS的我的資料SQL庫執行個體和 Aurora My 資料SQL庫叢集之間進行複寫。如果您RDS的 My SQL DB 執行個體包含使用 InnoDB 以外的儲存引擎或使用壓縮列格式的表格,則可以在建立 Aurora 僅供讀取複本之前,將這些表格變更為使用 InnoDB 儲存引擎和動態列格式,以加快建立 Aurora 僅供讀取複本的程序。如需將 [我的資SQL料庫] 快照複製到 Aurora My 資料SQL庫叢集的程序的詳細資訊,請參閱將資料從 RDS for MySQL 資料庫執行個體遷移到 Amazon Aurora MySQL 資料庫叢集

我的SQL資料庫執行個體只能有一個 Aurora 僅RDS供讀取複本。

注意

由於 Aurora My SQL 和我的資料庫執行個體 (作RDS為複寫主要執行個體) 的 My SQL 資料庫引擎版本之間的功能差異,可能會發生複寫問題。SQL如果您遇到錯誤,可以在 Amazon RDS 社群論壇或聯絡尋求協助 AWS Support。

如果您的 My SQL DB 執行個體已經是跨區域僅RDS供讀取複本的來源,則無法建立 Aurora 僅供讀取複本。

SQL在我的 8.0 版本中,您無法從某些較舊SQLRDS版本(包括 8.0.11、8.0.13 和 8.0.15)遷移至 Aurora 我的版本 3.05 及更高版本。我們建議您在移轉之前升級至RDS我的SQL版本 8.0.28。

如需有關我的僅供SQL讀取複本的詳細資訊,請參閱使用 MariaDB、我SQL的和 Postgre 資料庫執行個體的僅供讀取複本。SQL

建立 Aurora 僅供讀取複本

您可以使用主控台、或RDS為 My SQL 資料庫執行個體建立 Aurora 僅供讀取複本RDSAPI。 AWS CLI

從我的SQL資料庫執行個體的來源建立 Aurora 僅RDS供讀取複本
  1. 登錄 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇您要用作 Aurora 僅供讀取複本來源的我的SQL資料庫執行個體。

  4. Actions (動作) 中選擇 Create Aurora read replica (建立僅供讀取複本)。

  5. 選擇要用於 Aurora 僅供讀取複本的資料庫叢集規格,如下表所述。

    選項 描述

    DB instance class (資料庫執行個體類別)

    選擇資料庫執行個體類別,為資料庫叢集內的主要執行個體定義處理和記憶體要求。如需資料庫執行個體類別選項的詳細資訊,請參閱Amazon Aurora 數據庫實例類

    Multi-AZ deployment (異地同步備份部署)

    選擇 Create Replica in Different Zone (在不同區域建立複本),在目標 AWS 區域的另一個可用區域中建立新資料庫叢集的待命複本,以獲得容錯移轉支援。如需多個可用區域的詳細資訊,請參閱區域和可用區域

    DB instance identifier (資料庫執行個體識別符):

    鍵入 Aurora 僅供讀取複本資料庫叢集內主要執行個體的名稱。此識別符用於新資料庫叢集內主要執行個體的端點位址。

    該資料庫執行個體識別符有下列限制:

    • 必須包含 1 到 63 個英數字元或連字號。

    • 第一個字元必須是字母。

    • 不能以一個連字號結尾或是連續包含兩個連字號。

    • 對於每個 AWS 帳戶,每個 AWS 區域的所有資料庫執行個體都必須是唯一的。

    因為 Aurora 僅供讀取複本資料庫叢集是以來源資料庫執行個體的快照所建立,Aurora 僅供讀取複本的主要使用者名稱與主要密碼會和來源資料庫執行個體的主要使用者名稱與主要密碼相同。

    虛擬私有雲 (VPC)

    選取VPC以主控資料庫叢集。選取 [建立新VPC的],讓 Aurora VPC 為您建立一個。如需詳細資訊,請參閱資料庫叢集先決條件

    DB subnet group (資料庫子網路群組)

    選取要用於資料庫叢集的資料庫子網路群組。選取 Create a new DB subnet group (建立新的資料庫子網路群組),讓 Aurora 為您建立資料庫子網路群組。如需更多詳細資訊,請參閱 資料庫叢集先決條件

    Public accessibility (公開存取性)

    選取 Yes 以給與資料庫叢集一個公有 IP 地址;否則,請選取 No。資料庫叢集內的執行個體可以混合公有和私有資料庫執行個體。如需隱藏執行個體而不提供公開存取的詳細資訊,請參閱從網際網路隱藏資料庫叢集

    Availability zone (可用區域)

    決定您是否要指定特定的可用區域。如需可用區域的詳細資訊,請參閱 區域和可用區域

    VPC安全群組 (防火牆)

    選取 [建立新VPC安全群組],讓 Aurora 為您建立VPC安全性群組。選取選取現有的VPC安全群組,以指定一或多個VPC安全群組,以保護資料庫叢集的網路存取。如需詳細資訊,請參閱資料庫叢集先決條件

    Database port (資料庫連接埠)

    指定應用程式和公用程式將用於存取資料庫的連接埠。Aurora 我的SQL資料庫叢集預設為預設的 [我的SQL連接埠 3306]。某些公司的防火牆會封鎖與此預設連接埠的連線。如果您的公司防火牆會封鎖預設連接埠,請為新的資料庫叢集選擇另一個連接埠。

    DB parameter group (資料庫參數群組)

    選取 Aurora 我的資料庫叢集的SQL資料庫參數群組。Aurora 有一個預設資料庫參數群組供您使用,您也可以建立自己的資料庫參數群組。如需資料庫參數群組的詳細資訊,請參閱Amazon Aurora 的參數組 RDS

    DB cluster parameter group (資料庫叢集參數群組)

    選取 Aurora 我的資料庫叢集的SQL資料庫叢集參數群組。Aurora 有一個預設資料庫叢集參數群組供您使用,您也可以建立自己的資料庫叢集參數群組。如需資料庫叢集參數群組的詳細資訊,請參閱Amazon Aurora 的參數組 RDS

    加密

    如果您不要將新的 Aurora 資料庫叢集加密,請選擇 Disable encryption (停用加密)。選擇 Enable encryption (啟用加密),以便對新的 Aurora 資料庫叢集進行靜態加密。如果您選擇「啟用加密」,則必須選擇一個KMS金鑰作為AWS KMS key值。

    如果您的 My SQL DB 執行個體未加密,請指定加密金鑰,讓資料庫叢集在靜態時加密。

    如果您的 My SQL DB 執行個體已加密,請指定加密金鑰,讓您的資料庫叢集使用指定的加密金鑰進行靜態加密。您可以指定 My SQL DB 執行個體使用的加密金鑰或其他金鑰。您無法從加密的 My DB 執行個體建立未加密的SQL資料庫叢集。

    優先順序

    選擇資料庫執行個體的容錯移轉優先順序。如果您未選取值,則預設值為 tier-1 (第一層)。此優先順序決定從主要執行個體失敗中復原時提升 Aurora 複本的順序。如需更多詳細資訊,請參閱 Aurora 資料庫叢集的容錯能力

    Backup retention period (備份保留期間)

    選取從 1 到 35 天的時間長度,Aurora 會在此時間內保留資料庫備份副本。Backup 副本可用於數據庫的 point-in-time 還原(PITR),直到第二個。

    Enhanced Monitoring (增強型監控)

    選擇 Enable enhanced monitoring (啟用增強型監控),以針對資料庫叢集執行所在的作業系統即時收集指標。如需更多詳細資訊,請參閱 使用增強型監控來監控作業系統指標

    監控角色

    只有在 Enhanced Monitoring (增強型監控) 設為 Enable enhanced monitoring (啟用增強型監控) 時才能使用。選擇您建立的IAM角色以允許 Aurora 為您與 Amazon CloudWatch 日誌通訊,或選擇「預設」讓 Aurora 為您指定的角色建立一個角色rds-monitoring-role。如需詳細資訊,請參閱使用增強型監控來監控作業系統指標

    精細程度

    只有在 Enhanced Monitoring (增強型監控) 設為 Enable enhanced monitoring (啟用增強型監控) 時才能使用。針對資料庫叢集,設定收集指標之間的間隔 (以秒為單位)。

    Auto minor version upgrade (自動次要版本升級)

    此設定不適用於 Aurora 我的SQL資料庫叢集。

    如需 Aurora 我的引擎更新的詳細資訊SQL,請參閱Amazon Aurora 我的數據庫引擎更新 SQL

    Maintenance window (維護時段)

    選取 Select window (選取時段),並指定可能發生系統維護的每週時間範圍。或者,選取 No preference (無偏好設定),讓 Aurora 隨機指派期間。

  6. 選擇 Create read replica (建立僅供讀取複本)

若要從 My SQL 資料庫執行個體的來源建立 Aurora 僅RDS供讀取複本,請使用create-db-clustercreate-db-instance AWS CLI 命令建立新的 Aurora My SQL DB 叢集。呼叫create-db-cluster命令時,請包含--replication-source-identifier參數以識別來源 My SQL DB 執行個體的 Amazon 資源名稱 (ARN)。有關 Amazon 的更多信息 RDSARNs,請參閱 Amazon Relational Database Service(AmazonRDS)

請勿指定主要使用者名稱、主要密碼或資料庫名稱,因為 Aurora 僅供讀取複本使用與來源 My SQL DB 執行個體使用的主要使用者名稱、主要密碼和資料庫名稱相同。

對於LinuxmacOS、或Unix:

aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora \ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 \ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:primary-mysql-instance

在 Windows 中:

aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora ^ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 ^ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:primary-mysql-instance

如果您使用主控台建立 Aurora 僅供讀取複本,則 Aurora 會為您的資料庫叢集 Aurora 僅供讀取複本自動建立主要執行個體。如果您使用建立 Aurora 僅供讀取複本,則必須為資料庫叢集明確建立主要執行個體。 AWS CLI 主要執行個體是資料庫叢集內第一個建立的執行個體。

您可以使用具有下列參數的create-db-instance AWS CLI 命令,為資料庫叢集建立主要執行個體。

  • --db-cluster-identifier

    資料庫叢集的名稱。

  • --db-instance-class

    要用於主要執行個體的執行個體類別名稱。

  • --db-instance-identifier

    主要執行個體的名稱。

  • --engine aurora

在此範例中,您會建立名為的主要執行個體 myreadreplicainstance 對於名為的數據庫集群 myreadreplicacluster,使用在中指定的資料庫執行個體類別 myinstanceclass.

範例

對於LinuxmacOS、或Unix:

aws rds create-db-instance \ --db-cluster-identifier myreadreplicacluster \ --db-instance-class myinstanceclass \ --db-instance-identifier myreadreplicainstance \ --engine aurora

在 Windows 中:

aws rds create-db-instance ^ --db-cluster-identifier myreadreplicacluster ^ --db-instance-class myinstanceclass ^ --db-instance-identifier myreadreplicainstance ^ --engine aurora

若要從 My SQL 資料庫執行個體的來源建立 Aurora 僅RDS供讀取複本,請使用CreateDBClusterCreateDBInstanceAmazon RDS API 命令建立新的 Aurora 資料庫叢集和主執行個體。請勿指定主要使用者名稱、主要密碼或資料庫名稱,因為 Aurora 僅供讀取複本使用的主要使用者名稱、主要密碼和資料庫名稱與 My SQL DB 執行個體RDS的來源相同。

您可以使用 CreateDBClusterAmazon RDS API 命令搭配下列參數,從 My 資料SQL庫執行個體的來源RDS為 Aurora 僅供讀取複本建立新的 Aurora 資料庫叢集:

  • DBClusterIdentifier

    要建立的資料庫叢集名稱。

  • DBSubnetGroupName

    要與此資料庫叢集關聯之資料庫子網路群組的名稱。

  • Engine=aurora

  • KmsKeyId

    用 AWS KMS key 來選擇性地加密資料庫叢集,視您的 My SQL DB 執行個體是否已加密而定。

    • 如果您的 My SQL DB 執行個體未加密,請指定加密金鑰,讓資料庫叢集在靜態時加密。否則會使用您的帳戶的預設加密金鑰,對資料庫叢集進行靜態加密。

    • 如果您的 My SQL DB 執行個體已加密,請指定加密金鑰,讓您的資料庫叢集使用指定的加密金鑰進行靜態加密。否則,您的資料庫叢集會使用 My SQL DB 執行個體的加密金鑰進行靜態加密。

      注意

      您無法從加密的 My DB 執行個體建立未加密的SQL資料庫叢集。

  • ReplicationSourceIdentifier

    來源 My 資料庫執行個體的 SQL Amazon 資源名稱 (ARN)。有關 Amazon 的更多信息 RDSARNs,請參閱 Amazon Relational Database Service(AmazonRDS)

  • VpcSecurityGroupIds

    要與此資料庫叢集關聯的EC2VPC安全群組清單。

在此範例中,您建立名為的資料庫叢集 myreadreplicacluster 從源我的SQL數據庫實例ARN設置為 mysqlprimaryARN,與名為的資料庫子網路群組相關聯 mysubnetgroup 以及名為的VPC安全性群組 mysecuritygroup.

範例
https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &DBClusterIdentifier=myreadreplicacluster &DBSubnetGroupName=mysubnetgroup &Engine=aurora &ReplicationSourceIdentifier=mysqlprimaryARN &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &VpcSecurityGroupIds=mysecuritygroup &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20150927/us-east-1/rds/aws4_request &X-Amz-Date=20150927T164851Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=6a8f4bd6a98f649c75ea04a6b3929ecc75ac09739588391cd7250f5280e716db

如果您使用主控台建立 Aurora 僅供讀取複本,則 Aurora 會為您的資料庫叢集 Aurora 僅供讀取複本自動建立主要執行個體。如果您使用建立 Aurora 僅供讀取複本,則必須為資料庫叢集明確建立主要執行個體。 AWS CLI 主要執行個體是資料庫叢集內第一個建立的執行個體。

您可以使用具有下列參數的 CreateDBInstanceAmazon RDS API 命令,為資料庫叢集建立主執行個體:

  • DBClusterIdentifier

    資料庫叢集的名稱。

  • DBInstanceClass

    要用於主要執行個體的執行個體類別名稱。

  • DBInstanceIdentifier

    主要執行個體的名稱。

  • Engine=aurora

在此範例中,您會建立名為的主要執行個體 myreadreplicainstance 對於名為的數據庫集群 myreadreplicacluster,使用在中指定的資料庫執行個體類別 myinstanceclass.

範例
https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBInstance &DBClusterIdentifier=myreadreplicacluster &DBInstanceClass=myinstanceclass &DBInstanceIdentifier=myreadreplicainstance &Engine=aurora &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-09-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140424/us-east-1/rds/aws4_request &X-Amz-Date=20140424T194844Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=bee4aabc750bf7dad0cd9e22b952bd6089d91e2a16592c2293e532eeaab8bc77

檢視 Aurora 僅供讀取複本

您可以使用 AWS Management Console 或檢視 Aurora 我的SQL資料庫叢集的 [我的SQL至 Aurora 我的SQL複寫關係] AWS CLI。

若要檢視 Aurora 僅供讀取複本的主要 My SQL 資料庫執行個體
  1. 登錄 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇 Aurora 僅供讀取複本的資料庫叢集,以顯示其詳細資訊。主要 My SQL DB 執行個體資訊位於 [複寫來源] 欄位中。

    檢視我的SQL主要

若要使用檢視 Aurora 我的SQL資料庫叢集的 [我的SQL至 Aurora 我的SQL複寫關係] AWS CLI,請使用describe-db-clustersdescribe-db-instances命令。

若要判斷哪個 My SQL DB 執行個體是主要執行個體,請使用 Aurora 僅供讀取複本的叢集識別碼,describe-db-clusters並為該--db-cluster-identifier選項指定叢集識別碼。請參閱資料庫執行個體 (複寫主要執行個體) ARN 的輸出中的ReplicationSourceIdentifier元素。

若要判斷哪個資料庫叢集是 Aurora 僅供讀取複本,請使用 My SQL DB 執行個體的執行個體識別碼,describe-db-instances並指定該--db-instance-identifier選項的執行個體識別碼。請參閱輸出中的 ReadReplicaDBClusterIdentifiers 元素,以取得 Aurora 僅供讀取複本的資料庫叢集識別符。

範例

對於LinuxmacOS、或Unix:

aws rds describe-db-clusters \ --db-cluster-identifier myreadreplicacluster
aws rds describe-db-instances \ --db-instance-identifier mysqlprimary

在 Windows 中:

aws rds describe-db-clusters ^ --db-cluster-identifier myreadreplicacluster
aws rds describe-db-instances ^ --db-instance-identifier mysqlprimary

提升 Aurora 僅供讀取複本

移轉完成後,您可以使用 AWS Management Console 或將 Aurora 僅供讀取複本升級為獨立資料庫叢集 AWS CLI。

接著您可以將用戶端應用程式導向 Aurora 僅供讀取複本的端點。如需 Aurora 端點的詳細資訊,請參閱 Amazon Aurora 端點連接。提升應該會很快完成,而且您在提升期間可以讀取和寫入 Aurora 僅供讀取複本。但是,在此期間,您無法刪除主要 My SQL DB 執行個體或取消資料庫執行個體和 Aurora 僅供讀取複本的連結。

升級 Aurora 僅供讀取複本之前,請停止將任何交易寫入來源 My SQL DB 執行個體,然後等待 Aurora 僅供讀取複本上的複本延遲達到 0。您可以在 Aurora 僅供讀取複本上呼叫 (Aurora 我的SQL版本 2) 或 SHOW SLAVE STATUS SHOW REPLICA STATUS (Aurora 我的版本 3) 命令,來檢視 Aurora 僅供讀取複SQL本的複本延遲。檢查 Seconds behind master 值。

當交易停止寫入主節點且複本延遲為 0 之後,您就可以開始寫入 Aurora 僅供讀取複本。如果您在此之前寫入 Aurora 僅供讀取複本,並且修改了也在 My SQL 主要資料表上修改的資料表,則可能會中斷複寫至 Aurora 的風險。如果發生這種情況,您必須刪除並重新建立 Aurora 僅供讀取複本。

將 Aurora 僅供讀取複本提升為 Aurora 資料庫叢集
  1. 登錄 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇 Aurora 僅供讀取複本的資料庫叢集。

  4. 針對 Actions (動作),選擇 Promote (提升)。

  5. 選擇 Promote Read Replica (提升僅供讀取複本)。

升級後,請使用下列程序確認提升已完成。

確認已提升 Aurora 僅供讀取複本
  1. 登錄 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Events (事件)。

  3. Events (事件) 頁面上,確認您提升的叢集有 Promoted Read Replica cluster to a stand-alone database cluster 事件。

升級完成後,主要 My SQL DB 執行個體和 Aurora 僅供讀取複本將取消連結,您可以視需要安全地刪除資料庫執行個體。

若要將 Aurora 僅供讀取複本升級為獨立資料庫叢集,請使用promote-read-replica-db-cluster AWS CLI 命令。

範例

對於LinuxmacOS、或Unix:

aws rds promote-read-replica-db-cluster \ --db-cluster-identifier myreadreplicacluster

在 Windows 中:

aws rds promote-read-replica-db-cluster ^ --db-cluster-identifier myreadreplicacluster