オンプレミスからAWS RDS for OracleへのDBマイグレーション
オンプレミスからAWS RDS for OracleへのDBマイグレーション
ソフトウェアのサポートが既に切れていて、データベースの運用もブラックボックス化してしまっていた基幹システムのデータベースのマイグレーション案件の紹介です。本件はVB6.0のシステムを、VB.NETへのマイグレーションも実施済みです。
データセンターにあるOracle 10Gの基幹データベースをAWSクラウド RDS for Oracle 19cへ移行しました。
クライアントの課題
このシステムは企業の根幹となる基幹システムです。数百人の社員と数十の部門、日本全国の拠点で利用されています。基本的に365日24時間稼働するシステムです。社員は交代で24時間システムを利用し続けます。またこの数十年で様々なサービスが追加されこの基幹システムと連携しています。本システムの初期開発ベンダーや初期の担当者は様々な理由で新たな担当に引き継がれています。それによりユーザーやベンダーはシステムの表面的な操作は理解していますが、一部はブラックボックス化してしまっています。さらにDBソフトウェアのOracle 10gはサポート期限が切れてしまっています。10年以上前のソフトウェアなのでI/O性能も悪くユーザーからシステムが重い、遅いなどの意見が噴出している状態です。
クライアントからの要求
業務を止めず(ダウンタイムなし)に移行するという要件
24時間基本的に動く業務とシステムを最低限のダウンタイムで移行したいという要望がありました。AWSベンダーとともにいくつか移行方法の案を提案。
AWS Direct Connectと DMS
AWS Direct Connectで専用回線を敷きAWS DMS(マイグレーションサービス)を利用案
コストと実施期間の問題で却下
AWS VPNコネクトでS3からRDSへインポート
2回に分けて現行のDBからDumpファイルを落とし、VPNコネクトでAWSのS3へ、S3からRDSへインポートする案
AWS Snowballでの移行
オンプレのデータをSnowballに落として、AWSへ郵送しSnowball→S3→RDSへの移行案
DB移行前の準備
ネットワークの構築
ユーザー500以上、拠点が20以上のネットワークをネットワークベンダーが構築しました。
AWS RDSの選定
AWSベンダーとAWSサポートに意見を聞きながらスペックや契約形態を選定しました。今回はRDS for Oracle 19c (ライセンス込み)を選択しました。現行のDBの容量を加味してm5.2xlarge(8vCPU)+1TBdiskを選択。RDSのアーキテクチャーに関してはAWSベンダーによって提案されました。RDSの特徴として、高速で予測可能なパフォーマンス、簡単でマネージド型のデプロイが選定の決め手となりました。
移行方法の決定
業務を止めずに移行することは、難しいと判断されました。
システムのダウンタイムを最小限でかつコスト最適でという方法を検討した結果、移行方法はAWS VPNコネクトでS3からRDSへインポートすることになりました。2回に分けてDumpファイルを落とし、VPNコネクトでAWSのS3へ、S3からRDSへインポートする案です。
1回目:過去データから実行月までエクスポートします。エクスポート処理は500GB弱データで25時間掛かります、インポート処理は12時間でかかりました。
2回目:DBを切り替える直前実施した。
現行基幹システムとの連携のためOracle 12cをブリッジ
今回は基幹システム(VB6.0からVB.NET)のマイグレーションも弊社で行いましたが、データベースを先に本番稼働することになりました。現行基幹システムはVB6.0で動作しています。また連携システムはOracle 10gで動かしているシステムもいくつかあります。データベースを先に移行するために一部のシステムはOracle 12c経由でDBLINKを使ってOracle 19c へ間接的に連携させることにしました。
移行手順書の準備
今回は弊社を含め4業者の連携でした。移行のための役割分担と時間ベースのスケジュールを提案しました。環境準備、設定、1回目のダンプファイルをAWS RDSへ移行、s3のスナップショットを取得後の業務テスト(直近1年分の帳票データ確認、業務流れテスト、各種システムとの連携テスト)、2回目のダンプファイルの移行など事細かにスケジュールを立てました。
リハーサル
本番移行前には2回リハーサルを行いました。リハーサル実施で発生した課題を移行手順書に更新しました。
本番稼働
システムのダウンタイムを最小化するために、影響の少ない夜中に実施しました。リハーサルで事前に課題を解決することができたので大きな問題もなく分単位のスケジュールもほぼ予定通りに実施しAWS RDSへの移行に成功しました。移行後で性能問題が起きました。Amazon RDS Performance Insights機能を利用してデーターベースパフォーマンスに関する問題の原因を特定してOracle 10gで使っているOPTIMIZER_FEATURESパラメータを指定して処理性能を改善できました。Oracle19cのOPTIMIZER_FEATURESを利用してSQLチューニングを実施しました。
まとめ
今回、弊社としてはこのような大規模なDBマイグレーションは初めてでした。しかし、弊社の幹部で既に何度もDBマイグレーションの実績があるものが複数名いたこと、Oracleの知見があったこと、AWS RDSの実績もあったことなどから何事も問題なくマイグレーションに成功しました。もし古いデータベースでお困りの企業様は是非ともお声がけください。
ONETECHのシステムマイグレーション実績紹介
Windows7およびServer2008R2のサポートが2020年1月14日に終了しました。 運送業の基幹システムは、VB.Net・.net Framework 4.0、ActiveReport for .Net 7.0J、VisualStudio2010、Oracle 11gで動作していました。今回のマイグレーションではツール類も動作保証されているWindows10に対応しているバージョンに変更し、システム動作保証をしました。
Windows7のサポートが2020年1月14日に終了しました。 現行の製造・在庫・販売管理システムについてVB6.0から.Netへの移行を行いWindows10での 動作を可能としました。VB6.0での継続には様々なリスクが伴います。マイグレーションすることで解消しました。
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として日本の上場企業からスタートアップ企業まで100社以上との取引実績があります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
AWS DMSを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。
AWS導入について相談する