AWS:EC2とDBについて調べました

AWSでDBを使うにはEC2も必要なようです

AWSはクラウド技術を介してさまざまなサービスを提供してくれます。AWSのクラウド製品紹介ページを覗いただけでも数多くのサービスを提供していることがわかります。機械学習に便利なツールや、モバイルアプリ作成・ロボット作成向けの機能もあります。ですが、あまりにも高度なので今回はデータベースサーバーについて調べます。サーバーは一般的にデータ蓄積を行うもので、多くのデータを必要とする先述した機能と相性が良いです。
ネットワークやデジタル技術に詳しくなることで、自ずと高度な技術に触れる機会が訪れますのでまずはAWSの初歩的な使い方であるデータベースサーバーについて調べました。AWSにはRDBの機能を持つRDS(Amazon Relational Database Service)サービスがあります。当初RDSだけでデータベースサーバーが作れると思っていたのですが、AWS画面よりRDSにアクセスしたところ、いきなりデータベースの作成を促されました。どうやらAWSは複数の機能を組み合わせて使うのが一般的で、EC2というサーバー本体の機能を窓口にして他の機能を利用していくようです。
そのため今回はDBについて調べ、自ずと必須サービスになるEC2にも触れました。

DBについて

DBは大きく分けてRDBと非RDBがある

一般的なDBはRDB(Relational Database)のことで、テーブルごとに意味を持たせて連結させることができるデータベースを指します。テーブルは列と行を持つ表の形式を持っており、2次元データを表現することができます。テーブルごとに、関連性を持つ列を用意しておくことでデータを結合して表示することができます。この特徴により、データの格納時は物品IDや販売記録など、小さなブロックでデータを蓄積し、利用時はデータを連結して使用する手法が用いられます。一つの大きなデータの場合人間が管理できないリスクが生じます。逆に細かくしすぎると煩雑になり、これもまた人間が処理できなくなります。RDBは細かくしたデータ群に関連性を持たせているため、管理の容易さと利用しやすさを兼ね備えたデータ蓄積方法と言えます。
RDBには複数のDBMSがあり、有料だけでなく無料のものも存在しています。RDSで利用する場合も無料のDBMSの方がライセンス料がかからない分割安な傾向があります。
RDSでも様々なDBMSが用意されており、MySQLやPostgreSQLといったデータベースを学び始めた頃にまず触ることが多いDBからMicrosoft SQL Serverといった有料のものまでラインナップされています。データベースを作成する場合、DBMSの選択をスタート地点として作成することは少なく、たいていは中心となるシステムが必要とするDBMSを選択することになります。その点、RDSには主要となるDBMSが数多く用意されているためとても利用しやすいサービスと言えます。
またRDSにはAmazon Auroraが用意されており、その名の通りAWSと相性の良いデータベースです。システム上問題がない場合はAmazon Auroraを利用するのも一つの手段と言えます。
そして、DBには表形式を持たない非RDB形式があります。形式でデータを分類分けしにくい場合などに効果を発揮します。非RDBにはキーバリュー型など複数の型があります。AWSでは非RDB対応のサービスも提供しています。

RDSを用いない使い方もできる

RDSはRDBを利用するためのAWSから提供されているサービスですがEC2の中に直接作成することも可能です。EC2ではインスタンスが作成できるので、その中に直接システム構築をする手法です。RDSはマネージドサービスです。そのため、細かな調整が必要な場合に対応できないケースが考えられます。その場合などに用いられる可能性があります。

EC2について

EC2はサーバーのメイン機能を集めたものです。RDSもEC2を拡充させる形で連結させることが可能です。EC2はAMIを選択することでOSの種類などを決定し、インスタンスタイプなどさまざまな設定をすることでスペックや容量を決めることができます。構想さえできていれば、選択するだけで構築可能であるため大変手軽に使用できます。RDSを用いる際は、それとの相性も考えて設計することになります。

まとめ

環境を実際に構築する場合、さまざまな制約が足を引っ張る可能性があります。しがらみが何もなければ都合の良いサーバーをEC2で作成して、マネージドサービスであるRDSにDBを構築するのが手間・安全面において楽である可能性が高いです。しかしソフトウェアのバージョンなどが理由で特定条件下での構築を強いられた場合のために、EC2内に作成することができることを知識として持っていることが重要です。またRDBでは効率が良くない場合に備えて非RDBの特徴を捉えておく必要もあると言えます。

コメントを残す

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