Amazon Web Services ブログ

ニフティ株式会社、Oracle Database Enterprise Edition からAmazon Aurora PostgreSQLへの移行によりメンテナンス時の対応コストを50%削減

ニフティ株式会社は、長年にわたりインターネットサービスプロバイダーとして安定したサービスを提供してきました。現在は総合的なデジタルサービス企業へと発展し、ポイントサービス事業も展開しています。同社の「ニフティポイントクラブ」は日常生活のあらゆる場面で利用できる便利なサービスとして多くのユーザーに親しまれており、顧客ロイヤリティの向上に大きく貢献しています。

このポイントサービスは、2025年4月にAurora PostgreSQLへの移行を完了しました。

本ブログでは、ニフティが提供するポイントサービスのデータベースをOracle Database Enterprise EditionからAurora PostgreSQLへ移行した際のエピソードについてご紹介します。

移行対象の既存システムとその課題

移行対象となったのは、会員のポイント残高管理、ポイントの付与・利用履歴の管理、キャンペーン管理などを担う、ポイントサービスの基幹システムです。本システムは、「ニフティポイントクラブ」およびその仕組みを利用する複数のサービスにとって中核を担うシステムであり、ニフティとして影響範囲が大きくなるため停止が許されないシステムでした。一方で、急激なアクセス増加への対応やセキュリティ要件への適応といった面では、現行システムには柔軟性や可用性に限界が見え始めており、将来的な運用継続に課題を抱えていました。そうした状況の中、利用中の基盤サービスの提供終了がアナウンスされたことを受け、より信頼性が高く、保守性に優れた新たなデータベース基盤への移行が求められる状況となっていました。

Aurora PostgreSQLに移行することを決定した理由

ニフティ株式会社では、Amazon Web ServiceのAmazon Aurora PostgreSQLを移行先として選定しました。移行先の判断にあたっては、複数の観点を総合的に評価しました。

AWS採用の理由①:インフラ環境のAWSへの統一による運用効率向上とAWSの豊富な実績

データベースに先立ち、アプリケーションの一部はすでにAWS上に移行済みであることや連携システムもAWS上に構築されていたことから、インフラ環境を統一することで運用効率が向上するという点がありました。また、豊富な技術ドキュメントやAWS Blogの事例情報、AWSのサポート体制も社内の意思決定を支える安心材料となりました。

AWS採用の理由②:AWS Database Migration Service やパートナーの活用

AWSには認定パートナーが多数存在し、移行に際してパートナーを見つけやすかったことに加え、データの移行および移行後のデータ検証にAWS Database Migration Service(DMS)を活用できるという利点もあり、これらが異種データベースへのマイグレーションを後押しする要因となりました。

異種データベース移行の理由①:PostgreSQLの運用経験と実績の蓄積

社内ではすでにPostgreSQLを用いた採用実績があり、その特性や運用ノウハウも蓄積されていたことから、新たな学習コストや移行後のトラブルに対する不安が少なく、採用を後押しする要因となりました。

異種データベース移行の理由②:エンジン変更に対するコスト

従来のシステムはPL/SQLへの依存度が低く、また、日々の運用において自動化されたテスト環境が整っていたことから、Oracle DatabaseからPostgreSQLへのエンジン変更に伴う移行コストは比較的抑えられると見込まれました。

Aurora採用の理由:Aurora サービスによる運用保守性の向上

Aurora PostgreSQLを活用した過去の移行経験を通じて、マネージドな機能が運用負荷の軽減に大きく寄与することを実感していました。今回のプロジェクトでも、バックアップや監視、セキュリティといった日常運用に関わる機能をAuroraに任せられることで、保守性の高い運用体制を実現できると判断し、Auroraの採用を決定しました。

移行プロジェクトの課題と対策

データベース移行プロジェクトは、技術的な課題だけでなく、計画策定や意思決定においても多くの困難を伴います。ニフティ株式会社では、移行にあたってアプリケーション移行とデータ移行の双方でさまざまな課題に直面し、それぞれに応じた対応を行いました。

アプリケーション移行における課題:Pro*Cを使ったレガシーコードの扱い

プロジェクトの初期段階で、移行対象となる機能を詳細に洗い出した結果、すべての機能をそのまま移行すると、コストが膨大になることが判明しました。特に、Pro*Cを使用して実装されたコードが多数存在しており、Oracle Database固有の機能や構文に依存している箇所もありました。そのため、以下の対応を実施する方向で、計画の見直しを行いました。

  • Webアプリケーション側のロジックに組み込み、アプリケーションコードに置き換える対応
    • 一部機能については外部パートナーへ開発を委託
  • 利用頻度の低い機能を廃止する決断
    • 必須機能と廃止可能な機能の選別、および社内で機能廃止の議論を行い、移行対象数を下げる対応

データ移行における課題①:文字コードの問題

データ移行において特に困難だった課題の一つが、文字コードの問題です。具体的には、EUCやSJISなど複数の文字コードが混在しており、これは連携先企業から取り込むデータに対するバリデーションが不十分であることなど、複数の要因によって発生していました。さらに、Oracle DatabaseのEUCとPostgreSQLのEUCでは機種依存文字の解釈に違いがあり、PostgreSQLでは一部の文字に対応できないという問題も存在しました。

これらの課題に対しては、DMSで移行可能なデータについては自動移行を実施し、エラーとなったデータについては個別に対応しました。また、文字コードの問題が予想されるカラムについては、CSVに出力して個別に移行処理を行うことで、文字化けやデータ欠損のリスクを最小限に抑えました。さらに、PostgreSQLで対応できない文字については、該当件数を確認したところ少数であることが判明したため、「?」に置換する方針で社内の合意を得て対応を進めました。

データ移行における課題②:大量データの取捨選択

長年運用されてきたシステムであったため、一部のテーブルには4億レコード(20年以上にわたって蓄積されたデータ)という膨大なデータが存在していました。すべてのデータを移行する場合、移行前の評価作業や移行にかかる時間の点で課題があったことから、データの必要性を改めて見直す決断をしました。他サービスにおけるデータ利用状況を、関係部門に確認のうえ精査した結果、古いデータ(特にポイント履歴データ)は移行の必要がないと判断できました。これにより、業務上必要な直近数年分のデータ(数千万レコード)のみを移行する方針を社内で決定することができました。この調査と判断により、移行対象となるデータ量を大幅に削減することができました。

計画変更を経て完了した移行の道のり

当初、移行プロジェクトは2025年3月末の完了を予定していましたが、実際には4月末に完了しました。また、人的リソースについても、当初計画していた50人月から約65人月へと増加する結果となりました。こうした規模の変化は、移行過程で判明した複雑な技術的課題に対応するために必要だったものです。一方で、DMSを用いて移行を行えたことや、AWS上で本番相当の検証環境を容易に構築できたことは、品質確保や開発スピードの向上に大きく寄与したと振り返っています。全体的な移行戦略については、AWSのメンバーに技術的な相談を行うことができました。特に重要だったのはデータ移行方式の選定です。当初は差分移行を計画していましたが、AWSメンバーとの協議を通じて、この方式に伴うリスクを確認することができました。リスクを踏まえ移行方式を変更したことで、潜在的な大規模障害を未然に防ぐことができたと考えています。これらの結果、移行プロジェクトは安全かつ確実に完了することができました。

Amazon Aurora PostgreSQL への移行の効果

Aurora PostgreSQLへの移行により、複数の効果が得られました。最も大きな効果は運用負荷の削減です。既存プラットフォームのシステム保守によるメンテナンス対応コストが50%削減されました。従来は基盤のセキュリティ対応によるメンテナンスが半期に数回発生し、その都度6時間程度のサービス停止が必要でしたが、Aurora移行後はそのような長時間の停止がなくなりました。

開発面では、PostgreSQLの使いやすさがエンジニアの生産性向上に貢献しています。古いOracle Databaseのバージョンを利用していたこともあり、クエリ構文が複雑化しやすい点が解消されました。またマネージドサービスになったことで、Amazon CloudWatchやAmazon RDS Performance Insightsといった監視機能やスロークエリの抽出機能、自動バックアップ機能を利用できるようになり、従来はシェルスクリプトで自前で構築・管理していた作業が不要になりました。Auroraの豊富な機能により、システムの安定性と拡張性を向上させることが出来ました。

まとめ

ニフティ株式会社では、今回の AWS 移行により運用時の負荷やシステムの安定性を改善することができました。今回の AWS 移行について、ニフティ株式会社 サービスシステムグループの関 氏、細野 氏は以下のように振り返っています。

「使い慣れている Aurora PostgreSQL に移行したことで、運用が大幅に改善されました。セキュリティ面の向上なども実現でき、Aurora 移行によるメリットを感じています」

ニフティ株式会社 サービスシステムグループ
松尾 亜紀氏 (写真中央)、細野 俊平氏 (写真左)、関 歩武氏 (写真右)