AS400基幹システムのGoogle Cloudマイグレーション:レガシーDB2 for i からPostgreSQLへの一貫支援
長年AS400(IBM i)で稼働してきたレガシー基幹システムを、Google Cloud上のCloud SQL for PostgreSQLへ全面マイグレーション。脱AS400・リプラットフォームによるシステム刷新を一貫して支援。
- GoolgeCloud
- AS400
- マイグレーション
大手NPO法人 様
ご依頼の背景
長年AS400(IBM i)で稼働してきたレガシー基幹システムを、Google Cloud上のCloud SQL for PostgreSQLへ全面マイグレーション。脱AS400・リプラットフォームによるシステム刷新を目指し、DB移行・データ移行・バッチ移行・クラウド基盤構築・運用設計まで、事前調査フェーズから本番運用まで一貫して支援しました。
IBM i(AS400)は製造業・流通業を中心に、長年にわたり基幹システムの中核として活用されてきたプラットフォームです。しかし保守人材の高齢化・運用の属人化・DR対応の見直しといった課題から、脱AS400・脱IBM iを目指したクラウドマイグレーションを検討する企業が増えています。レガシーシステムからの脱却とモダナイゼーションによるDX(デジタルトランスフォーメーション)推進の一環として、リプラットフォームに踏み出す選択が広がっています。
本案件では、DB2 for iで管理された大規模なDBオブジェクト(テーブル1,262件・プロシージャ358件・ファンクション35件・トリガー5件ほか)を対象に、PostgreSQLへの変換方式設計・データ移行・バッチ基盤の再構成・Google Cloudインフラ設計・運用手順整備まで、全フェーズを一貫して支援しました。
大手NPO法人
長年IBM i(AS400)をレガシー基幹システムとして運用してきた企業。業務処理の中核をDB2 for i上のストアドプロシージャ・トリガー・バッチ処理で担っており、周辺アプリケーションとの密結合も進んでいました。保守人材の確保・災害対策の強化・クラウドを活用した運用近代化を目的として、脱IBM iによるシステム刷新とGoogle Cloudへのリプラットフォームを決定されました。
抱えていた課題
-
01
レガシーDB2 for i と PostgreSQL の仕様差異が大きく、マイグレーション方針が立てられない
IBM i上のDB2 for iには、オープンDB標準とは異なる固有仕様が数多く存在します。オブジェクト名の大文字小文字の扱い、ストアドプロシージャの構文差異、独立コミット(autonomous)処理の制約、シーケンス値取得の差異、ROW_NUMBER等のSQL挙動差異、エラーメッセージの文字化けなど、PostgreSQLとの仕様ギャップは多岐にわたります。
加えて、周辺アプリケーションが発行するSQLの特性まで踏まえた命名ルールの設計が必要であり、「DDLを変換すれば完了」という単純なマイグレーションは成立しません。本開発に進む前に、こうした仕様差異をどう吸収するかの方式設計が定まっておらず、脱AS400に踏み切れない状況にありました。 -
02
脱AS400を阻む三重の壁:データマイグレーション・バッチ移行・クラウド運用まで不確実な論点が山積
DB仕様の差異以外にも、レガシーシステムからのマイグレーション全体を通じて不確実な論点が複数重なっていました。データ移行においては、IBM i 特有の文字コードや桁数の扱い、NULL・空文字の不統一、BLOBを含むテーブルの移送方法など、標準的なエクスポート・インポートでは吸収しきれないデータ品質上のリスクが潜んでおり、マイグレーション本番での事故が懸念されていました。バッチ・RPG処理についても、夜間バッチや画面起点のファイル取込がAS400固有の実行環境と密結合しており、脱AS400後にどのような実行基盤へ再設計するかの方針が定まっていませんでした。さらに、マイグレーション後の運用体制も課題でした。クラウド環境での保守接続・バックアップ・リカバリ・障害時のネットワーク切替・DR対応まで、移行プロジェクトと並行して運用設計を一から整備する必要があり、システム刷新後に「運用できない」状態に陥るリスクを抱えていました。
導入ソリューション
業務アクセス
ASTERIA
保守アクセス
▼ Cloud VPN(障害時切替)
図:本案件における Google Cloud 移行後のシステム構成(一般化表示)
事前調査フェーズで不確実性を構造化し、本開発の方式を先に確定
「何を決めないと本開発に進めないか」を基準に、移行の難所を 8 つの観点に分解。移行方式と残課題を文書化した上で本開発へ接続しました。
DB 移行:変換ルールの方式化と多層テストによる品質担保
テーブル 1,262 件・プロシージャ 358 件・ファンクション 35 件・トリガー 5 件を対象に、DB2 for i 固有の仕様差異を 3 つの軸で吸収しました。
CREATE OR REPLACE 統一)・PLpgSQL 変換パターンを方式書として整理。担当者が変わっても再現性高く変換できる体制を構築。plpgsql_check による静的チェック・新旧比較テスト・Function / Procedure / Trigger 単体テスト・DB 全体設定テストの 4 層で品質を多面的に検証。データ移行:例外データを吸収する移行方式の設計
事前に文字型カラム調査・イレギュラーデータ調査を実施し、データ特性に応じた 2 系統の移行経路を設計。移行本番での事故リスクを先に可視化・対処しました。
バッチ・RPG 移行:Cloud Run Jobs への実行基盤再設計
単純移植ではなく、クラウド運用を前提とした実行基盤への再設計を行いました。AS400 固有の依存を排除し、ログ・障害検知まで Google Cloud に統合しました。
Google Cloud 基盤設計:本番・DR・運用まで一貫して構築
「動く」から「運用できる」まで、開発・検証・本番・DR の 4 面構成を一気通貫で設計・構築しました。
整備した運用手順書(計 8 種)
導入効果
事前調査から運用設計まで一貫した支援により、大規模レガシー基幹システムの高品質なマイグレーションを実現しました。
IBM i上の大規模DBオブジェクト群を対象に、変換・テスト・データ移行・バッチ移行・インフラ構築・運用設計まで全工程を完遂。単にリプラットフォームして「クラウドに載せる」だけでなく、移行後の定常運用・障害対応・DR復旧まで見据えたシステム刷新・モダナイゼーションを実現しました。
-
01
大規模DBオブジェクトのマイグレーションを高品質・属人化なく完遂
テーブル1,262件・プロシージャ358件・ファンクション35件・トリガー5件を含む大規模レガシーDBオブジェクトを対象に、変換ルールの方式化・進捗管理表・多層テスト戦略を組み合わせてマイグレーションを完遂しました。自動変換だけに頼らず、ラッパープロシージャの実装・変換スクリプトの個別調整・エラー再確認まで対応。変換結果の品質を担当者の属人的なスキルに依存せず、方式として再現可能な形で進めました。
-
02
バッチ性能リスクをマイグレーション本番前に特定・切り分け
バッチ処理時間を事前調査段階で実測した結果、PostgreSQLへのマイグレーション後に処理時間が増大するケースを早期に特定。問題なく高速化できる処理と追加対策が必要な処理を明確に切り分け、残課題として次工程に引き継ぎました。「マイグレーションできそうか」を楽観視せず、実測に基づく判断で本番後のトラブルを事前に潰すアプローチを採用しました。
-
03
システム刷新・マイグレーション完了と同時に「運用できる」状態まで構築
マイグレーションプロジェクト完了時点で、8種のシステム管理マニュアル(DBリカバリ・GCEリカバリ・ネットワーク切替・環境切替・アラート確認・IAP接続・パッチ適用・証明書更新)を整備。東京リージョン(本番)/ 大阪リージョン(DR)の2リージョン構成・接続冗長化・PITR・切替手順まで含め、事業継続性を確保した安定運用基盤をシステム刷新と同時に整備。モダナイゼーション・DX推進の基盤として、移行後すぐに本番稼働できる体制を実現しました。
担当者の声
エヌデーデー担当者からの声
IBM i / AS400 のマイグレーションで最も重要なのは、「DB変換が終わったら完了」と捉えないことです。DB・データ・バッチ・基盤・運用は密接につながっており、どれか一つが抜けると本番後に必ず問題が発生します。
本案件では事前調査を独立フェーズに設け、レガシーシステム特有の難所を先に構造化してから本開発に進みました。特にDB2 for iのような固有仕様が多い環境では、「自動変換で済まない論点が必ず出る」という前提でテスト戦略と変換ルールを整備することが、品質担保の鍵になります。
脱AS400・脱IBM iによるシステム刷新は、「リプラットフォームして載せる」ことがゴールではありません。モダナイゼーション・DX推進を真に実現するには、運用手順書の整備・DR設計・保守接続設計まで含めて初めてマイグレーションは完了したと言える——それが当社の考え方です。

関連する導入事例