クラウド 元SEママの情シスなりきりAWS奮闘記

【初心者】 AWSでDBを使うなら「Amazon RDS」一択?

【初心者】 AWSでDBを使うなら「Amazon RDS」一択?
2018年4月10日掲載

こんにちは。シイノキです。小学生は春休み、ということで、働く母はお弁当作りの毎日。早起きでフラフラしてますが、気合で乗り切ります。春休みは(夏休みに比べて)短いのが救いです。

さて、本コラムでもAWSの基礎知識を何度かお届けしてきましたが、まだまだ押さえるべきポイントはたくさん残っています。というわけで引き続き川上さんにいろいろ聞いていきたいと思います。今回のテーマはデータベース(DB)。サーバ、ストレージ、そしてDBとシステムの基本になる要素です。「AWS DB」で検索するとまず挙がってくるのは「Amazon RDS」。ハイ、ではここから聞きましょう。「川上さん、RDSってなんですか?」

AWSが運用までやってくれるデータベース「Amazon RDS」

「Amazon RDS」はフルスペルで書くと「Amazon Relational Database Service」、リレーショナルデータベース(RDB)のサービス、とそのままですね。じゃあRDBのなにをサービスしてくれるんでしょう?

「Amazon RDSは、DBを“サービスとして提供”しています。つまり、あらかじめセットアップされた状態で提供され、パッチ適用やバックアップもAWSが運用してくれます。ユーザはDBを使うだけでいいんですよ」
DBのインストール、セットアップってなかなか面倒そうな印象がありますが、そこは最初から用意されていて、それこそAWSマネジメントコンソールでポチポチとクリックするだけでRDB環境が使えるようになるということです。

「さらにDBのスケールアップやスケールアウトも簡単にできます。DBの拡張はオンプレミスだとかなり大変なので、このメリットも大きいですよね」
確かに拡張するためにハードウェアの要件定義から始まり、パフォーマンスチューニングして、メンテナンス日時を調整し、システムを停止して…というのは大変です。これを管理画面からポチポチっと終わらせられるのは魅力的。
もちろん料金は月額の従量課金制で、使った分だけ支払う形になります。初期費用もかかりませんし、もしもDBが不要になったら止めてしまえば、それ以降の費用もかかりません。これもまさにクラウドならではのポイントでしょう。

ちなみに、Amazon RDSはAmazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle、Microsoft SQL Serverの6種類に対応。OSS系から商用DBまでひと通り揃っている印象です。
「OracleやSQL Serverにはライセンス料込みのプランのほかに、購入済みのライセンスを持ち込むBYOL(Bring Your Own License)プランもあります。今あるライセンスが無駄になることもないですよ。実際に、OracleをRDSに移行した事例もあります。」

そしてここで気になるのは「Amazon Aurora」のDBの存在です。
「Amazon Auroraは、高い性能を持つAWS独自のDBで、MySQL・PostgreSQLとの完全互換、MySQLと比べて最大5倍、PostgreSQLと比べて最大3倍という高速さが特長です。ほかの商用DBと比べて圧倒的にリーズナブルですし、使うメリットは大きいと思います」
高速でしかも安い!とかなにかウラがあるのでは…とうっかり思いそうになりますが、これがきっとAWSのすごさなのでしょう。

「Amazon RDS」のデメリットは?

とはいえ、こうなるとRDSっていいことばっかりじゃん!使わない理由、なくない?と思いたくなりますが、実際デメリットってあるんでしょうか?
「RDSではDBが持つ機能でいくつか使えないものがあります。またOSやミドルウェアの管理をしなくていいのはメリットですが、逆にその領域は一切触れないということ。OSから含めて細かくチューニングしたいシステムはRDSだと難しいですね」

OSからチューニングしないといけない!というシステムはなかなかレアな気もしますが、RDSを使わない場合は、普通にEC2インスタンスを立てて、そこにDBをインストールすればOKです。こちらならば、OSからDBまでオンプレミスと同じ環境で使えます。ただし、当然ですがこの場合は、DBのパッチ適用やバックアップなどの運用はすべてユーザ自身でおこなうことになるので、そのあたりを含めてしっかり検討したいところです。

オンプレミスの場合、EC2を使う場合、RDSを使う場合の比較
運用面や拡張性などAmazon RDSのメリットはやっぱり大きいですし、基本的にはRDSを使うことをベースに、どうしてもRDSではできない!という場合だけEC2を検討する、そんなフローでよいのではないかと思われます。

RDSで可用性を担保する「マルチAZ」

運用負荷軽減、柔軟な拡張性、リーズナブルなコスト…ときたら最後に気になるのは「可用性」。RDSではどうなるのでしょうか? 「RDSでは、『シングルAZ配置』と『マルチAZ配置』の2種類が用意されていて、マルチAZ配置を選ぶと、自動で複数のアベイラビリティ・ゾーンに本番系・待機系のインスタンスが配置されます」

本番系(マスター)・待機系(スレーブ)間のデータ同期も自動でやってくれて、万が一トラブルがあったときにはマスターからスレーブに切り替えることで、システム停止を最小限に抑えられる、ということ。これで可用性の高い仕組みを実現できるワケですね。

高可用性とか、冗長化とか、もちろん必要なものですが、オンプレで実装するとなると相当なコストがかかります。違う場所のデータセンターを2カ所借りて、それぞれをセキュアなネットワークでつなぎ…とか、「理想なのは分かるけど、そこまでできない」というケースも多いのではないでしょうか。しかもDBのデータ同期(レプリケーション)のために専用ツールを用意しなきゃいけなかったりしますし、そのあたり全部ひっくるめて、サクっと実現できるAmazon RDSはステキすぎるでしょう。

マネージドクラウド with AWS

はじめてのAWSから 一歩進んだ活用までトータルサポート

まとめ

AWSをはじめとするIaaSのメリットとして、インフラの運用から解放される!というのが割と定番的に言われてきたワケですが、Amazon RDSを使えばインフラだけじゃなくてDBの運用管理までお任せできちゃいます。
パッチ適用とかバックアップとか拡張性とか可用性とか、そりゃやんなきゃいけないけど、やるとなると手間も時間もお金もかかる!というところを月額でまるっと任せられる魅力はかなり大きいはず。
もちろん何かしらどうにもならない理由があって、Amazon EC2上にDBをインストールして利用する構成もできますが、本当にどうにもならない限りはAmazon RDSを使えるようにシステム側を調整していくのが、今後を考えてもおすすめなのかなと思います。

というわけで、ソニーネットワークコミュニケーションズではもちろんDBのAWS移行に関する相談も承っております。川上さんをはじめとする、AWSに詳しいエンジニアや営業のみなさんがAWSの構成から移行方法までしっかり提案しますので、気になったらぜひご相談ください!と一式宣伝をしたところで、今回のコラムを終わりたいと思います。以上、シイノキでした!

パンフレットをダウンロード

マネージドクラウド with AWS

「マネージドクラウド with AWS」のダウンロードをご希望のお客様は、
以下必要事項をご入力ください。

関連コラム

このコラムに関連する製品

このコラムに関連する
導入事例

このコラムに関連する
セミナー・イベント

【初心者】 AWSでDBを使うなら「Amazon RDS」一択?

SHARE
シェアシェア ツイートツイート
【初心者】 AWSでDBを使うなら「Amazon RDS」一択?
SHARE
ツイート シェア