災害対策こそ、敷居を下げて
「災害対策の際にも、いかに敷居を下げた方法を用意できるかは重要だと考えています」と北川氏。ミラーリングを行う際にも、必ずしも本番サーバーと同じスペックのサーバー環境を用意する必要はないという。
さらに容易かつすぐに始める方法が、クラウドサービスであるSQL Azureの利用だ。これなら、遠隔地のサーバー設置場所の確保はもちろん、ハードウェアもOSも購入せずに、すぐに始められる。
もちろん現段階では、SQL Azureの制限もあり、すべてのデータベース機能をクラウド上に移行できるわけではないが。ただ、データ同期機能をサポートしているのでこれを用いて、バックアップサーバーをクラウド上で実現することはできる。さらに、SQL Azureに乗ってしまえば、バックアップは自動的にとられるので、バックアップを気にする必要もなくなる。
そもそも、本番環境のすべてをSQL Azureに移行できるのならば、そもそも災害対策は考えなくてもいいかもしれない。これこそが、クラウドを選ぶことの最大のメリットかもしれない。このようにSQL Azureの利用も、かなり安価にシステムの災害対策を実現できる方法の1つではある。
ベンダーとして、具体的な緊急時の対応までもサポートする
一方、ベンダーとしては、「さまざまなバックアップや災害対策方法を用意しているだけでなく、データの重要度、システムの位置づけに応じて、どのようなことを考慮しておくべきであり、災害時に実際にどういう手順をとるべきかを具体的にガイドできなければならない」と北川氏は言う。
「たとえば、計画停電があるからシステムを止めるというときには、最低でも停電の30分以上前からの対応が必要になります。普段手許で利用しているWindowsのクライアントPCとは違い、データベースのサーバーは止めたいときにすぐ止められるというものではないんですね」(北川)
データベースサーバーには、さまざまな周辺機器が接続されているのが普通だ。安全にデータベースを止めるには、それらの電源をどういう順番で切ればいいのか。とくにストレージの電源は、どのタイミングで切ればいいかは重要だ。
つまり、緊急時にデータベースが稼働しているサーバーをきちんと止める方法が明らかになっているということが、災害対策としては極めて重要なことのだ。
「今回の震災で、今後も発生する可能性のある停電に対しどうすればいいかのガイドを、急ぎ作ることになりました。とくにSQL Serverの利用が多いエントリー系のシステムをイメージした対策方法の提供を行っています。」(北川氏)
このガイドを作る際には、さまざまな議論があったとのこと。
緊急時には必ずしもサーバーのコンソールの前で作業はできないかもしれないので、コマンドラインでの操作をガイドすべきとの意見もあったとのこと。しかし、コマンドラインでの操作が使いこなせるのならば、いまさらガイドは必要ないレベルではということに。
それではGUIでのガイドをとも考えたが、すべての製品バージョンの組合せに対応したガイドを作るとなれば膨大な量になってしまい、緊急時に参照するには向かないだろうということに。
最終的には、Windows Serverを安全に正常終了する方法をガイドすべきという話に落ち着いた。これは、SQL ServerがWindows Serverと一体的に開発されているからこそともいえる。
データベースの災害対策は、まずは誰でもサーバーを安全に停止させる手順を明らかにすること、そしてバックアップポリシーを定めてそれに応じたバックアップを確実にとること。システム全体の災害対策には、適宜データベースミラーリング機能などを活用すること。そして、一連の災害対策をすぐに安価に始めたければ、適宜クラウドコンピューティングの利用を考慮することがポイントとなりそうだ。