NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

re:Invent2024セッションレポート_Amazon RDS への Db2移行ベストプラクティス

はじめに

こんにちは、クラウド事業推進部の今村です。
re:Invent2024 から帰国後は英語学習を頑張っています。

今回は企業経営に必要不可欠な基幹業務システムで利用されることが多いデータべースの Db2 を RDS 上で利用可能にした RDS for Db2 の移行ベストプラクティスに関する re:Invent2024 セッションレポートです。
RDS for Db2 は re:Invent2023 で発表された比較的新しいサービスです。また、利用するには Db2 のライセンスが必要となるためか、ネット上に操作してみた方の情報等がネット上になかなか出ていないと感じていました。
私自身、最近の業務で Db2 に触れる機会があり、この機会にベストプラクティスを持ち帰ろう!という意気込みでセッションに参加しました。
ただ、このセッションは Chalk Talk という登壇者と聴講者が意見を交わしながら進めていくセッション形式で、噂どおりハイレベルな議論が英語で繰り広げられ、全てを理解することはなかなか難しかったです。。
セッションレポートと併せて、帰国後に見つけたAWS公式ブログもご紹介しますので、 RDS for Db2 やその移行方法を知るきっかけになれば幸いです。

セッション概要

タイトル:

Best practices for migrating and operating Db2 databases on Amazon RDS

Agenda:
  • RDS for Db2 の概要説明

  • データ移行方法

  • おすすめの移行方法

RDS for Db2 の概要説明

冒頭の紹介と被るところありますが、改めて RDS for Db2 について簡単にご紹介します。
そもそも Db2 とは、大規模なトランザクションおよび分析ワークロードをサポートする IBM リレーショナルデータベースです。
基幹業務システムで利用されることが多いデータベースかと思います。 www.ibm.com

RDS for Db2 はその名の通り、 Db2 を RDS にホストできるサービスで、 re:Invent 2023 にて発表された比較的新しいサービスです。 aws.amazon.com これまでメインフレームで上で運用することがほとんどだった Db2 が Amazon RDS 上で利用可能となったことで可用性が高い Db2 を数分で展開し、運用負荷を減らしてセキュアに利用できるようになりました。 aws.amazon.com

データ移行アプローチ

次に RDS for Db2 へのデータ移行アプローチが紹介されました。
データ移行のアプローチとして、AWSから提供されている AWS Database Migration Service(AWS DMS)を利用する方法と、IBM社から提供されている機能を利用する方法があるようです。

AWS Database Migration Service(AWS DMS)

1つ目の AWS DMS はAWS試験でもよく見かける移行処理を簡素化するマネージドサービスですね。
RDS for Db2 へのフルロードと、継続的な変更をキャプチャする Change Data Capture (CDC) の両方の移行方法に対応しています。 aws.amazon.com

上記スライドでは、 AWS DMS を利用した移行方法の構成図が紹介されました。
ここではレプリケーションインスタンスを経由してマイグレーションタスクを実行しています。マイグレーションタスクを実行することで、移行元から抜き出したデータを移行先に書き込みます。
構成図右の AWS Secrets Manager はソースエンドポイントとターゲットエンドポイントの接続情報取得に利用しています。

◆Migration steps
1. レプリケーションインスタンスを起動
2. 移行元、移行先への接続用エンドポイントを作成
3. AWS DMS マイグレーションタスクを作成

Native IBM Db2 tools

Native IBM Db2 tools を利用する方法ではダウンタイムを限りなくなくす方法と一度の作業で移行する方法の2パターンが紹介されました。

Native IBM Db2 tools を利用して少ないダウンタイムで移行する

上記スライドは Native IBM Db2 tools を利用する方法のうちダウンタイムを限りなくなくす移行方法の構成図です。
移行元データベースから、バックアップとアーカイブログを S3 にコピーします。
Native IBM Db2 tools に S3 への書き込み権限を与え、S3 にコピーしたバックアップから移行先にデータを復元し、アーカイブログを利用してロールフォワードを実行する方法です。

◆Migration steps
1. 移行元データベースから、バックアップとアーカイブログを S3 にコピー
2. RDS for Db2 で Amazon S3 統合を有効化
3. バックアップを RDS for Db2 にリストア
4. アーカイブログを利用してロールフォワードを実行
5. ロールフォワード完了後、 RDS for Db2 を開始

Native IBM Db2 tools を利用して一度に移行する

上記スライドは Native IBM Db2 tools を利用する方法のうち、一度の作業で移行する方法の構成図で、export を利用してデータをアンロードし、そのデータを RDS for Db2 にロードしています。
データソースから ddl とデータを S3 にコピーします。それを利用して RDS にデータベースオブジェクトを作成し、そこにデータをロードするようです。

◆Migration steps
1. 移行元から、DDL とデータを取り出し S3 にコピー
2. RDS for Db2 で Amazon S3 統合を有効化
3. RDS for Db2 にデータベースオブジェクトを作成
4. S3からデータロードを実行
5. ユーザー接続の検証とリダイレクト

おすすめの移行方法

ここまでつらつらと書いてきましたが、結局どれを利用したらいいんだという感じですよね。
お待たせしました。ピッタリの表が紹介されていました。
「自分の業務ではどれが最適なんだ」と考えていたらだいぶ説明を聞き逃した気がしますが、、スライドの表では、「移行元がどんな OSや筐体を利用しているか」を軸に、ダウンタイムが少ない方法と一括で移行する方法が紹介されていました。
一方で、実際の移行方法と利用するツールを決定する際は下記もあわせてよく検討することを推奨していました。

  • 移行作業時、ダウンタイムを許容できるか
  • どのくらいのコストをかけられるか
  • その組織にとって利用しやすい移行方法や移行ツールは何か

この辺りを検討する上でも、どんな移行方法があるのか、利用できるツールは何か、たくさんの引き出しを持っておくことは重要だなと強く感じました。

最後に

Chalk Talk 形式のセッションは難易度が高いと聞いていましたが、 RDS for Db2 に関する調査をした経験があったので思い切って参加しました。
ただ、海外の参加者は積極的に発言される方が多い、かつ、思いのほかハイスピードな英語による質問でついていくのに必死でした。
今後は、英語でのみ提供されているAWSドキュメントも翻訳ツールに頼りすぎず、頑張って自力で読み進めてみようと強く思えたいい経験でした。