AWSome Day モジュール2:ストレージとデータベース

AWSome Day Online Conferenceのモジュール毎に記事をまとめていきます。
AWSome Day Online Conferenceの全体の概要をまとめた記事はこちらです。

関連記事

AWSome Day Online Conferenceに参加したので、せっかくなのでその内容についてまとめていきたいと思います。 AWSome Day Online Conferenceとは AWSome Day Onlin[…]

AWS logo

今回はモジュール2についてまとめていきます。

モジュール2の概要

モジュール2はストレージとデータベースがテーマとなっています。
ストレージやデータベースを扱うAWSのいくつかのサービスを、ユースケース毎に紹介されます。
最初は共有ストレージサービスであるAmazon Simple Storage Service(Amazon S3)、より長期で保管するのに向いているAmazon S3 Glacierが紹介されます。
次にローカルストレージサービスであるAmazon Elastic Block Store (Amazon EBS)についての概要が説明されます。
最後にデータベースサービスが紹介されます。その中でリレーショナルとしてAmazon Relational Database Service(Amazon RDS)とAmazon Aurora、非リレーショナルのキーバリューデータベースサービスとしてAmazon DynamoDBについて具体的に触れられます。

内容の詳細

ストレージとデータベース

システムを構築する上で欠かせない概念であるストレージとデータベースですが、そもそもどのようなものなのか簡単に説明したいと思います。

ストレージ

ストレージはデータの置き場所のことです。
ストレージはサーバー内からしかアクセス不可能なローカルストレージと複数のサーバーからアクセスすることができる共有ストレージがあります。
機密性が高いデータなどはローカルストレージに格納し、複数のサーバーで利用するデータなどは共有ストレージに格納するなど、データの特性によって使い分けます。

データベース

データベースはデータを管理し検索や更新を行うことのできるソフトウェアのことです。
複数のサーバーからアクセスし編集を行い、整合性の取れたデータを扱うのに向いておりデータ分析などに利用できます。
現在はリレーショナルデータベースと呼ばれる方式が一般的に利用されており、リレーショナル以外のデータベースを非リレーショナルデータベースといいます。
リレーショナルデータベースとは、表形式のテーブルを複数持ち関連付けることで複雑なデータを扱うことができるデータベースのことです。

AWSのストレージサービス

AWSの代表的な3つのストレージサービスを紹介します。
AWSには下記以外にもいくつかストレージサービスがあります。
用途に合わせて適切なストレージサービスを選ぶことが重要です。

Amazon Simple Storage Service(Amazon S3)

Amazon Simple Storage Service(Amazon S3)は共有ストレージサービスです。
高い耐久性と可用性を持つオブジェクトストレージであり、様々なものを格納することができるストレージサービスです。
ウェブ上のどこからでも容量無制限でデータを格納することができます。
データへのアクセスは外部からのアクセスを禁止するか許可するかを設定で選ぶことができます。
アクセスを禁止した場合でも一時的にアクセスを許可するURLを発行することができます。
また、他のサービスのイベントトリガーとなることができ、AWS Lambdaの関数呼び出しなどを行うことができます。
料金は容量課金制となっており、格納したデータの量に応じて請求が発生します。

Amazon S3 Glacier

Amazon S3 GlacierはAmazon S3に比べてより長期でデータを保持するのに向いているストレージサービスです。
Amazon S3よりもデータ保持のコストが低く、データの出し入れにはコストがかかるようになっています。
アーカイブなどのデータを扱うときに向いているサービスです。

Amazon Elastic Block Store (Amazon EBS)

Amazon Elastic Block Store (Amazon EBS)はAmazon EC2と一緒に利用するサーバーインスタンスのブロックストレージサービスです。
Amazon EC2で仮想サーバーを作成する際、ストレージについて設定しますがそこで扱うのがAmazon EBSです。
ストレージの容量やエンジンなどを選ぶことができ、Amazon S3上にバックアップを取ることや暗号化など様々な機能が用意されています。

AWSのデータベースサービス

AWSにはいくつものデータベースサービスが用意されています。
リレーショナルも非リレーショナルもあり様々な用途に合わせてデータベースを構築することができます。
以下では3つのサービスを紹介します。

Amazon Relational Database Service(Amazon RDS)

Amazon Relational Database Service(Amazon RDS)はリレーショナルデータベースのマネージドサービスです。
マネージドサービスとは、AWSが環境構築や保守などの様々な管理を行ってくれるサービスのことです。
Amazon RDSはいくつかの設定をするだけでデータベースのセットアップや運用、スケーリングなどを行ってくれます。
データベースエンジンも一般的に使われるものが広く用意されており、システムに合わせて選択できます。
指定したAZ上にデータベースを構築し、設定を行えば複数のAZ上での冗長化も行うことができます。
また、複数のデータベースを構築した際に自動で同期やサーバーダウンした際の切り替えを行うように設定することもできます。

Amazon Aurora

Amazon AuroraはAWSクラウドに最適化されたMySQLとPostgreSQLと互換性があるリレーショナルデータベースです。
高い耐久性・可用性と拡張性、高パフォーマンスなど様々な特徴のあるデータベースとなります。
利用方法によってはコストを下げることができ、利用が増えているサービスになります。

Amazon DynamoDB

Amazon DynamoDBは非リレーショナルデータベースサービスで、キーバリュー型のデータベースを提供します。
リレーショナルデータベースに比べて高速にデータを取得することができ、読み書きを頻繁に行う単純なデータを扱うのに向いています。
Amazon DynamoDBではサーバーの管理はAWSが行ってくれるためユーザーが行う必要がなく、規模に関わらず柔軟で高速に動作するデータベースとなっています。

まとめ

  1. AWSには様々なストレージサービスが用意されており、用途に合わせて利用することができる。
  2. Amazon S3は容量無制限の共有ストレージサービスである。
  3. Amazon S3 Glacierはデータの長期保存に向いているストレージサービスである。
  4. Amazon EBSはAmazon EC2のサーバーで利用する永続的なブロックストレージサービスである。
  5. Amazon RDSはリレーショナルデータベースのマネージドサービスである。
  6. Amazon Auroraはクラウドに最適化されたリレーショナルデータベースである。
  7. Amazon DynamoDBはキーバリュー型の日リレーショナルデータベースである。
  8. 上記以外にもたくさんのストレージ・データベースのサービスがある。

ストレージやデータベースで複雑なデータを整合性を保ったまま扱うことは現代のシステムに必要不可欠です。
AWSには様々なストレージ・データベースのサービスがあり、システムに合った構築をすることで従来よりも遥かに容易にデータの管理が行えるようになります。
データの用途やサービスの特徴を適切に捉えてサービスの選択とできるようにしていきたいですね。
ここまで読んでいただきありがとうございました。
それでは、また。