データベースをクラウドで利用する理由と課題 ~ 定説は正しいのか?その真偽とは? ~
2022.7.7
|
|---|
<執筆者> 徳原 茂之 Tokuhara Shigeyuki
ビジネスインフラ技術本部
データベース技術統括部 技術3部 部長
1996年に入社以来、Oracle、PostgreSQL、Verticaなどデータベース分野を中心に担当。
3年間の東京勤務を経て2016年に帰阪した以降は、西日本のお客様に対するデータベースの提案/構築支援の責任者に従事。
週2回はジムに通い、自身の筋肉との対話を欠かさない。
はじめに
企業におけるクラウド利用は増加していますが、データベースを含む「業務系システムのクラウド化」はあまり進んでいません。
「データベースは枯れた製品だから、クラウド化は難しい」と思われがちです。
しかし、データベースは、DX(デジタルトランスフォーメーション)の推進役として進化を続け、データ活用の基盤としての重要度も増しています。
その結果、これまであまり進んでいなかったクラウド化に踏み切る企業も増えてきています。
そこで、本コラムでは、データベースをクラウドで利用する理由や、クラウドサービスを選定するポイント、定説となっているよくある課題の真偽などを解説したいと思います。
ケーススタディから見る「データベースをクラウドで利用する理由」
クラウドの利用には一般的に以下のメリットがあると言われます。
・ハードウェアの保守切れ対応から解放される
・運用、保守をアウトソーシングできる
・過度なキャパシティプランニングが不要になる
ただ、「メリットがあると分かっていても、手をつけにくい」「いきなり業務系システムに適用するのはハードルが高い」と思う方も多いです。
そこで、弊社の実績を元に「メリットが出やすいケーススタディ」をご紹介いたします。
Case1. 開発・検証環境
アプリケーション開発環境や検証環境など、「必要な時にさっと作って不要になれば消す」というのは、クラウドの分かりやすい使い方です。
開発・検証環境であれば、
・必要なスペック/コストが見積もりやすい
・重要なデータを使わないので、適用のハードルが低い
・投資対効果が見えやすい
などの点から、社内メンバーも説得しやすいでしょう。
Case2. 災害対策・バックアップ
「災害対策にコストはかけられない」という考えをもつ方もいらっしゃいます。
しかし、年々増加する災害や監査対応などで、クラウドを利用して災害対策サイトを構築されるお客様は増えています。
・オンプレミス環境では常に本番環境と同等のコア数が必要だが、
クラウド環境では普段はデータ同期に必要な最小コアで運用し、災害発生時のみコア数を引き上げることができる
・バックアップの保存先としてクラウドが使いやすい
などの点から、災害対策サイトはクラウドに向いていると言えるでしょう。
ちなみに、オンプレミス環境で災害対策サイトを構築済みであれば、費用対効果を示しやすいです。
以下の試算例を参考にしてください。
災害対策サイトをクラウド化する試算例
|
|
※ Oracle Cloudのデータベースライセンスは、従量課金制(秒単位)で試算
Case3. 本番・サブシステム
オンプレミス上の本番システムでは、数年後の拡張を想定した様々なリソースのサイジングを行いますが、クラウドであればリソースを柔軟に変更できるため、厳密なサイジングは不要です。
特に、ビジネスの規模がどのように変化するか判断がつかないシステムにおいては、拡張や縮小が柔軟に行えるクラウドのメリットを享受できるでしょう。
先に挙げたような三つのケースでは、データベースをクラウドで利用すると、十分なメリットがあることが分かります。
クラウド化する理由が分かったところで、ここからは、どのクラウドサービスを選択すれば良いかを考えていきたいと思います。
どちらを選ぶ?「IaaS」「PaaS」
「IaaS上にデータベースを構築する」か「PaaSを利用する」かは、どのように判断すれば良いでしょうか?
一般的には、
責任分界点をもとに判断
します。
管理工数を減らすなら、PaaSを選択したいところです。
IaaSとPaaSの責任分界点
| 管理項目 | オンプレミス | IaaS | PaaS |
|---|---|---|---|
| H/W管理 | 顧客 | クラウド事業者 | クラウド事業者 |
| OS管理 | 顧客 | クラウド事業者 | クラウド事業者 |
| DB導入 | 顧客 | 顧客 | クラウド事業者 |
| パッチ適用 | 顧客 | 顧客 | クラウド事業者 or 顧客 |
| チューニング | 顧客 | 顧客 | 顧客(クラウドによっては自動も可) |
| バックアップ取得 | 顧客 | 顧客 | 顧客(クラウドによっては自動も可) |
| リストアリカバリ | 顧客 | 顧客 | 顧客(クラウドによっては自動も可) |
| 監視 | 顧客 | 顧客 | 顧客(クラウドによっては自動も可) |
しかし、実際には「守り」の要素のため、IaaSを選択されることも多いです。
IaaSを選択する理由
OSレイヤーに触れたい(エージェント導入、バッチ処理実施 など)
⇒ PaaSの場合、OSへのログインができないため不可能(一部例外あり)
古いバージョンのデータベースを利用したい
⇒ PaaSの場合、古いバージョンのデータベースが選択できないため不可能
そんな時は、以下のような「攻め」の理由を踏まえて、どちらにするか検討いただくと良いでしょう。
PaaSを選択する理由
柔軟で無駄のないリソース増減が可能
⇒ IaaSの場合、ピークに合わせた最大リソースを用意する必要がある
|
|
どちらを選ぶ?「Amazon Web Services」「Oracle Cloud Infrastructure」
前述した「攻め」を理由にPaaSを利用する場合、数あるサービスの中から、どれを選定すればいいでしょうか?
パブリッククラウドベンダー間の競争は激しさを増しており、それぞれのクラウドサービスでできることは、ほぼ差が無い状況です。
そのため、
「機能の有無」を比較するのではなく、「採用ポイント」を正しく押さえる
ことが重要です。
その点を踏まえて、Amazon Web Services(以下、AWS)と Oracle Cloud Infrastructure(以下、OCI)の採用ポイントを確認しましょう。
AWSにおけるデータベースサービスの採用ポイント
◆クラウドの デファクトスタンダード である
・今からクラウドを勉強する場合、まずAWSを勉強することで他のクラウドでも活かしやすく、
学習コストの観点で効率が良い
・公式ドキュメントやユーザー記事が非常に多く、何か困ったことがあっても、
調べれば情報が出てくる安心感がある
◆多くのデータベースサービス がある
・データベースサービスの種類が多く、
ユースケースやワークロード(処理特性)に合わせて最適なサービスを選択できる
AWSのデータベースサービス
| データベースのタイプ | ユースケース | AWSのサービス |
|---|---|---|
| リレーショナル | 従来のアプリケーション エンタープライズリソースプランニング(ERP) カスタマーリレーションシップマネジメント(CRM) eコマース |
Amazon Aurora Amazon RDS Amazon Redshift |
| キー値 | トラフィックの多いウェブアプリケーション eコマースシステム ゲームアプリケーション |
Amazon DynamoDB |
| インメモリ | キャッシュ セッション管理 ゲームのリーダーボード 地理空間アプリケーション |
Amazon ElastiCache Amazon MemoryDB for Redis |
| ドキュメント | コンテンツ管理 カタログ ユーザープロファイル |
Amazon DocumentDB (MongoDB 互換) |
| ワイドカラム | 高スケールの業界アプリケーション 設備のメンテナンス 多数の装置の管理 ルートの最適化 |
Amazon Keyspaces |
| グラフ | 不正検出 ソーシャルネットワーク レコメンデーションエンジン |
Amazon Neptune |
| 時系列 | モノのインターネット(IoT)アプリケーション DevOps 産業用テレメトリ |
Amazon Timestream |
| 台帳 | 記録システム サプライチェーン 銀行トランザクション |
Amazon 台帳データベースサービス (QLDB) |
出典:AWS クラウドのデータベース
https://aws.amazon.com/jp/products/databases/
(2022年7月7日時点の情報)
OCIにおけるデータベースサービスの採用ポイント
◆クラウド独自のOracle Databaseエディションがある
・Standard Editionでも
「Transparent Data Encryption(TDE暗号化)」が利用できる
・Enterprise Editionなら主要な
有償オプションが利用できる
PaaSサービスで提供されるOracle Databaseエディション
| エディション | 主な特徴 |
|---|---|
| Standard Edition | オンプレミスのOracle Database Standard Editionと同じ機能に加え、 「Transparent Data Encryption(TDE暗号化)」※ が利用可能 |
| Enterprise Edition | オンプレミスのOracle Database Enterprise Editionと同じ機能に加え、 以下のオプションが利用可能 <対象オプション> ・Oracle Data Masking and Subsetting Pack ・Oracle Diagnostics Pack ・Oracle Tuning Packs ・Oracle Real Application Testing |
| Enterprise Edition High Performance |
オンプレミスのOracle Database Enterprise Editionと同じ機能に加え、 以下を除くEnterprise Editionの主要オプションが利用可能 <除外オプション> ・Oracle Real Application Clusters(RAC) ・Database In-Memory ・Active DataGuard |
| Enterprise Edition Extreme Performance |
オンプレミスのOracle Database Enterprise Editionと同じ機能に加え、 Enterprise Editionの全てのオプションが利用可能 |
※ Transparent Data Encryption(TDE暗号化)
オンプレミスや他クラウドでTDE暗号化を利用するには、Enterprise Editionに加え、Advanced Securityオプションの購入が必要となります。
OCIであれば、Standard Editionを含むあらゆるエディションでTDE暗号化が利用できます。
◆Oracle Databaseを稼働させる場合、ライセンスに関する優遇措置がある
・他社クラウドの半額ほどの費用になる
・PaaSにライセンス持ち込み(BYOL)する場合は、
最大100日間の並行稼動が可能
(通常は、移行元と移行先のライセンスが2つ必要)
移行時の並行稼働
|
|
このように、どちらのクラウドサービスを選択するにしても、それぞれメリットがあります。
自社にはどちらが向いているのか、既存データベースの現状や、管理面などを踏まえて検討しましょう。
定説は正しいのか?「よく聞く課題とその真偽」
ここまで、クラウドサービスのメリットを多く紹介してきましたが、巷には様々な「クラウドサービスを否定するような定説」があります。
そこで、本当に正しい情報なのかどうか、その真偽をみていきたいと思います。
クラウドだと勝手にパッチが適用される!?
これは、半分本当で半分嘘です。
OCIのデータベースの一つであるOracle Exadata Database Service on Dedicated Infrastructure(以下、Oracle Exadata Database Service)を例に挙げてみましょう。
クラウド事業者の責任範囲である「H/W層」は、自動的にパッチが適用されます。ローリング方式で行われるため、基本的にはサービスの停止はありません。
逆に、顧客の責任範囲である「DB層」は、自動的にはパッチ適用されず、任意のタイミングで作業を行います。
パッチとは異なりますが、AWSの例をみると、こちら
の記事のように「サポート終了に伴い、Amazon RDS for Oracle が自動で上位バージョンにアップグレードされる」こともあります。
このように、サービスによって異なる部分がありますので、心配な方は、ぜひ個別にご相談ください。
クラウドはセキュリティが心配!?
これは、嘘と言ってもいいでしょう。
特にデータベースに関しては、機密データを守るために強固なセキュリティが実装されています。
・SSO/多要素認証
・アクセス制御
・データ伏字化/暗号化/マスキング
・通信暗号化
・不正SQL検知
・証跡管理
など、例を挙げるとキリがありません。
しかも、これらの多くが標準機能やサービスとして提供されているため、設定や実装に時間をかけずにセキュリティレベルを高めることができます。
クラウドはパフォーマンスが出ない!?
これは、以下の注意点を守り、工夫をすれば問題ないでしょう。
◆クラウドで事前に実測しておく
クラウド利用を検討する際は、事前の実測は必須です。
あらかじめ性能指標値(CPU利用率やIOPSなど)を算出しておき、机上で検討を進めることで、性能課題が発生した時の対策が打ちやすくなります。
◆メモリ不足を踏まえた機能を把握しておく
多くのクラウドサービスでは、CPU数によって自動的にメモリサイズが決まります。
そのため、
データベースライセンスに合わせてCPU数を選択すると、メモリが不足して性能が劣化する
ケースがあります。
対策としてストレージの性能を上げると、コストが高くなってしまいます。
そんな時は、メモリ不足を補うような機能を活用しましょう。
例えばOracle Exadata Database Serviceの場合は、ディスクへのアクセスを最小限にするために、複数のキャッシュ(Flash Cache)を活用できます。
ハードディスクと比較して、帯域幅は10倍広く、IOPSは100倍高いと言われていますので、性能向上が期待できます。
クラウドサービスは日々進化しています。
昔は「課題」として挙げられていても、最新技術で解決している場合があります。
噂や定説に惑わされず、正しい判断をしていきたいものです。
さいごに
本コラムでは「データベースをクラウドで稼働させる」ことを前提に話をしました。
しかし、現在オンプレミスを利用されているのであれば、クラウド化にはやはり手間がかかります。
今後の成長がなく維持することがメインのシステムであれば、オンプレミスのまま利用を継続するのが適切だと考えます。
もしクラウド化するにしても、会社全体を巻き込んで推進していくことが求められます。
「手間に勝るメリットが得られるか」「意思決定に結びつく技術要素を明確にできているか」に着目し、クラウド化の成功に繋げていただければと思います。
そして、もしクラウド化に関してお困りのことがあれば、AWSとOCIを取り扱い、データベースの専門集団であるアシストに、お気軽にご相談ください。
参考
本ページの内容やアシスト西日本について何かございましたら、お気軽にお問い合わせください。










