跳至內容

如何使用 AWS DMS 移轉到 Amazon RDS 或 Amazon Aurora 資料庫執行個體?

2 分的閱讀內容
0

我想要將資料庫移轉到 Amazon Relational Database Service (Amazon RDS) 或 Amazon Aurora。我如何才能以最少的停機時間做到這一點?

簡短描述

注意: 如果您正在執行同質移轉,請盡量使用引擎的原生工具 (如 MySQL 傾印或 MySQL 複寫)。

若要使用 AWS DMS 移轉到 Amazon RDS 資料庫執行個體:

  • 建立複寫執行個體
  • 建立目標和來源端點
  • 重新整理來源端點結構描述
  • 建立移轉任務
  • 監控移轉任務

您可以對所有 Amazon RDS 和 Amazon Aurora 引擎類型使用這些步驟,包括 Amazon RDS for Oracle 和 Amazon Aurora for MySQL 資料庫執行個體。

解決方法

注意: AWS DMS 只在移轉資料表資料之前,於必要時在目標上建立具有主索引鍵的資料表。若要產生完整的目標結構描述,請使用 AWS Schema Conversion Tool (AWS SCT)。如需詳細資訊,請參閱轉換結構描述

(選用) 使用 Amazon CloudWatch 啟用記錄

Amazon CloudWatch 日誌可以提醒您移轉時可能發生的問題。如需詳細資訊,請參閱使用 Amazon CloudWatch 監控複寫任務

建立複寫執行個體

  1. 開啟 AWS DMS 主控台,然後從導覽窗格中選擇 Replication Instances (複寫執行個體)。
  2. 選擇 Create replication instance (建立複寫執行個體)。
  3. 輸入您的複寫執行個體名稱、描述、執行個體類別、Amazon Virtual Private Cloud (Amazon VPC) 和多可用區偏好設定。
    注意:- 選擇能夠滿足您移轉工作負載的執行個體類別。如果該執行個體不足以滿足您的工作負載,您可以稍後修改複寫執行個體
  4. Advanced (進階) 區段中,選擇您的 VPC 安全群組,或選擇預設選項。
  5. 選擇 Create replication instance (建立複寫執行個體)。

建立目標和來源端點

  1. 開啟 AWS DMS 主控台,然後從導覽窗格中選擇 Endpoints (端點)。
  2. 選擇 Create endpoint (建立端點) 來建立來源資料庫和目標資料庫。
  3. Endpoint type (端點類型) 中,選擇 Source (來源)。
  4. 輸入端點的引擎特定資訊。
  5. 選擇 Run Test (執行測試)。
  6. 測試完成後,選擇 Save (儲存)。
  7. 重複步驟 3-6,但對於 Endpoint type (端點類型),請選擇 Target (目標)。
    注意: 對目標來源都完成此步驟。

重新整理來源端點結構描述<b></b>

  1. 開啟 AWS DMS 主控台,然後從導覽窗格中選擇 Endpoints (端點)。
  2. 選取來源端點,然後選擇 Refresh schemas (重新整理結構描述)。
  3. 選擇 Refresh schemas (重新整理結構描述)。
    注意: 您必須重新整理來源,以便在建立 AWS DMS 任務時,來源結構描述出現在資料表映射中。

建立移轉任務

  1. 開啟 AWS DMS 主控台,然後從導覽窗格選擇 Database migration tasks (資料庫移轉任務)。
  2. 選擇 Create task (建立任務)。
  3. 指定 Task identifier (任務識別碼)、Replication instance (複寫執行個體)、Source database endpoint (來源資料庫端點)、Target database endpoint (目標資料庫端點) 和 Migration type (移轉類型)。選擇下列其中一種移轉類型:
    只移轉現有資料 — 使用此移轉類型進行一次性移轉。
    移轉現有資料並複寫正在進行的變更 — 使用此移轉類型可以最短的停機時間將大型資料庫移轉到 AWS 雲端。
    移轉正在進行的複寫變更 — 當您已經移轉現有資料並希望將來源資料庫與 AWS 雲端上託管的目標 MySQL 資料庫同步時,請使用此移轉類型。
  4. Task Settings (任務設定) 區段中,根據需要修改任務。
  5. Table mappings (資料表映射) 區段中,選擇 Guided UI (引導式 UI)。
  6. 選擇 Add new selection rule (新增選取規則),然後指定您的結構描述資料表名稱
    注意: 您可以變更或轉換部分或全部選取物件的來源結構描述、資料表或欄名稱。若要執行此操作,請展開 Transformation rules (轉換規則) 區段。選擇 Add new transformation rule (新增轉換規則)。然後選取 Target (目標)、Schema name (結構描述名稱) 和 Action (動作)。
  7. 選擇 Create task (建立任務)。

注意: 如果您有大型物件 (LOB) 欄,請使用有限 LOB 模式。如需詳細資訊,請參閱在 AWS DMS 任務中設定來源資料庫的 LOB 支援

監控移轉任務

  1. 使用 Task Monitoring (任務監控) 檢視來監控移轉任務。您可以查看哪些資料表已成功移轉,哪些資料表正在移轉過程中。請注意以下訊息類型:
    I - 表示資訊性訊息
    W - 表示警告
    E - 表示移轉資料庫時發生的錯誤
  2. 透過終端連接來源執行個體和目標執行個體,確認資料庫是否已成功移轉。

移轉 Oracle

當您使用 Oracle 作為來源資料庫時,AWS DMS 會將資料表移轉到指定的目標端點使用者。您可以使用轉換規則來變更 Oracle 目標的結構描述。如需詳細資訊,請參閱變更 Oracle 目標的使用者和結構描述

移轉到 MySQL/PostgreSQL/SQL Server

在移轉期間,結構描述和資料表將移轉到目標上的相同名稱中。如果要將資料表移轉到目標上的其他結構描述/資料表,請建立映射規則以指定目標資料庫上的新結構描述/資料表。

{
  "rules": [{
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "1",
      "object-locator": {
        "schema-name": "test",
        "table-name": "%"
      },
      "rule-action": "include"
    }, {
      "rule-type": "transformation",
      "rule-id": "2",
      "rule-name": "2",
      "rule-action": "rename",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "test"
      },
      "value": "newtest"
    }
  ]
}

檢查日誌以確認沒有錯誤。

在切換到新的目標資料庫之前,請監控延遲,並比較來源資料庫和目標資料庫上的資料計數。如需詳細資訊,請參閱對 AWS Database Migration Service 中的移轉任務進行疑難排解


相關資訊

AWS Database Migration Service 的運作原理

資料庫移轉逐步解說

資料移轉來源

資料移轉目標