COLUMN
Amazon RDSとは?~データベースの基礎からAmazon RDSのメリットまで徹底解説~
こんにちは。NTT東日本の石井です。 |
皆さん業務でお使いのデータベースサーバーの構築はどのようにされておりますでしょうか。
今現在オンプレミスでデータベースサーバーを構築している方や、今後新たにデータベースサーバーの構築をご検討中の方、是非最後までご覧いただけますと幸いです。
【無料】クラウドに関するご相談・お悩みはこちらからお気軽にご相談ください。
目次:
- 1.そもそもデータベースとは?
- 2.オンプレミスでデータベースサーバーを構築するデメリット
- 3.クラウドでデータベースサーバーを構築するメリット
- 4.AWSのAmazon RDSとは
- 4-1.Amazon RDSの機能
- 4-2.Amazon RDSのメリット
- 4-3.Amazon RDSの料金体系
- 4-4.Amazon RDSの使用方法
- 5.Amazon EC2でデータベースは構築できるのか?
- 5-1.Amazon EC2の概要
- 5-2.Amazon EC2でデータベースサーバーを構築する。
- 5-3.結局、Amazon RDSとAmazon EC2はどちらを使えばいいの?
- 6.データベースサーバーのクラウド化や新規構築はNTT東日本へお任せください
- まとめ
1.そもそもデータベースとは?
データベースとは、決まったデータ構造で整理されたデータの集まりのことで、大量のデータ読み込み・書き込みに優れています。
よく使われている例として、顧客の氏名・住所・電話番号などを整理するデータベースや、商品コード・商品名・在庫数を記録するデータベースなど、多種多様なデータをデータベースサーバーで管理しています。
これらのデータベースサーバーは単体では扱われることは少なく、下記のWeb3層構造のように他のサーバーやアプリケーション等と組み合わせて使われているのが一般的となっております。
2.オンプレミスでデータベースサーバーを構築するデメリット
データベースサーバーをオンプレミスで構築する場合に注意しなければならないポイントが大きく5点あります。
① データベースサーバーを収容するサーバー設置場所の選定・確保
- 物理的セキュリティ・防犯カメラ・空調・耐震・電力・通信等は問題なく確保できていますか。
② OSやデータベースソフトの脆弱性対応/アップデート対応
- OSセキュリティ・ゼロデイアタック・脆弱性対応について検討されていますか。
- セキュリティ面や脆弱性対応のためアップデートは計画的に実施する必要があります。
③ 将来の拡張性の確保
- 将来のビジネス拡大や技術の進歩に対応できるだけの拡張性が確保できていますか。
④ 可用性の確保(耐障害性)
- 一台のサーバーが停止してしまうとお客さまへサービス提供できなくなってしまうということはありませんか。
⑤ ハードウェアの調達・保守体制の確保
- ハードウェアの最適な構築や運用開始後の突然のサーバー故障・パフォーマンス低下等に対し、適切なハードウェアの調達や保守体制を確保できていますか。
こういった懸念事項を解消すべく、近年クラウド型が非常に注目されています。
3.クラウドでデータベースサーバーを構築するメリット
クラウドでデータベースサーバーを構築する際は、先ほどの確認点がこのように解決できます。
※本コラムではAWSについて解説します。他社クラウドについても大きく変化はございませんが、気になる方はお気軽にNTT東日本へお問い合わせください。
① データベースサーバーに収容するサーバー設置場所の確保
- これらはAWSが管理しており、日本の場合、東京リージョンと大阪リージョンの2つの地域に設置されたデータセンターで管理されていることが公開されています。
- AWSが用意するクラウド設備をマウス数クリックで起動/終了させることが可能です。
- AWSのデータセンターは、第三者認証(ISO/IEC 27001:2013)をはじめとしたさまざまな認証を獲得しておりAWSでサーバーを構築するだけで物理的なセキュリティが高い水準で担保されていることがいえます。
② OSやデータベースエンジンの脆弱性・アップデート対応
- AWSでは責任共有モデルに基づき、サービスによってはOSやデータベースエンジンの脆弱性・アップデート対応をAWSが実施します。
③ 将来の拡張性の確保
- データベースサーバーの容量追加等はハードウェアの調達などが不要のため容易に実現可能です。
④ 可用性の確保
- バックアップサーバーを用意する場合、別のアベイラビリティゾーンに配置することにより容易に可用性を確保することが可能です。アベイラビリティゾーンが異なればクラウドサーバーが設置されているデータセンターが離れているのでビル停電や通信障害対策が可能です。
⑤ ハードウェアの調達・保守体制の確保
- AWSでは、サーバー本体の保守責任はAWSが責任を持ちます。
- 万一ハードウェアが故障になった際はAWSが修復するほか、サーバーを停止・起動をすることにより他のクラウドサーバーに処理を移行させることが可能です。
AWSでサーバーを構築するとオンプレミスで購入するサーバー等の物品等を意識することなくサーバーの構築・運用が可能となっています。
また、AWSではサーバーの起動に対し予約など必要なく使用した時間により利用料金が算出されます。
それでは、AWSのデータベースサーバーを提供するサービスについてみていきましょう。
4.AWSのAmazon RDSとは
4-1.Amazon RDSの機能
Amazon RDSは、AWSが運用するリレーショナルデータベースサービスです。これはSQLサーバーとして代表なMySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Serverなどのさまざまなデータベースエンジンを使用することが可能です。
4-2.Amazon RDSのメリット
大きく5点のメリットがあります。
① 初期設定・メンテナンスの容易性
- AWSのマネジメントコンソールで起動のための初期設定を実施すると約1~2分程度でデータベースサーバーを利用できるようになります。
- AWSがOSやデータベースエンジンのソフトウェアを管理しており、OSやデータベースエンジンのアップデートはAWSにメンテナンスウィンドウというユーザーが指定した時間で実施してもらうことができます。
② 将来の拡張性確保の容易性
- 将来の拡張性の確保として、データが大きくなったら簡単にスケールアップ(容量追加)が可能です。
③ 可用性確保の容易性
- 可用性について、AWSマネジメントコンソール等に設定しておくだけでスタンバイデータベースを用意したり自動でフェイルオーバを実施したりすることが可能です。
④ データベースサーバーの管理の容易性
- データベースサーバーへの管理者ログインはできませんが、必要なことはAWSのマネジメントコンソール等で多彩な設定が実施可能です。(例:データベースのバックアップ等)
4-3.Amazon RDSの料金体系
Amazon RDSにかかわらず、AWSが提供するほとんどのサービスは使ったら使った分だけ料金が発生する「従量課金制」です。
Amazon RDSでは標準で下記の要素に基づき費用が算定されます。
※ここでは、運用に必要な最低限の費用について解説します。
① インスタンス使用料
データベースエンジンのライセンス及びインスタンスタイプの使用料金×データベースサーバー起動時間となっております。
② ストレージ利用料(データ保存料)
ストレージの種類(読み書きの速度に違いあり)×ストレージ量に基づいて課金されます。
詳細は、こちらの記事も併せてご覧ください。
4-4.Amazon RDSの使用方法
Amazon RDSは、これまでに記載したマネジメントコンソール含めさまざまな、起動・制御を実施することができます。
ここでは、Amazon RDSのデータベースサーバーを起動・制御する方法についてご紹介いたします。
① AWS マネジメントコンソール
AWSで扱うサービスはAWSマネジメントコンソールを使用することにより起動・制御・終了等を実施することができます。
AWS マネジメントコンソールはAWSのWebサイトで構築されているため、プログラミングのスキル等も必要なく作業を実施できることが特徴です。
② コマンドラインインターフェイス
AWSでは、マネジメントコンソール以外にもコマンドラインインターフェース(CLI)が用意されており、コマンドでAmazon RDSの起動・制御・終了等を実施することができます。
こちらのスクリーンショットは、AWS CloudShellというAWS マネジメントコンソールから利用できるものですが他にもAWS CLIを自身のパソコンにインストールすることにより自身の端末からでもコマンドラインインターフェイスを使用することができます。
③ Amazon RDS API(AWS SDK)
AWSのAPIを通して起動・制御・終了を実施することができ、主に開発者がプログラミング言語を用いて使用するものとなります。
さまざまなプログラミング言語(PythonやJava等)に対応していることも特徴の一つです。
5.Amazon EC2でデータベースは構築できるのか?
Amazon RDSを使用するとAWSがデータベースをマネジメントしてもらえるサービスであることはご理解いただけたと思いますが、自身で構築・運用管理(バックアップ・アップデート)を実施したいという場合もあるかと思います。
そういった際は、Amazon EC2を使用するといった方法もあります。
NTT東日本ではこれまでさまざまなお客さまからのデータベースのクラウド導入をサポートさせていただきましたが、一部のお客さまからAmazon EC2サービスを利用した導入をご依頼いただくことがございました。
ここではAmazon EC2を活用したデータベースの構築について説明します。
5-1.Amazon EC2の概要
Amazon EC2は、AWSが運用するコンピューティングプラットフォームです。
Linux/Windows/MacOS等の多種多様なOSを使用でき、Webサーバーやアプリケーションサーバーのホスト含めサーバー端末をかなり自由に使えることが特徴です。コンピュータの性能もインスタンスタイプというものでラインナップされており適切なインスタンスタイプを選択することで、経済的かつ効率のいいサーバー構築・運用が可能になります。
5-2.Amazon EC2でデータベースサーバーを構築する。
このAmazon EC2上でもデータベースの構築する場合とAmazon RDSでデータベースを構築する場合の違いが大きく4点あります。
① 初回のOS設定やデータベースエンジンのインストール/アップデートはすべてユーザー自身で対応が必要です。
② 可用性対策でのマルチAZ化については、ユーザー自身で設定する必要がありますが可能です。(エンタープライズエディションのみ)
③ データベースサーバーへの管理者ログインやさまざまな制御が実施可能です。
※細かな制御が必要な場合、EC2インスタンスでデータベースを運営することも選択肢の一つになると思います。
④ 費用については、ユーザーが管理する項目が多いためAmazon RDSと比較して安価となっております。
ちょっと一息:Amazon EC2サーバー1台でWebサーバー、APサーバー、データベースサーバーを運用してもよい?
ここまで、読み進めていただきました皆さまならこのような質問も出てくるかもしれませんが、結論からお伝えすると「不可能ではありませんがお勧めできません」理由として3点あります。
① 1台のサーバーが障害により停止した場合、すべてのサービスが停止することになります。
② 1台のサーバーに負荷が集中することになるので、パフォーマンスが低下する可能性があります。
③ 1台のサーバーによりサービスが運用されることによりデータベースサーバーが外部からアクセスできるようになり情報漏えいの可能性が高まります。(本来データベースサーバーは、プライベートサブネットという外部に露出させずAPサーバーからの問い合わせにのみ応答するのがAWSのベストプラクティスです。)
このような危険性があることから最低でも、Web(AP)サーバーとデータベースサーバーは別のインスタンスを使用するようにしましょう。障害対策・セキュリティの確保として各サーバー2台ずつ別のアベイラビリティゾーンを使用すると良いでしょう。
5-3. 結局、Amazon RDSとAmazon EC2はどちらを使えばいいの?
Amazon RDSとAmazon EC2でSQLサーバーを構築する場合の比較をまとめてみました。
ポイント | Amazon RDS | Amazon EC2 |
---|---|---|
データベースエンジンやOSのアップデート対応 | AWSが実施 | ユーザーが実施 |
将来の拡張性の確保(容量の追加) | マウス数クリックで可能/再起動が発生 (オートスケーリングオプション利用可能) |
マウス数クリックで可能/再起動は不要 |
可用性について | マウス数クリックでAWSが実施 | ユーザーが実施(エンタープライズのみ) |
データベースへの管理者ログイン | 不可 | 可能 |
費用 | EC2と比較し高価 | RDSと比較し安価 |
これを見るとさまざまなケースにおいてAmazon RDSで対応でき、メンテナンスやバックアップをAWSが実施してくれますが、一部の細かい制御(データベースエンジンのアップデートやOSレベルの管理やウィルス対策)を自身で実施したい場合はAmazon EC2で構築することも選択肢に入ることになります。
要件を確認し適切なサービス選択を実施することが肝要です。
6.データベースサーバーのクラウド化や新規構築はNTT東日本へお任せください
① NTT東日本では、「ゼロからのクラウド化」をワンストップで支援いたします。
② NTT東日本では、さまざまなお客さまのクラウド導入・運用の経験から、導入・運用を実施しており運用に関するトラブルは24時間365日サポートするプランの用意がございます。
③ NTT東日本では、AWSアドバンストティアサービスパートナーの認定やAWSクラウドの導入・運用のプロフェッショナルが多数在籍しており日々さまざまな業種のお客さまからのご連絡をお待ちしております。
まとめ
① オンプレミスでデータベースサーバーを構築する際は多くの時間や労力が必要となる。
② Amazon RDSを活用すると、Amazonにデータベースサーバーを管理してもらえるため、初期設定やアップデートなどのデータベースサーバー管理する時間の節約になる。
③ クラウド移行・導入は是非NTT東日本へお任せください。
【無料】クラウドに関するご相談・お悩みはこちらからお気軽にご相談ください。
NTT東日本では他にもクラウドに関するお役立ちコンテンツを多数ご用意しておりますので、そちらもぜひご覧ください。
Amazon Web Services(AWS)は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
RECOMMEND
その他のコラム
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。