AWSome Day Online Conference(セッション2)

<この記事は 5分くらい で読むことができます。>

9月18日(水)にAWSome Day Online Conferenceを拝聴したので、備忘的にまとめておきたいと思います。
・AWSome Day Online Conference(セッション2:ストレージとデータベース)
・2019/09/18(水)15:40 – 16:10
https://aws.amazon.com/jp/blogs/news/awsomeday-online-conference-20190918/

  1. データの性質に合わせて、適切なデータストア(EBS,S3,RDSなど)を選択する必要がある。
  2. データの暗号化や可用性の確保やコストなどのバランスを意識して最適なアーキテクチャを検討する必要がある。

EBS

 「EBS」は、「Elastic Block Store」の略で、低レイテンシーのパフォーマンスを提供するブロックレベルのストレージデバイスです。アベイラビリティゾーン内で自動的にレプリケートされ、S3にスナップショットを保存します。
 ユースケースとしては、OSなどのブートボリューム/セカンダリボリューム、DBで使うことを想定しており、高いIOPSを提供するSSDまたはHDDのどちらかを選ぶことが出来ます。また、追加コスト無しで暗号化を行うことも可能で、一度選んだボリュームタイムから別のボリュームタイプへ変更することも可能です。EC2やDBを触るときは必ず登場するサービスなので基本的な部分は操作をしながら覚えていくことをおススメします。
 ちなみに、EBSはアタッチしたサーバ自身からしかアクセス出来ないという特徴があります。

S3

 「S3」は、オンラインストレージサービスをイメージすると概略が掴みやすいと思います。データはオブジェクトとして保存され、HTTP(S)経由でアクセスし操作(PUT/GET)します。また、データはリージョン内で冗長化され高い堅牢性(99.999999999%:イレブンナイン)が提供されているにも関わらず「月額:約3円/GB」という安価な利用料で使うことが出来ます。
 バケットという大きなバケツのようなものを作成しその中にデータを格納していきます。バケット名に基づいてHTTP(S)アクセス先のリンクが作成されるため、バケット名は世界中でユニークでなければいけません。作成直後は作成者のみ閲覧出来る個人的な領域として提供されますが、設定次第でバケットをインターネットに公開することも可能です。アカウントあたり最大100個のバケットを所有することが出来ます。
 ユースケースとしては、EBSのスナップショットなどのバックアップを保存し、EC2の仮想イメージ(AMI)も保存されます。他にはアプリケーションファイル(画像、動画)を置いたりなど、ホスティングサービス的な使い方も出来ます。

RDS

 AWSのマネージドデータベースサービスは複数あります。

  • RDS
  •  RDSは一般的なリレーショナルデータベース(Oracle,Postgre,MariaDB,MySQLなど)を思い浮かべて頂けてもらえばそれとほぼ同じです。データは行と列で持つ表(テーブル)で保持しデータにはSQLでアクセスし、トランザクション処理を実行可能なので、複数レコードの更新を複数のユーザーが同時に実行しても矛盾なくデータを更新出来ます。
     オンプレミスのデータベースサービスと異なる点は、RDSはマネージドなサービスであることから、お客様が本来注力するべきアプリケーション開発や最適化に時間を割くことが出来ます。具体的には、バックアップの仕組みはAWS側のサービスで提供されています。自動バックアップを取得する(最大35日間の保存期間)ことも可能で、もちろん手動でスナップショットを取得することも可能です。手動で取得した場合はユーザーによってそのバックアップデータが削除されるまで保存(S3に保存される)され続けます。しかも、数クリックでマルチAZデプロイメントで可用性を高めることが出来ます。マスターのDBとセカンダリのDB間のレプリケーションは非同期ではなく同期処理でレプリケーションされるため、データの完全性も担保されます。

  • DynamoDB(KVS,Document)
  •  NoSQLのデータベースサービスです。マネージドサービスで、高速なパフォーマンスとシームレスな拡張性と信頼性が提供されます。

  • RedShift(列指向)
  •  ペタバイト規模のマネージドなデータウェアハウス向けのサービスです。

  • ElastiCache(インメモリKVS)
  •  マネージドなインメモリキャッシュのサービスです。

     システムの中身が分からない状態で「最適なデータベースがどれか?」という議論は出来ないので、「データ形式」「データサイズ」「クエリの実行頻度」「データへのアクセス頻度」「データの保持期間」などシステムの要件や特性を十分に考慮して最適なサービスを選択する必要があります。



     「EBS」や「S3」や「RDS」は何となくイメージが付くものの、触ったことの無い「DynamoDB」「RedShift」「ElastiCache」は机上でしか勉強したことがないのでまずは触ってみたいと思います。「DynamoDB」「ElastiCache」あたりが触りやすそうなので、検証がてらサービスの使い方を身に付けたいなと思っています。あと、マネージドなサービスになるとAWSから提供されている運用機能などがあって環境を整えるのには便利というメリットがある反面、少なくともOSレイヤは触れなくなっているので移行する場合などは気を付けないといけないなぁっと思ってます。セッション3に続く

    コメントを残す

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

    CAPTCHA