
マイグレーションとは? 意味や種類、実行の流れを紹介

システムの老朽化は、運用コストやセキュリティリスク、不具合の発生率が高まる要因となるなど、さまざまな問題を引き起こします。これを解決するためには、システムを新しい環境へ移したり、構築し直したりする作業を行わなければなりません。このような、システムを長期にわたって安全に稼働するための作業を確実に進めるには、「マイグレーション」について理解を深めることが重要です。この記事では、マイグレーションの意味や目的、混同しやすい用語との違いなどの基本情報から、実際に行う際の流れや注意点までを解説していきます。
マイグレーションとは何か
マイグレーションとは、IT業界で「システムやデータなどを新しい環境に移行すること」を指して使われている言葉です。英語で「移動・移住・移転」を意味する「migration」が元となっています。
システムをゼロから構築し直すことなく、新しい環境で運用を開始できるのが特徴です。具体例としては、「開発言語を新しいものに移行する」「オンプレミス環境からクラウド環境へ移行する」といったケースが当てはまります。
マイグレーションと、「コンバージョン」「リプレース」「エンハンス」「アップデート」の違い
マイグレーションと同様に、システムに変化を持たせることを指す用語の代表的な例には、以下のようなものがあります。
- コンバージョン…データやファイルの形式を変換すること。混同されやすいが、マイグレーションのように「場所を移す」ものではない。
- リプレース…劣化したシステムやハードウェアなどを、新しいものに交換すること。
- エンハンス…システムの機能追加や性能向上を図ること。
- アップデート…不具合の修正を含めた、既存システムの更新や拡張のこと。
また、コンバージョンとリプレースは、マイグレーションの一部として行われることもあります。
マイグレーションを実施する主な目的
マイグレーションを行う主な目的には、以下のようなものがあります。
- システムの老朽化やサポート切れに対処する
- 蓄積してきたデータを保護する
- メンテナンスをしやすくする
- 性能向上、セキュリティ強化を図る
- 企業の成長につなげる
システムの老朽化やサポート切れを放置すれば、故障や不具合が起きやすくなり、運用が非効率化したり、保管していたデータが消失したりする恐れがあります。また、古いシステムやハードウェア・ソフトウェアに詳しいエンジニアが退職すると、メンテナンス作業も困難になります。こうしたリスクを避けるためには、システムやハードウェア・ソフトウェアの刷新が必要です。
また、新たなシステムを導入すれば多様化する顧客の要望に対応できるほか、エンジニアのスキルアップを図る機会になり得るなど、企業としての成長にもつながることから、成長戦略の一環として行われることもあります。
マイグレーションの5つの種類
マイグレーションは、移行する対象や移行方法によっていくつかの種類に分けられます。代表的なマイグレーションの分類として、以下の5つが挙げられます。
1.データマイグレーション
データマイグレーションとは、現在の環境から新しい環境へデータを移すことです。データ移行とも呼ばれます。システム全体の見直しやアップグレードに伴うデータの移動のほか、データ分析への活用のために行われるケースもあります。
データをそのまま移動しても移行先の環境に適合できないケースも多く、その場合は新しい環境に合わせてデータ形式を変換する処理が必要です。
2.サーバーマイグレーション
コンピューターを動かすために必要な「サーバー」を移行するのが、サーバーマイグレーションです。システムの老朽化やデータ容量不足への対処、セキュリティ強化などを目的として行われます。
サーバーマイグレーションでは、システム全体ではなくサーバーのみを移行します。オンプレミス環境のサーバーをクラウド環境へ移行する、といったケースもサーバーマイグレーションに該当します。
3.ライブマイグレーション(無停止マイグレーション)
仮想マシンのデータを丸ごと別の仮想マシンに移し替えることを、ライブマイグレーションといいます。稼働中のOSやアプリケーション、ネットワーク接続などを一切停止せずに移行を完了させ、新たな環境で継続して稼働させることが可能です。その特徴から、「無停止マイグレーション」とも呼ばれます。
仮想マシンを制御するソフトウェアの機能次第では、移行に対応できないケースもありますが、稼働を止めずにハードウェアのメンテナンスや入れ替え、構成の変更などを行えるのが利点です。
4.クイックマイグレーション
クイックマイグレーションは、ライブマイグレーションと同様に、仮想サーバーの移行などに使われます。稼働を完全停止することも、ライブマイグレーションのように稼働したままにすることもなく、一時停止(凍結)させて移行する方法です。移行後もソフトウェアの実行状態は引き継がれるため、OSの停止や再起動は不要で、スムーズに稼働を再開できます。
クイックマイグレーションを「コールドマイグレーション」、ライブマイグレーションを「ホットマイグレーション」と呼び分けるケースもあります。
5.レガシーマイグレーション
レガシーマイグレーションとは、古いシステムから新しいシステムへの移行を指す言葉です。ほかの種類のように具体的な手法を指すものではなく、概念的な印象が強い言葉ですが、DX化が求められる昨今においては重要性が高いといえます。
古いシステム(レガシーシステム)は、長年の使用によりつぎはぎだらけのシステムになっているケースもあり、さまざまな問題を引き起こす恐れがあります。そのため、新たな環境に乗り換えるレガシーマイグレーションが必要とされています。
マイグレーションの実施の流れ
マイグレーションを実施する際には、正しい手順を踏んで行うことが求められます。ここでは、オンプレミス環境からクラウド環境へ移行するケースを例に挙げて、マイグレーションを実施する流れをご紹介します。
企画する
企画段階ではまず、現行システムと移行先について正確に把握し、仕様を理解しなければなりません。特にオンプレミス環境からクラウド環境への移行を行う場合は、クラウド環境の特性を生かして恩恵を受けられるよう、理解を深めておくことが必要不可欠です。
クラウドとオンプレミスの違いや、それぞれのメリット・デメリットを正しく理解し、マイグレーションによって影響を受ける関係者とも議論を重ねた上で、目標を設定します。何をもって「目標の達成」とするのか、定義を明確化しておくことも大切です。
また現行システムについては、OSやデータ形式、既存のデータ量と想定し得る増加量、運用やメンテナンスの状況、トラブルが発生した際の状況などを調査しておきます。調査した情報から、何を移行するのかを選定し、そのためにどのような種類のマイグレーションを行うべきかを検討します。
戦略を立て、分析を行う
丁寧に移行の計画を立て、よりスムーズにマイグレーションを実施できるようにするためには、詳細な分析と情報の整理が必要です。
まずは現行システムの情報を整理します。既存のシステムや、各システムで利用しているインフラをリストアップし、インフラの入れ替えの有無、移行先に求められる条件などを分析します。
次に、クラウド環境に求められる要件を整理します。考慮すべき項目には、サービスレベルや可用性、性能、セキュリティ、災害対策、計画停止の頻度といった例が挙げられます。それぞれの項目を評価し、要件に合ったサービスを提供しているクラウドベンダーを選定します。
そのほか事前に整理しておくべき内容として、移行対象、移行方法とコスト、移行の順序を示すロードマップなどが挙げられます。
PoC(実証実験)を行う
詳細な設計や実際の移行作業に入る前に、実際のクラウドサービスを使ったPoCを行って、懸念点がないか確認しておきます。
PoCの主な目的は、移行を進める上で影響が出そうな部分や、後々トラブルになりそうな内容をあらかじめ確認しておくことで、安心して移行を進められるようにすることです。目的については関係者にも事前に共有しておきます。
次に、検証項目を洗い出して優先順位を整理します。必要に応じて、検証中に項目を追加する場合もあります。またPoC実施中は、定期的に検証内容を整理してレビューをします。
手順は前後するケースがありますが、クラウド移行以外のマイグレーションにおいても、「本番移行前にプロトタイプを用意する」「検証用の環境でリハーサルを行う」などの入念な事前準備をするケースがほとんどです。
設計する
ここまで準備を終えたら、PoCの結果なども踏まえた上で、いよいよ詳細な設計をして本番の移行作業に入っていきます。移行対象に複数のシステムが含まれる場合、設計や移行はシステムごとに実施します。その際、個々のシステムに関する設計をする前に、全体に影響する部分の設計を済ませておくのがポイントです。
また、実現したいサービスレベルを達成できるようなシステム構造にするために、アーキテクチャパターン(パターン化された問題解決策)を複数用意して、適切なものを選べるようにしておきます。
本番環境への移行は、まず新しいシステムを構築し、そこに旧システムのデータを移すという流れで行います。移行作業によって現行システムに影響を及ぼす可能性がある場合は、スケジュールや影響について事前に関係者へ連絡します。
運用・改善を行う
データの移行が完了したら、新しい環境での運用を開始します。運用開始後は、運用状況を定期的にチェックして、方針や設計内容に問題がないか確認します。求めるサービスレベルを満たせていない場合や、懸念点が見つかったときは、原因を調査します。
クラウド環境への移行では、課金額を定期的に確認することも重要です。クラウドサービスの利用料が高額だったり、変動が大きかったりするときは、システムの構造を最適化することで改善できるケースもあります。
また、移行の担当者と運用の担当者が異なる場合、引き継ぎを行う前に運用テストが実施されます。正常にインターネットに接続できるか、稼働中のエラーや不具合はないか、移行したデータや新機能に問題がないかを確認し、問題点があれば調査・改善に対応した上で引き継ぎに移ります。
マイグレーションを実施する際の注意点
マイグレーションは、企業にとって重要な基幹システムや業務システムを刷新するために行われることが多いものです。そのため、成功すれば効率的な運用や企業としての成長の促進が期待できる反面、トラブルが起きた際のリスクも大きくなりがちです。また、移行する対象や移行方法によって、作業の難易度も変わります。特にレガシーマイグレーションは、現行システムをそのまま新しい基盤に移しただけではトラブルが発生することがあるため、注意が必要です。
移行作業そのものを無事に終えるだけではなく、マイグレーションによって達成したい目標をきちんと実現するためには、十分な事前準備と移行方法の検討が欠かせません。移行対象となる現行システムについての調査や、自社の要件の明確化、適切な移行方法の選択などに丁寧に取り組むことが重要です。
また、データ移行中にデータが破損するリスクに備えて、事前にバックアップを取ることや、利用者や関係者、従業員への周知を徹底することも大切です。従業員が使用するシステムのマイグレーションなら、移行後のマニュアルや新しい使用ルールをあらかじめ用意しておくことで、スムーズに移行を完了できます。
まとめ
マイグレーションの概要や実施の目的、代表的な種類、実施の流れとポイントなどをご紹介しました。マイグレーションに該当する移行のパターンはさまざまで、移行方法の選択肢も1つではなく、それぞれに適したやり方を検討することが非常に重要です。
手間やコストがかかり、リスクも大きくなりやすいマイグレーションですが、長期的にシステムを稼働させるためには欠かせない作業であり、丁寧に取り組めばメリットも多く得られます。今回ご紹介した内容が、実施を検討する際の参考になれば幸いです。