AWS DMS MySql數據同步Elasticsearch


用戶需求

  • 使用ES實現搜索功能
  • MySql數據同步ES中

AWS Database Migration Service (AWS DMS)

  • AWS Database Migration Service (AWS DMS) 是一項雲服務,可輕松遷移關系數據庫、數據倉庫、NoSQL 數據庫及其他類型的數據存儲。您可以使用 AWS DMS 將數據遷移到 AWS 雲,在本地實例之間(通過 AWS 雲設置)進行遷移,或者在雲與本地設置的組合之間進行遷移。

  • 利用 AWS DMS,可以執行一次性遷移,而且可以復制持續更改以保持源和目標同步。如果要更改數據庫引擎,可以使用 AWS Schema Conversion Tool (AWS SCT) 將數據庫架構轉移到新平台。然后,可以使用 AWS DMS 遷移數據。由於 AWS DMS 是 AWS 雲的一部分,您將獲得 AWS 服務提供的成本效益、上市速度、安全性與靈活性


1.創建子網組

  • 子網組配置
    • 子網組名稱
    • 子網組描述
    • 選擇VPC
    • 添加子網
    • 添加標簽

2.證書


3.創建復制實例

  • 復制實例配置

    • 復制實例名稱
    • 復制實例描述
    • 實例類型(配置)
    • DMS版本(盡量使用穩定版本,不建議使用Beta版本)
    • 分配實例存儲空間
    • VPC
    • 是否開啟多可用區
    • 是否公網訪問
      • 如果選擇此選項,AWS DMS 將向您的復制實例分配公有 IP 地址,並且您將能夠連接到 Amazon VPC外部的數據庫
  • 高級安全和網絡配置

    • 復制子網組
    • 可用區
    • VPC安全組
    • KMS主密鑰
  • 維護

    • 次要版本自動升級(建議關閉)
  • 標簽


4.創建終端節點

  • 終端節點類型
    • 源終端節點
      • 源終端節點允許 AWS DMS 從數據庫(內部部署或雲中)或其他數據源(如 Amazon S3)讀取數據
    • 目標終端節點
      • 目標終端節點允許 AWS DMS 將數據寫入數據庫或寫入其他數據源

  • 源終端節點配置
    • 終端節點標識符
    • 源引擎類型
      • aurora
      • aurora-postgresql
      • s3
      • db2
      • mariadb
      • azuredb
      • sqlserver
      • mongodb
      • mysql
      • oracle
      • postgres
      • sybase

  • 目標終端節點配置

    • 終端節點標識符
    • 源引擎類型
      • aurora
      • aurora-serverless
      • aurora-postgresql
      • docdb
      • dynamodb
      • kinesis
      • neptune
      • redshift
      • s3
      • elasticsearch
      • kafka
      • mariadb
      • mysql
      • oracle
      • postgre
      • sybase
  • 提供各服務的認證信息

  • 特定於終端節點配置

    • 額外的連接屬性
  • KMS主密鑰

  • 標簽

  • 測試終端節點連接(可選)


5.數據遷移遇到的坑

  • DMS支持MySql版本

    • MySQL 版本 5.5、5.6、5.7 和 8.0
    • MariAdB版本10.0.24至10.0.28、10.1、10.2和10.3至10.3.13
    • Amazon Aurora MySQL
  • MySql作為數據源先決條件

  • 參數組修改

    • binlog_format 設置成 ROW
    • binlog_checksum 設置成 NONE
    • 將binlog日志保留時間增加到24小時
    • call mysql.rds_set_configuration('binlog retention hours', 24);
    • 如果您使用Amazon RDS MySQL或Amazon RDS MariaDB只讀副本作為源,請在只讀副本上啟用備份
  • MySql連接報錯

    • SSL connection error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
    • 更新AWS RDS的證書,如果RDS未重啟。無論DMS終端節點是否使用SSL,均會報錯。重啟RDS后可正常連接

  • Elasticsearch

    • 在 AWS DMS 版本 3.1.2 及更高版本中支持將 Amazon Elasticsearch Service 作為目標
    • Migrating from a relational database table to an Amazon ES index
    • AWS DMS 支持將數據遷移到 Amazon ES的標量數據類型。在從 Oracle 或 MySQL 等關系數據庫遷移到 Amazon ES 時,您可能希望重構存儲此數據的方式。
    • AWS DMS 支持以下 Amazon ES 標量數據類型:
    • Boolean
    • Date
    • Float
    • Int
    • String
    • AWS DMS 將 Date 類型的數據轉換為 String 類型。您可以指定自定義映射來解釋這些日期
    • 數據遷移任務啟動前需要提前在ES中創建與源數據庫中表名一致的索引
  • DMS


6.數據庫遷移任務

  • 任務配置

    • 任務標識符
    • 復制實例
    • 源數據庫終端節點
    • 目標數據終端節點
    • 遷移類型
      • 遷移現有數據
      • 遷移現有數據並復制持續變更
      • 僅復制數據更改
  • 任務設置

    • 其他配置可以默認(沒有深究過)
    • 啟用 CloudWatch 日志(方便排查問題)
  • 表映像

    • 遷移規則(源數據規則)
      • 架構(庫)
      • 表名稱(表)
      • 操作(包含/排除)
    • 轉換規則(目標數據規則)
      • 目標架構(庫)
      • 目標表(表)
      • 目標欄(字段)
      • 操作
        • 重命名
        • 刪除列
        • 轉為小寫
        • 轉為大寫
        • 添加前綴
        • 刪除前綴
        • 替換前綴
        • 添加后綴
        • 刪除后綴
        • 替換后綴
  • 遷移前評估

  • 遷移任務啟動配置

  • 高級任務設置

  • 標簽


7.事件訂閱

  • 可以針對數據遷移實例和遷移任務配置事件郵件(短信)通知

參考文檔:

https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html
https://docs.aws.amazon.com/zh_cn/dms/latest/userguide/CHAP_Source.MySQL.html
https://docs.aws.amazon.com/zh_cn/dms/latest/userguide/CHAP_Target.Elasticsearch.html
https://docs.aws.amazon.com/zh_cn/dms/latest/userguide/CHAP_Reference.DataTypes.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM