こんにちは、大柳です。
元オンプレエンジニアが、AWSを使った感想、オンプレとの違いについて紹介していくシリーズ、2つめのテーマはAmazon RDS(Amazon Relational Database Service )です。
今回もRDSを使ってみた感想を紹介していきます。まずはRDS概要編です。
Amazon RDSの概要
Amazon RDSはマネージド型リレーショナルデータベースで、ハードウェアからOS、データベースソフトウェアまでAWSが面倒を見てくれます。
オンプレのようなインストール作業、ストレージやネットワークの構築作業は不要で、ほとんどクリックだけでDBを構築できます。
Black Belt Online Seminar AWS Amazon RDSより引用
上の図にあるように、AWSを利用したDB構築は、EC2上にRDBMSをインストールして構築する方法もあります。
RDSはマネージド型サービスであり一部機能が使えない制約もあるため、オンプレシステムのクラウド移行を検討する場合には、この方式も選択肢になります。
しかしながらRDSを利用することで、DBの構築、バックアップ、可用性、スケーリングまでAWSで提供されるので、開発者はDBインフラの準備期間を短縮し、アプリケーション開発にリソースを集中することができるというメリットを享受できます。
利用できるRDBMS、エディション・バージョン
RDSでは商用、OSSの一般的な6種類のRDBMSがサポートされています(2017年1月現在)。
・Amazon Aurora…Amazonが開発クラウドに特化したMySQL互換のRDBMSです。
・Maria DB…MySQLの流れをくむOSSのRDBMSです。Wikipedia英語版やGoogle内部でも利用されています。
・MySQL、Oracle、Microsoft SQL Server、PostgreSQL…有名どころのRDBMSも利用できます。
さらに各RDBMSでは主要なエディション、バージョンが選択できるので、例えば現行オンプレシステムを移行する場合、同じDB構成を保つことができ、アプリケーションや業務DB設計への影響を小さくできそうです。
例えばMySQL、Oracleだと、以下のエディション、バージョンが利用可能です。
・MySQL
5.7、5.6、5.5、5.1
・Oracle
Standard Edition One、Standard Edition Two
Standard Edition、Enterprise Edition ※ライセンスを自分で用意する必要あり(BYOL)
バージョン 12.1.0.2、12.1.0.1、11.2.0.4、11.2.0.3、11.2.0.2
逆にいうと、RDS未対応のRDBMS、エディション、バージョンはRDSとして構築することはできません。
未対応のものをAWSで使いたい場合は、ライセンスやインストール媒体を準備したうえで、EC2上にサーバを立てて、オンプレと同じようにインストールする必要があります。DBはマネージドにはなりませんが、EC2としてのマネージドサービスのメリットは享受することができます。
なお、ライセンス料はAWS利用料に含まれる場合と、ライセンスを自分で別途調達するケースがあります。
上記のOracleだとSE、EEではライセンスの個別調達が必要になります。
インスタンス構成
EC2と同様にインスタンスタイプごとにCPUとメモリの組み合わせは固定されており、利用者で変えることはできません。
スタンダード、メモリサイズ重視のメモリ最適化インスタンス、小規模向けのマイクロインスタンスが提供されます。
Black Belt Online Seminar AWS Amazon RDSより引用 http://www.slideshare.net/AmazonWebServicesJapan/black-belt-online-seminar-aws-amazon-rds
DBを運用していると、メモリサイズ不足によりサイズを拡張することがありますが、RDSの場合はCPUだけ、メモリだけといった拡張はできません。
CPUとメモリをセットにして、上位のインスタンスに切り替えることになります。
そのためメモリを拡張したいだけなのにコア数も増えて、その結果、ソフトウェアのライセンスも追加になるケースも出そうです。
このあたりはオンプレと比較すると融通が利かない部分です。
ディスクの構成
こちらもEC2と同じく、RDSでも汎用SSD、高IOPSを実現できるプロビジョンド IOPS (SSD)、HDDであるマグネティックボリュームが選べます。
高IOPSを求める場合はプロビジョンドIOPSの利用を検討します。
RAIDを組むなどしてIOPSを高くするアプローチは、マネージド型であるRDSでは使えません。
サポート
オンプレのOracleの場合は、SR(サービス・リクエスト)でOracle社へのサポート・問い合わせができますが、RDS上で稼働するOracleの場合ももちろんサポートは受けられます。
なお、サポート窓口はライセンスの調達方法により違いがあります。
ライセンス込みの場合:AWS Premium Support
自分でライセンスを調達する場合(BYOL):AWS Premium SupportとOracleの両方
オンプレの場合はOracle SRに直接、またはベンダ経由の問い合わせですが、RDSの場合はOracle、AWSとの連携体制を事前にきちんと確認した上で、サポートを受ける必要がありそうです。
まとめ
Oracle経験が長いのでRDS for Oracleの話が多くなってしまいましたが、オンプレと比べてRDSでは構築期間の短縮、アプリケーション開発への集中といったメリットがある一方で、制約もあることがわかりました。
引き続き、次回も元オンプレエンジニアシリーズ RDS編をお届けします。
次回はRDSの各種DB設定について取り上げます。
お楽しみに!