RDS - 跨區創建只讀備庫

目前,在AWS的console中,無法創建跨區的只讀庫

類似上圖所示,只能創建本區內的只讀庫。
其實AWS RDS是支持跨區創建只讀庫的,但我們需要從AWSCLI命令行中操作。

需要注意的是:
要在與源數據庫實例不同的 AWS 區域中創建一個加密的只讀副本,源數據庫實例必須加密。

還需要額外注意以下事項:

  1. 您只有在使用以下 Amazon RDS 數據庫實例時,才能在 AWS 區域之間進行復制:
    MariaDB(所有版本)。
    MySQL 版本 5.6 及更高版本。
    Oracle Enterprise Edition (EE) 引擎版本 12.1.0.2.v10 和更高的 12.1 版本、12.2 的所有版本以及 18.0 的所有版本。
    需要有效的 Data Guard 許可。有關 Oracle 跨區域只讀副本的限制的信息,請參閱 只讀副本限制 (Oracle)。
    PostgreSQL 版本 9.4.7 及更高版本。
  2. 源數據庫實例可在多個 AWS 區域具有跨區域只讀副本。
  3. 您只能從未作爲其他 Amazon RDS 數據庫實例的只讀副本的源 Amazon RDS 數據庫實例創建跨區域的 Amazon RDS 只讀副本。
  4. 不能在 AWS GovCloud (US-West)區域內外設置複製通道。
  5. 對於所在 AWS 區域與源實例不同的任何只讀副本,其滯後時間將更長。產生此滯後時間是因爲區域數據中心之間的網絡通道更長。
  6. 在一個 AWS 區域內,從同一源數據庫實例創建的所有跨區域只讀副本必須位於同一 Amazon VPC 內部或任一 VPC 外部。對於跨區域只讀副本,所有指定 --db-subnet-group-name 參數的只讀副本創建命令必須從同一 VPC 指定數據庫子網組。
  7. 可以從其他 AWS 區域的 VPC 中的源數據庫實例在 VPC 內部創建跨區域只讀副本。還可以從 VPC 外部的源數據庫實例在 VPC 內部創建跨區域只讀副本。也可以從 VPC 內部的源數據庫實例在 VPC 外部創建跨區域只讀副本。
  8. 由於 VPC 對訪問控制列表 (ACL) 條目數有限制,我們無法保證 5 個以上的跨區域只讀副本實例。
  9. 只讀副本使用指定數據庫引擎的默認數據庫參數組。
  10. 只讀副本使用默認安全組。
  11. 對於 Oracle 數據庫實例,刪除跨區域只讀副本的源時,將提升只讀副本。對於 MariaDB、MySQL 和 PostgreSQL 數據庫實例,刪除跨區域只讀副本的源時,只讀副本的複製狀態將設置爲 terminated。但是,不會提升只讀副本。

創建步驟:

  1. 首先要在目標區有KMS,應用於對數據庫的加密。
  2. 在命令行執行
aws rds create-db-instance-read-replica \
--db-instance-identifier test-m8-rep --region cn-north-1 \
--source-db-instance-identifier arn:aws-cn:rds:cn-northwest-1:XXXXXX:db:test-m8 \
 --source-region cn-northwest-1 --kms-key-id XXXXXX

解釋:
source-db-instance-identifier 原庫的ARN,可以在頁面的configuration標籤中查到
kms-key-id 目標端用來加密的密鑰ID

官方文檔:
https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.XRgn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章