Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[HeatWavejp Meetup #07] 1年生エンジニアが語る 『誰も教えてくれないアウトバウンドレプリケーションとフェイルバック』 [下山 星夜 氏(データベーステクノロジ)]

[HeatWavejp Meetup #07] 1年生エンジニアが語る 『誰も教えてくれないアウトバウンドレプリケーションとフェイルバック』 [下山 星夜 氏(データベーステクノロジ)]

HeatWavejp Meetup #07 「🌸祝1周年🌸 はじめてでもわかる!MySQL HeatWave 全体解剖 LT大会!!」(2024/4/11 開催)の講演資料です。

【講演内容】
1年生エンジニアが語る 『誰も教えてくれないアウトバウンドレプリケーションとフェイルバック』

 - MySQLマネージドサービスのレプリケーションについて
 - アウトバウンドレプリケーションについて
  ・今回の検証環境の構成について
  ・アウトバウンドレプリケーションの手順
 - フェイルバックについて
  ・フェイルバックの手順

【発表者】
下山 星夜 氏
株式会社データベーステクノロジ

【イベント情報】
HeatWavejp Meetup #07
https://heatwavejp.connpass.com/event/312177/

More Decks by HeatWavejp(MySQL HeatWave Japan User Group)

Other Decks in Business

Transcript

  1. © 2024 Database Technology Inc. All Rights Reserved. 株式会社データベーステクノロジ 1年生エンジニアが語る

    誰も教えてくれない アウトバウンドレプリケーション とフェイルバック 2024年04月11日 (木) 下山 星夜
  2. © 2024 Database Technology Inc. All Rights Reserved. 2 簡単な自己紹介

    ⚫ 名前:下山 星夜 ⚫ 会社名:株式会社データベーステクノロジ ⚫ 現在の仕事内容:クラウドインフラ関連 ⚫ 入社月:2023/05 ⚫ 前職:害虫駆除作業員 ⚫ 趣味:マーダーミステリー、ボードゲーム
  3. © 2024 Database Technology Inc. All Rights Reserved. 3 弊社の紹介

    会社概要 事業内容 屋号 株式会社データベーステクノロジ https://www.db-tec.com/ 所在地 京都市中京区柳八幡町65番地 設立 1995年7月12日 パートナー資格 ORACLE Cloud Sell Partner 許認可 Pマーク(第20002140号) クラウドサービス事業 インフラ基盤構築・Lift&Shift・運用監視アウトソース データベース関連事業 Oracle Master認定技術者によるデータベース設計/構築/運用 MySQLやSQLサーバについても対応可能 ソフトウェア開発事業 生産管理・販売管理・会計管理・営業支援 業種:金融・製薬・小売/レンタル・メーカー・学術/研究機関 ERPパッケージ導入事業 Oracle E-Business Suite© マスコット キャラクター データベーチュ 親子 沿革 1995年 DB構築サービスを専業として大阪市中央区に設立 2001年 DBパフォーマンス測定サービスを開始 2010年7月 本社を京都市中京区へ移転 2015年8月 日本オラクル社とパートナー契約締結 2015年9月 らくがきSQLを IT Pro EXPOへ出展 2019年12月 メール/チャット自動変換サービス chatveryをリリース
  4. © 2024 Database Technology Inc. All Rights Reserved. 4 ちなみに…YouTubeチャンネルやってます!

    https://www.youtube.com/@databasetechnologyinc.7441/ チャンネル登録 お願いします!
  5. © 2024 Database Technology Inc. All Rights Reserved. 5 用語の扱い

    ⚫ MDS(MySQL Database System) ⚫ HeatWaveクラスタを無効化しているMySQLマネージドサービス ⚫ MySQL HeatWave ⚫ HeatWaveクラスタを有効化しているMySQLマネージドサービス MDS MySQL HeatWave HeatWave クラスタ 有効化 HeatWave クラスタ 無効化
  6. © 2024 Database Technology Inc. All Rights Reserved. 6 スライドの流れ

    ⚫ MySQLマネージドサービスのレプリケーションについて ⚫ アウトバウンドレプリケーションについて ⚫ 今回の検証環境の構成について ⚫ アウトバウンドレプリケーションの手順 ⚫ フェイルバックについて ⚫ フェイルバックの手順 MDS MySQL HeatWave
  7. © 2024 Database Technology Inc. All Rights Reserved. 8 MySQLマネージドサービスのレプリケーション

    ⚫ インバウンドレプリケーション(ソース ⇒ レプリカ) ⚫ アウトバウンドレプリケーション(ソース ⇒ レプリカ) ⚫ 読み取りレプリカ(MDS ⇒ リードレプリカ) ⚫ 高可用性(プライマリ ⇔ セカンダリ) 全て非同期レプリケーション 高可用性のみ双方向
  8. © 2024 Database Technology Inc. All Rights Reserved. 10 アウトバウンドレプリケーションとは?

    ⚫ OCIのMySQLマネージドサービスをソース ⚫ GTID(グローバルトランザクション識別子)ベースのレプリケーション 各トランザクションは識別・追跡可能!
  9. © 2024 Database Technology Inc. All Rights Reserved. 11 アウトバウンドレプリケーションのとれる構成

    ① レプリカ:オンプレミスのMySQL Server ② レプリカ:コンピュートインスタンスのMySQL Server ③ レプリカ:MySQLマネージドサービス(OCI MDS・MySQL HeatWave、 Amazon RDSなど) ⚫ ソースがMySQL 8.3.0-u2より前の場合、HeatWave Lakehouseを有効化した DBシステムをソース × Data Lakehouse
  10. © 2024 Database Technology Inc. All Rights Reserved. 12 ①レプリカ:オンプレミスのMySQL

    Server OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway ソース On-Premises 同期 DRG CPE Site-to-Site VPN 高可用性 〇 HeatWave 〇 MySQL Server (レプリカ)
  11. © 2024 Database Technology Inc. All Rights Reserved. 13 ②レプリカ:コンピュートインスタンスのMySQL

    Server OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS IAM Object Storage Oracle Services Network ソース Subnet B 10.2.0.0/27 MySQL Server Service Gateway 高可用性 〇 HeatWave 〇 同期 VCN Virtual Machine MySQL Server (レプリカ)
  12. © 2024 Database Technology Inc. All Rights Reserved. 14 ③レプリカ:MySQLマネージドサービス(例えばOCI)

    OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway ソース Subnet B 10.2.0.0/27 MDS 同期 高可用性 〇 HeatWave 〇 レプリカ 高可用性 〇 HeatWave 〇
  13. © 2024 Database Technology Inc. All Rights Reserved. 15 ③レプリカ:MySQLマネージドサービス(例えばOCI)

    OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway ソース Subnet B 10.2.0.0/27 MDS 同期 高可用性 〇 HeatWave 〇 レプリカ 高可用性 〇 HeatWave 〇
  14. © 2024 Database Technology Inc. All Rights Reserved. 16 サポートされているアウトバウンドレプリケーションの構成

    構成 ソースとレプリカ 高可用性 HeatWave ① ソース:OCIのMySQLマネージドサービス 〇 〇 レプリカ:オンプレミスのMySQL Server ― ― ② ソース:OCIのMySQLマネージドサービス 〇 〇 レプリカ:コンピュートインスタンスのMySQL Server ― ― ③ ソース:OCIのMySQLマネージドサービス 〇 〇 レプリカ:MySQLマネージドサービス 〇 〇
  15. © 2024 Database Technology Inc. All Rights Reserved. 17 詳細はOCIドキュメントへ!

    OCIドキュメント:サポートされているアウトバウンドレプリケーションシナ リオ https://docs.oracle.com/ja-jp/iaas/mysql-database/doc/supported-outbound- replication-scenarios.html
  16. © 2024 Database Technology Inc. All Rights Reserved. 18 どの様な場面で使うか?

    ⚫ 負荷分散 ⚫ OCIでもオンプレミスでも、データベース参照可能 ⚫ ディザスタリカバリ ⚫ OCIリージョンで障害が発生しても大丈夫 クラウドで何かあっても何とかなる!
  17. © 2024 Database Technology Inc. All Rights Reserved. 19 アウトバウンドレプリケーションのメリット

    ⚫ 制限事項はインバウンドレプリケーションより緩い ⚫ マルチソースレプリケーションも可能 ⚫ アウトバウンドのデータ転送の無料枠 ⚫ OCI(10TB/月)、Azure(100GB/月)、AWS(100GB/月) ⚫ 他のクラウドサービス ⇒ OCI × ⚫ OCI ⇒ 他のクラウドサービス 〇 OCI最高!!!
  18. © 2024 Database Technology Inc. All Rights Reserved. 20 アウトバウンドレプリケーションのデメリット

    ⚫ チャネル作成 ⚫ OCI コンソール上で作れない ⚫ MySQL Serverの設定 ⚫ レプリカの設定がデフォルトのままでは使えない(後述) インバウンドレプリケーションよりも設定が大変
  19. © 2024 Database Technology Inc. All Rights Reserved. 22 OCIのMDS

    ⇒ オンプレミスのMySQL Server ⚫ OCIとオンプレミス間のアウトバウンドレプリケーション ⚫ ソース …… MDS:8.0.36 ⚫ レプリカ …… MySQL Server:8.0.36 バージョンは同じ
  20. © 2024 Database Technology Inc. All Rights Reserved. 23 On-Premises

    MySQL Server (レプリカ) 構成図 OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway MDS(ソース) 同期 DRG CPE Site-to-Site VPN
  21. © 2024 Database Technology Inc. All Rights Reserved. 25 アウトバウンドレプリケーションの手順

    OCI(ソース) オンプレミス(レプリカ) ①MDS作成 ②ネットワーク関連の設定 ③MySQL Serverのインストール、設定 ④OCI CLIでOCI バケットへのアクセス設定 ⑤サイト間VPN設定 ⑤サイト間VPN設定 ⑥レプリケーション用ユーザ作成、権限付与 ⑥レプリケーション用ユーザ作成、権限付与 ⑦OCI バケットにデータダンプ ⑧OCI バケットからデータロード ⑨チャネル作成 ⑩レプリケーション開始
  22. © 2024 Database Technology Inc. All Rights Reserved. 26 ③MySQL

    Serverのインストール、設定 ⚫ 設定ファイルの編集 ⚫ gtid_mode=ON ⚫ enforce-gtid-consistency=ON ⚫ partial-revokes=ON ⚫ lower_case_table_names……ソースと同じ ⚫ server_idとserver_uuid……一意 ⚫ タイムゾーン定義 ⚫ ソースと同じ(MDSのデフォルトはUTC)
  23. © 2024 Database Technology Inc. All Rights Reserved. 27 ⑤サイト間VPN設定

    ⚫ 今回はサイト間VPN OCIドキュメント:サイト間VPNの概要 https://docs.oracle.com/ja-jp/iaas/Content/Network/Tasks/overviewIPsec.htm
  24. © 2024 Database Technology Inc. All Rights Reserved. 28 ⑧OCI

    バケットからデータロード ⚫ 今回はOCIバケット OCIチュートリアル:コマンドライン(CLI)でOCIを操作する https://oracle-japan.github.io/ocitutorials/intermediates/using-cli/
  25. © 2024 Database Technology Inc. All Rights Reserved. 31 アウトバウンドレプリケーションのポイント

    ⚫ インバウンドレプリケーションでは不要だった設定が沢山ある ⚫ アウトバウンドレプリケーションの資料が無さすぎる もっとアウトバウンドレプリケーションを使おう!
  26. © 2024 Database Technology Inc. All Rights Reserved. 33 On-Premises

    MySQL Server (レプリカ) シナリオ想定(通常) OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway MDS(ソース) 同期 DRG CPE Site-to-Site VPN
  27. © 2024 Database Technology Inc. All Rights Reserved. 34 On-Premises

    MySQL Server (レプリカ) シナリオ想定(障害発生) OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway MDS(ソース) DRG CPE Site-to-Site VPN
  28. © 2024 Database Technology Inc. All Rights Reserved. 35 On-Premises

    MySQL Server (レプリカ) シナリオ想定(フェイルバック) OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway MDS(ソース) フェイルバック DRG CPE Site-to-Site VPN
  29. © 2024 Database Technology Inc. All Rights Reserved. 36 On-Premises

    MySQL Server (レプリカ) シナリオ想定(再同期) OCI Region:ap-tokyo-1 Availability Domain 1 Subnet A 10.1.0.0/27 MDS VCN IAM Object Storage Oracle Services Network Service Gateway MDS(ソース) 再同期 DRG CPE Site-to-Site VPN
  30. © 2024 Database Technology Inc. All Rights Reserved. 38 フェイルバックの手順

    OCI(ソース) オンプレミス(レプリカ) ①レプリケーション停止 ②OCI バケットにデータダンプ ③OCI バケットからデータロード ④GTIDの実行履歴をリセット ⑤OCI バケットにデータダンプ ⑥OCI バケットからデータロード ⑦レプリケーション再開
  31. © 2024 Database Technology Inc. All Rights Reserved. 39 ③OCI

    バケットからデータロード ⚫ updateGtidSet:”off” ⚫ ignoreVersion:”true”
  32. © 2024 Database Technology Inc. All Rights Reserved. 40 フェイルバックのポイント

    ⚫ 障害発生時、ソースやレプリカを切り替える方法もある ⚫ GTIDベースのレプリケーションなので、GTIDに注意する ⚫ フェイルバックの資料が無さすぎる もっとフェイルバックを意識しよう!
  33. © 2024 Database Technology Inc. All Rights Reserved. 41 最後に

    ⚫ シナリオの想定 ⚫ どのレプリケーションがいいか? ⚫ レプリケーション先とバックアップ先はどこにする? ⚫ 障害発生時の対策は?