インフラ観点でのシステム移行について

プロアクシアコンサルティングでオープンソリューション事業部に所属しています H.M です。
インフラのシステム導入を担当しています。
本ブログでは、インフラ観点でのシステム移行について紹介したいと思います。

これまでの経験とプロアクシアでの役割を教えてください

仕事に従事するようになった当時は、ホストコンピュータのオぺーレーターを担当していました。
その後は、お客様のシステム部門で ERP を中心とした社内システムのインフラ環境やクライアント端末の管理などを担当し、現在は Windows Server や VMWare vSphere などのシステム導入を担当しています。

システム移行について

システム移行には、サーバーの移行、ネットワークの移行、データセンタやクラウドへの移行等色々な作業がありますが、今回は私が主に担当しています仮想化環境へのサーバー移行を中心に、システム移行を行う際の検討事項や注意点などを記載したいと思います。

仮想環境への移行について

仮想化への移行には大きく分けて、物理サーバーからの移行と仮想環境からの移行の2種類があります。物理サーバーからの移行は主に、ハードウェアの老朽化やサポート切れ等の理由により、現行環境の継続利用が難しい場合に行うことが多いです。仮想化して対象システムをハードウェアから切り離すことで、ハードウェアによる制約を取り払うと共に、旧スペックのサーバー上で稼働していたシステムを最新スペックのサーバー上に集約させ低コストで稼働させることができます。

すでに仮想化されているサーバ―からの移行の場合は、仮想ホストサーバーの老朽化やリソース不足などに伴う再配置が主で、前記の物理サーバーからの移行のようなメリットは少ないですが、システムを安定的に稼働させるための運用面での効果はあります。

どちらの場合においても、比較的長期間利用されているシステムを移行することが多く、対象システムの環境では古いバージョンのソフトウェアを利用されていることが多いです。このため、仮想環境に移行する際には、今後も安定して利用するためにどういった方針で移行するのかお客様と十分に調整する必要があると考えています。

移行方針の検討について

単純な移行方法としては、既存環境をそのまま仮想環境に移行する方法です。OS やアプリケーションはできるだけ変更せずに既存のままを仮想イメージにして移行することで作業コストや作業時間を短縮できますが、ソフトウェア環境自体は変更がないのでサポート期限の延長などは行えません。

ソフトウェア環境を考慮して移行する場合は、仮想化するタイミングで OS やアプリケーションのバージョンアップも一緒に実施する必要があります。この場合は利用しているアプリケーションの前提環境を確認して、それぞれの前提環境を整える必要があるので、単純に仮想化するのと比べて多くの考慮が必要となります。
特にスクラッチで開発されている業務システムなどは、最新環境への対応などは考慮されていないため、バージョンアップを行うために改修や十分なテストが必要になってきます。

このように移行方針が異なれば作業内容や作業コストが大幅に変わってくるため、作業の見積もりを行う前に移行目的と作業範囲をお客様と十分に議論し、同意を得ておくことが重要になってきます。特に後者のバージョンアップを同時に行う場合は、本作業に入る前に評価する期間を設定し想定される影響範囲を十分に検証することが重要だと思います。

また、インフラ環境以外の他システムとの連携部分などについても、関係者全体で影響範囲を確認して認識を一致させておかないと、実際に移行をする際に誰が担当するのかで揉める要因となるので注意が必要です。

事前準備について

サーバーの移行作業では、切り替えを円滑に進めるための事前準備がとても重要になってきます。
特に重要なのは検証環境を利用した作業範囲の把握と切替手順の検証です。詳細な作業手順書やチェックリストを作成できるかで作業時間に大きく影響してきます。
大規模なシステムになればなるほど構成されているサーバー台数や連動しているシステム数も多くなるため、検証環境を確保することが難しくなります。もし、移行前にシステム全体の検証環境が準備できない場合は、システムを機能別に分割して個々のサーバー単位で検証を行なったり、一時利用可能なクラウドの仮想環境を活用するなどの方法も検討の価値があると思います。

ソフトウェア面の事前準備では、ソフトウェアライセンスの確認が必要です。ソフトウェアライセンスには利用環境が規定されている場合もあり、現状の環境では問題なく利用できても仮想環境やクラウド環境で利用するには対応が必要なソフトウェアのライセンスも存在しますので、提供元のソフトウェアベンダーに確認が必要です。特にクラウド上で利用する場合は、ライセンスだけでなく IaaS 環境でサポートされている OS のバージョンなどの制限もあるので合わせて確認が必要です。

ライセンスの確認事項としてもう一点重要なことがあります。それは、本番環境と検証環境など、一時的でも並行稼働させる場合は両方ともにライセンスが必要になってくるため、検証環境を構築する際には追加ライセンスの手配が必要になります。新しく永続ライセンスを購入すると高額になってきますが、例えば Oracle では Term ライセンスが準備されおり、移行時に利用する期間に合わせて永続ライセンスより安価で購入することができます。
このように、並行稼働の期間がある場合は各ソフトウェアのライセンスについても事前に確認して準備するように注意してください。

ハードウェア面での事前準備では、サーバーの設置先のラックの空き、電源の口数、消費電力、ケーブルの長さなども確認して管理資料の更新を行います。

運用面での事前準備では、システム構成が変更になる移行や刷新のタイミングで、バックアップや BCP の見直しをすることが多いです。仮想化環境の場合、実行しているシステムだけでなく、仮想化ソフトの仕様や制限もあるので、移行前の環境で利用しているバックアップ方式が継続利用できるか確認し、必要に応じて見直す必要が出てきます。

リハーサルについて

移行作業のリハーサルが実施できる場合、作成した作業手順書やチェックリストを利用して手順を確認するのと合わせて、実際の作業にかかる時間を計測して本番切替時のタイムスケジュールを作成します。

タイムスケジュールには移行対象システムの切替作業だけでなく、連携しているシステム側での切替作業も明記し、どのタイミングで作業を依頼するのか整理して関連部署と事前に調整する必要です。ネットワークの設定変更など本番環境でしか実施できない作業項目については、正確な時間が事前に把握できないため作業時間に余裕を持っておくことが重要です。

また、正常に作業が進んだ場合についてだけ記載するのではなく、切替作業で問題が発生した際のチェックポイントを設定し、安全に切り戻しができるようにスケジュールを設定することが必要です。スケジュールと合わせて切り戻しを実施する判断をする責任者や、関連する担当者への連絡ルートについても合わせて整理しておくことで、問題発生時に円滑に対応できるようになります。

切替作業について

本番の切替作業では、事前に作業できる項目を実施しておいて、”可能な限り当日作業は少なくしましょう”。設定変更などの細かな作業などは、事前にスクリプトを作成して自動実行できるよう準備しておくことで、作業を安全かつ効率的に実施できます。

切替作業後はチェックリストを利用して設定や動作の確認と、各ソフトウェアのログファイルの確認を行ないます。ログファイルにエラーが出力されている場合はエラー内容と影響を確認し、切替の継続可否を判断します。CPU やメモリなのパフォーマンスについても、切替段階での移行対象の稼働状況を確認するのと合わせて、ホスト OS を共有するシステムへの影響が無い事を確認します。

今回はインフラ観点での記載なので、業務システムなどの上位の動作検証などは別途実施してもらうことになるため、それぞれの作業分界点を事前に整理しておいて、円滑に作業引継ぎができるようにしておくことも重要です。

現在どのようなことに取り組んでいますか

クラウド案件が多くなってきていることもあり、クラウドの技術習得に力を入れています。Azure の認定資格を取得しましたので、現在は AWS の認定資格の取得に向けて勉強を進めています。
また自身の学習だけでなく、新入社員への技術研修の実施など、社内への技術連携についても積極的に進めています。

プロアクシアコンサルティングのつよみについて

自分が参画するプロジェクトについて、色々と希望を聞いてもらえるので、意欲をもって業務に従事できます。
現在は特定の顧客のシステム構築を中心に担当していますが、今後はプロアクシアコンサルティングが主体となったプロジェクトに携わり、提案からシステム導入まで担当していきたいと考えています。

今後エンジニアとしてどのように成長していきたいですか

取り組みでも記載していますが、今後はクラウドの分野を中心に担当できるようになりたいです。
現在は IaaS が中心ですが、SaaS や PaaS も含めクラウドサービス全体で対応できるエンジニアに成長していきたいです。