クラウドを活用することで安価に容易に可用性を高めることが可能に
「MAAは、自分では制御できないような停止を前提に、システムを構築する考え方です。これは実はクラウドにぴったりの考え方でもあります」と佐々木氏。MAAはOracleが提供しているReal Application Clusters(RAC)やData Guard、GoldenGateなどの各種可用性確保の仕組みを組み合わせて実現する。これらの可用性の仕組みは、Oracle Database Cloud Serviceでももちろん利用可能だ。
またバックアップなどのデータベースに関連する、Oracle Database Backup ServiceやGoldenGate Cloud ServiceなどのPaaSも今では充実している。「Oracleでは、オンプレミスとクラウドで同じアーキテクチャとなっており、同じ製品を同じ知識、ノウハウで使えます」(佐々木氏)。
クラウドの環境でMAAを適用するには、2つのアプローチがある。1つが、オンプレミスのデータベースの可用性を確保するためにクラウドを使うハイブリッド式のアプローチ。もう1つは、新規にクラウドの上で高可用性のあるデータベースシステムを構築するアプローチだ。
ハイブリッドでは、災害対策目的などでクラウドの環境を利用することが多い。その際には松竹梅の3つのレベル分けができる。もっとも安価に実現できる梅構成では、オフサイトのストレージにバックアップを置く。その際にはRMAN(Recovery Manager)を用いクラウドにバックアップを置くのだ。バックアップ取得の原則は、3つのコピーを2つの異なるメディアにバックアップし、1つはオフサイトに置くことだ。これまではテープに記録し、そのテープはプライマリサイト以外の建屋に輸送して保管してきた。「テープで行っていたオフサイトへの保管をクラウドにするのが梅構成です」と佐々木氏。
たとえばオンプレミスにシングルインスタンスのデータベースがあり、そのバックアップをローカルサイトに取得しているとする。このローカルのバックアップを暗号化し、Oracle CloudのDatabase Backup Serviceに送るのだ。暗号化して送るが、オンプレミスのデータベースに暗号化オプションは必要ない。これによりテープを搬送する手間とコストがなくなる。
オンプレミスで障害が発生した際には、クラウドにあるバックアップからシステムを復旧できる。クラウドのデータベースサービスと連携して簡単な操作で災害対策サイトを新規に構築することも可能だ。バックアップのデータを使いクラウド上に開発やテスト環境を作ることもできる。
クラウド上にあるバックアップからリストアするので、バックアップのサイズが大きければ時間はかかることに注意する必要がある。とはいえ操作はシンプルで、データベースを構築する際に既存のバックアップを使うかどうかの項目で「Yes」を選び、クラウド上のバックアップを指定すればリストアできる。
竹構成は、データベースのレプリケーション機能を使いクラウド上にスタンバイのデータベースシステムを作るものになる。これにはOracle Data Guardを使う。オンプレミスのシングルインスタンスのデータベースを、Data Guardを使いクラウド側にレプリケーションで複製するのだ。
オンプレミスのデータベースの変更履歴をリアルタイムに複製するので、万が一オンプレミスで大規模な障害が発生してもすぐにクラウド上でバックアップサイトを動かせる。クラウド上の構成は、オンプレミスよりも小規模で良い。災害時が発生してバックアップサイトをいざ動かす際に、必要な規模に拡張すれば良いのだ。小さいサイズで始められるので、コストを低く抑えられる。注意点は、パッチレベルをオンプレミスとクラウドで合わせることだ。
松構成は、竹のクラウド上のスタンバイ構成を有効利用するものだ。これにはActive Data Guardを使い、スタンバイ側を検索用途などで利用する。処理をクラウドにオフロードできるので、オンプレミスのシステムの負荷軽減が図れる。簡単にオフロードするために、Oracle Database 12cのバージョン12.2からはGlobal Data Serviceが提供されている。Global Data Service層にいるリスナーが接続リクエストを受けると、データベースの負荷状況やネットワーク遅延などを考慮しクエリーを投げる先を判断し負荷分散するのだ。ネットワーク遅延が発生している場合などには、クラウドへ投げるクエリーは自動的に少なくなる。残念ながらGlobal Data ServiceはPaaSでは提供されていないので、自身でインストールする必要がある。
アプリケーションも含め高可用性を考える際には、梅構成ではアプリケーションのバックアップをデータベースと同様にクラウドに送る。これには、Storage Cloud Serviceのオブジェクトストレージに定期的にコピーするようにすれば良い。竹や松の構成の場合も、基本的な考え方は同じだ。データベースがクラウドにあるので、アプリケーションをデータベースに載せてしまうことができる。データベース・ファイルシステムにアプリケーションのデータを持つことで、クラウドのデータベース・ファイルシステムに自動でバックアップできる。