大切なシステム、データを守るための施策ディザスタリカバリを紹介
プロアクシアコンサルティングでオープンソリューション事業部に所属している H.T です。
今回は障害対策におけるディザスタリカバリについて紹介いたします。
プロアクシアでの役割とこれまでの経験を教えてください
IT 関係の仕事に従事するようになった当時は、インフラの保守運用を中心に担当し各種 OS やネットワークなどの基礎知識を習得しました。
その後は、インフラ環境の設計及び構築を主担当とし、オンプレミス (Windows Server、UNIX、Linux) からクラウド (Azure、AWS) まで、幅広くインフラ構築に携わっています。
システム障害とは
システムを運用していると、様々な理由でシステム障害は発生します。
一般的に発生するシステム障害は、大きく分けて下記の三つに分類されます。
- ハードウェア障害
- ソフトウェア障害
- 人的ミスによる障害
ハードウェア障害は、システムを構成しているサーバやネットワークなどのハードウェアが、物理的または論理的に的に故障して発生する障害です。物理的な故障は経年劣化などのハードウェア単体での障害や、地震や火災などの災害による破損などが主な原因です。
ハードウェア単体の場合は、交換部品や交換機器を準備することで対応できますが、災害が原因の場合は即時にシステムを稼働させる環境を構築できないので、別の場所でシステムを再構築できるようにするためのディザスタリカバリを検討しておく必要があります。
ソフトウェア障害は、システムを構成する OS、ミドルウェア、アプリケーションなどの不具合によっておこる障害です。ソフトウェア自体のバグが原因で発生する場合もありますし、想定外の負荷によりパフォーマンス不足やリソースが枯渇して発生する場合などもあります。
ソフトウェア障害の場合、障害発生時に即時に原因を特定するのは難しいので、システム監視を行うことでサービスの稼働状況やリソースの状況を把握し、障害の予兆を検出できるようにします。
また、バグが原因の場合は、システムやアプリケーションのログやメモリダンプなどから原因を特定する必要があるため、開発元に原因調査をエスカレーションできる準備しておく必要がございます。
人的ミスによる障害は、運用の操作ミスや環境変更作業による影響などで障害が発生します。ミスは誰でも引き起こしてしまう可能性があります。
このため、運用手順や設定変更の手順を厳格に管理することで、発生リスクを低下させることができます。
障害対策で検討することについて
障害対策で検討すべきことは多岐にわたります。
まず方針を検討するうえで重要なこととして、対象システムの重要度や影響範囲などを明確して、許容できるダウンタイムを設定する必要があります。
ERP などの基幹システムや多くのユーザー向けにサービス提供しているシステムなどは、重要度も高く影響範囲も大きくなります。これらの重要度の高いシステムではあらゆる障害に関しての障害対策を実施するとともに、即時にシステムを復旧できるようにする必要があります。
逆に、特定の部署でのみ利用されていて即時性を求められていないシステムや、代替え手段が準備されているようなシステムでは、重要度は低くくある程度のダウンタイムは許容できます。
このようにして算定されたダウンタイムを元に、必要なシステム構成を検討します。
障害対策で検討する範囲をどこまで想定するかの検討も重要です。
システムを構成するサーバーやネットワーク機器だけを対象に検討するのか、大規模災害でデータセンタ全体が利用できなくなることまでを想定するのかで対応が異なってきます。
大規模災害までを想定する場合、障害時の対策環境を別の地域のデータセンタやクラウド上に準備するなど、マルチロケーションでの対策が必要になります。
障害復旧の際の縮退運用の可否についても検討が必要です。
大規模災害が発生した際に、復旧先の環境に平常時と同等の性能を求めるのか、ある程度機能やパフォーマンスを下げて稼働させる縮退運用を許容するのかによって、必要となってくるシステム構成が変わってきます。
最近はクラウドの利用が進んできていることもあり、費用を抑えた予備環境を確保することができますが、オンプレミス環境で準備する場合は、縮退運用の可否に合わせて必要なスペックの機器を事前に準備しておく必要があります。
上記のような要件を元に構成を検討し、構築や運用に必要となるコストを算定します。
マルチロケーションで多重化するなどの堅牢な構成を組む場合、どうしてもシステム規模も大きくなり、導入と運用のコストが増加します。このため、お客様の許容できるコスト内で、どこまで安全で運用しやすい構成を提案できるかが重要になってきます。
ディザスタリカバリについて
障害対策を行う際に、事業継続計画やディザスタリカバリなどの言葉をよく聞きます。
事業継続計画は災害が発生した際に、事業資産の損害を抑えつつ、中核となる事業の継続あるいは早期復旧を可能とするために、平常時から行うべき行動や緊急時の対応などを取り決めておく計画の事です。
ディザスタリカバリは事業継続計画における概念の一つで、日本語に直訳すると災害復旧になり、天災や外部からの攻撃による危機的な状況からデータを守るために行う技術です。
ディザスタリカバリを行うための一般的な方法はバックアップです。
バックアップには大きく分けて以下の4つがあります。
種類 | 内容 | コスト | 復旧 スピード |
---|---|---|---|
テープ バック アップ | テープに取得したバックアップデータを遠隔地に保管します。 昔は主流な方式で、現在でもこの方法でのバックアップデータ保管をとっている企業もまだあります。 | 低 | × |
リモート バック アップ | ネットワークを経由して、遠隔地に設置したサーバへバックアップデータを保管する方法です。 ネットワークを経由することで、テープに比べると復旧スピードは速くなります。 ただ、遠隔地のサーバ構築、ネットワーク関連もあり導入にはコストが高くなります。 | 中 | △ |
クラウド バック アップ | 昨今、クラウド化が進む中で一般化しつつある方法となります。 メリットは、リモートに比べ、サーバ管理が必要なくて、クラウドのサービスによれば低価格で利用できます。 大手有名なクラウドでは、セキュリティ面は強固となりますが、費用面ではコストが高くなります。 | 中 | △ |
レプリ ケーション | データのみならず遠隔地で完全なレプリカサーバを作成します。 復旧のスピードが重視だと最速で復旧可能となります。 コスト面は単純計算として本番サイト側と同等のレプリカサイト側を構築するので、2倍かかってしまうこともあります。 | 高 | ◎ |
バックアップデータの保管先については、大規模災害を想定する場合は遠隔地に保管する必要があります。テープバックアップでも、バックアップ取得後に遠隔地に移送して保管することで対応は可能ですが移送に時間がかかるため、最近はネットワーク経由でリモートやクラウド上にバックアップを保管する方法が主流となっています。
ディザスタリカバリを実現するには、取得したバックアップをリストアして復旧するための環境も必要になってきます。上表のレプリケーションのように、常時稼働する環境は必要がありませんが、障害時に稼働させて利用できるための環境は必要となってきます。
オンプレミス環境で構築する場合は事前に物理的なサーバを準備しておく必要がありますが、クラウド上の IaaS 環境を利用できるのであれば、仮想サーバーを事前に準備しておいて利用する時だけ起動することでコストをおさえて運用することも可能です。
ディザスタリカバリのソリューションについて
最近はクラウドサービスや仮想化技術の発展により、色々なディザスタリカバリ環境を構築するためのソリューションが提供されています。
ディザスタリカバリのソリューションについて、何点か紹介したいと思います。
ソリューション | 説明 |
---|---|
Azure Site Recovery | Azure Site Recovery は Microsoft の提供するサービスです。 オンプレミスのサーバーを Azure 上にレプリケーションすることで、障害発生時に素早く復旧することができるようにするためのディザスタリカバリサービスです。 |
Site Recovery Manager | Site Recovery Manager は災害時のシステム復旧を自動化し、迅速なサイト切り替えを実現するための VMware のソリューションです。 リカバリ手順をポリシー化することで自動的にリカバリサイトに切り替えることが可能です。 |
NetApp SnapMirror | NetApp SnapMirror は、NetApp ストレージ間でデータを高速にレプリケートするためのソリューションです。 |
システム環境を構築する際に心がけている事について
最近はクラウド環境が普及してきたこともあり、多くの新しいサービスも利用できるようになってきてます。このため、日々最新の情報を収集しながら、お客様の要望事項や運用方法に適した提案をできるよう心がけています。
今後取り組んでいきたい技術や案件について
初心を忘れず、自身の向上のため苦手なところにも積極的にチャレンジしていけるような気持ちを持ち続けるようにしています。技術面ではインフラ周りとしてネットワーク関連にも積極的に取り組んでいき、クラウドの技術者としても力をつけていきたいです。
今後エンジニアとして、どのように成長していきたいとお考えですか
技術面を探求するだけでなく、マネージメントスキルも向上させる必要があると思っています。
今後は自分だけで活躍するのではなく、後輩を育成しながらチームとして活躍できるようになっていきたいです。
今興味のあることについて
キャンプ、BBQ、美味しいお店探しなどに興味があります。
最近ウィスキーが飲めるようになったので、美味しいウィスキーを片手にキャンプを楽しんでみたいです。