Amazon RDSとは?ElastiCacheとは?

Amazon RDSとAWS ElastiCache

この記事ではAmazon Web Servicesが提供するAmazon RDSとAWS ElastiCacheの2つのサービスについて、詳しく説明していきます。

AWS RDSとは?

Amazon RDSとは、
AWS Relational Database Serviceの略称であり、AWSが提供するマネージド型のリレーショナルデータベースをクラウド上で利用できるリレーショナルデータベース構築サービスです。。データベースはデータをどのような方法で管理、利用するかによって分類され、リレーショナルデータベース以外のデータベースをNoSQLデータベースと呼ぶこともあります。リレーショナルデータベースは複数の表の形式でデータテーブルを管理するデータベースであり、複数のテーブルに分けて格納されたデータを関連・関係づけて管理、利用するための様々な機能を有しているため「リレーショナル」データベースと呼ばれます。

Amazon RDSで利用できるリレーショナルデータベース管理システムは
Amazon Aurora、MySQL、PostgreSQL、MariaDB、Oracle、Microsoft SQL Serverと複数種類用意されています。OracleとSQL Serverに関しては本来利用するためにはライセンスが必要になりますが、Amazon RDSにおいては従量課金制の時間単価の中にライセンス料も含まれているため、ライセンスの取得なしにこういったリレーショナルデータベース管理システムを使うことが出来ます。また、すでにこういったライセンスを取得している場合ライセンスを持ち込んでそのままAmazon RDSに移行して利用するBYOLプランも用意されているため取得している既存のライセンスなども無駄にはなりません。

Amazon RDSを利用するメリットの大きな1つとして、DBを利用する際に気軽さがあります。独自にDBを利用する場合はデータベース管理システムをインストールし、DBのセットアップを行い、管理・運用の体制を整えて…と様々な準備をする必要があります。組織にDBを導入する場合であれば想定されるDBの容量を見積もり、その容量を確保出来るパフォーマンスを備えたハードウェアの準備を行う必要があり、また、DBの拡張を行う際にもハードウェアの要件定義を行い、拡張を行うメンテナンス日を調整し…と様々な手間がかかります。Amazon RDSを用いれば、こういった手間から解放されます。AWSの管理画面から利用設定を行うだけですぐにリレーショナルデータベースの利用を始めることが可能であり、DBの拡張も管理画面から数回クリックするだけで簡単に終わらせることが可能です。自動バックアップなどの機能も用意されており、バックアップやパッチ適用などの日々のメンテナンスなどもAWSが管理して行ってくれるため、ユーザーはDBの利用に集中して他のサポートはすべてAWSに任せられます。料金に関しても、従量課金制であるためDBを使用した分だけ料金がかかってきますし、もしもDBが不要になった場合も管理画面から利用を止めてしまえばそれ以降の料金はかかりません。

Amazon RDSにはメリットしかないように感じられるかもしれませんが、デメリットも存在します。セットアップやDBの管理を自分で行わなくてもいいというのはメリットでもありますが逆に言うと、そういった部分は自分では制御できないということになります。その結果、OSコマンドが利用できずデータベースの機能に制限がかかってしまうこともあります。特に顕著なのはPostgreSQLであり、PostgreSQLの同期レプリケーション機能が使用出来なかったり、導入できる拡張機能が制限されていたり、といった制限があります。こういった制限は使い方によっては気にならないデメリットではありますが、Amazon RDSにおいてそういったデメリットがあるということは知っておくべき事項です。

AWS ElastiCacheとは?

まずAWS ElastiCacheですが「エラスティック・キャッシュ」ではなく「エラスティキャッシュ」であることに注意してください。細かい部分ですが、よく間違える方がいらっしゃる部分です。AWS ElastiCacheとはAWSが提供する分散型メモリキャッシュのサービスであり、インメモリデータストアまたはインメモリデータキャッシュの環境のセットアップや管理、拡張が簡単に行えるようにうなるクラウドサービスです。例えばインメモリデータストアを利用することで、従来であれば使用中のマシンのHDDやSSDに書き込みを行っていたデータをメモリ上のキャッシュとして記録を保持することが可能になり、データの読み書きを高速化することが出来ます。ただし、あくまでメモリ上に保存しているためノードが終了してしまった場合にはデータは失われます。ノードとはAWS EC2でいうところのEC2インスタンスに相当します。キャッシュエンジンにはRedisとmemcacheを選ぶことが出来ます。用途としては基本的にセッションの管理やアプリケーションのキャッシュとしての利用など、データストアのクッションとしての役割が期待できます。ElastiCacheを用いてDBの高速化を図る、といった活用例も出てきており、その運用方法は多岐にわたります。

終わりに

ここまでお読みいただきありがとうございました。いかがだったでしょうか。本記事ではAmazon RDSとAWS ElastiCacheについて紹介させていただきました。どちらも有効活用することで業務の効率化を図ることのできるツールではありあますが、不得手とする作業やデメリットも存在するため導入する際は慎重に検討する必要があります。本記事がAWSのどのサービスを業務に取り入れるか、検討する際の一助となりましたら幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です