SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【AWS】ソリューションアーキテクトアソシエイト対策⑦(RDS、DynamoDB)

使ったことのある機能はある程度理解しやすい。

Amazon Relational Database Service (Amazon RDS)

概要と関連記事

RDSはリレーショナルデータベースサーバを構築・運用するためのサービスとなります。
一般的にDBサーバの運用は、バックアップやリストアなどのデータ管理やパフォーマンスチューニング、セキュリティなどに技術やスキルが必要になりますが、RDSを使えばこの辺の管理が容易になる。

サポートしているDBエンジンは以下の通り。
・Amazon Aurora
・PostgreSQL
・MySQL
・MariaDB
・Oracle データベース
・SQL Server

AuroraはAWS独自のエンジンで他に比べてサービスの恩恵が大きい。
試験的にはAuroraとその他のエンジンというくくりで違いを抑えておけばいいだろう。

■関連記事

www.wantanblog.com

www.wantanblog.com

その他、VPCに関する記事などでも登場している。

RDSのアーキテクチャと基本機能

■Multi-AZ構成

簡単に言うと複数のアベイラビリティゾーン(AZ)で構成しているということ。

VPC内に構築する場合にはサブネットごとに配置するこの構成が必須となる。

プライマリスタンバイから構成され、通常時は常にデータ複製が行われる。
プライマリDBに障害が発生した際には、速やかにスタンバイDBのフェールオーバーが行われ完了するとDBが再開される
これにより、RDSとしての可用性は向上する。

■リードレプリカ

リードレプリカは非同期のレプリケーションが行われる読み込み専用のDBです。

書き込み処理はプライマリDBで行い、読み込み処理はリードレプリカで行うという構成をとることによって、パフォーマンスの向上が見込める。

f:id:wantanBlog:20191209230720p:plain

・複数のリードレプリカにデータを複製することも可能
・リードレプリカからDBインスタンスに昇格させることもできる
・リードレプリカは最大5台まで(Auroraは15台)


■ストレージタイプの選択

Magnetic 汎用SSD プロビジョンドIOPS
ストレージ種類 HDD SSD SSD
性能 100~数百IOPS 100~10000IOPS 1000~30000IOPS

IOPSはIOの単位。
プロビジョンドIOPSはI/O重視のワークロードでの使用が推奨される。
Magneticは旧型なので商用では使われなさそう。

ストレージにはEBSボリュームが使用され、自動ストライピングが行われる。
ストレージの追加自体はRDSの起動中でも行えるが、減量させる場合には停止する必要がある。

Amazon Aurora

Amazon Aurora(以下、Aurora)はAWSが独自に展開しているDBエンジンです。
基本的に他のDBエンジンと比較して、サービスや許容が手厚い。


■Auroraとその他DBエンジンの比較

Aurora その他
Multi-AZ 3つのAZに2つずつのレプリケーションを作成 2つのAZを使用
ストレージサイズ 64TiB 32TiB
リードレプリカ 最大15台 最大5台
フェールオーバー 自動 手動


■フェールオーバー

プライマリDBに障害が発生した場合、Auroraのリードレプリカが使用な可能な場合には自動でフェールオーバーが行われ、リードレプリカがDBインスタンスに昇格する

アプリケーションからAuroraに接続を行っている場合、アクセス先はクラスターエンドポイントになっているためフェールオーバーが起きても向き先を変更する必要がない。

f:id:wantanBlog:20191209231706p:plain

Amazon DynamoDB

概要と関連記事

DynamoDBはkey-value およびドキュメントデータベースでありマルチリージョンのNoSQLに分類される。
RDSと DynamoDBの用途の違いは一般的なRDBとNoSQLの違いで捉えれば概ねOKと考えられる。

大量の連続したデータの蓄積を主要な用途とする場合に用いられる。
AWSの他サービスとの連携も重要。

・関連記事
本ブログではLamdaとの連携で使用した。

www.wantanblog.com

www.wantanblog.com

結果整合性モデル

DynamoDBは一つのリージョン内に3つのAZ間に書き込みを行うため、読み込みの際には結果整合性モデルがとられる。
書き込みを行う際には2つのAZへの書き込みが確認できたら完了とみなし、残り一つにはレプリケーションにより後から書き込みが保証される。そのため、書き込みを行った直後には最新のデータが読み込まれる保証がない。

Amazon ElastiCache

Amazon ElastiCache では、完全マネージド型の Redis および Memcached をご利用いただけます。普及しているオープンソース互換のインメモリデータストアを、シームレスにデプロイ、運用、スケールできます。高スループットかつ低レイテンシーなインメモリデータストアからデータを取得して、大量のデータを扱うアプリケーションを構築したり、既存のアプリケーションのパフォーマンスを改善したりすることが可能です。Amazon ElastiCache は、ゲーム、アドテック、金融サービス、ヘルスケア、IoT などのアプリケーションで大いに活用されています。
引用元:Amazon ElastiCache(インメモリキャッシングシステム)| AWS

極端に簡単な理解はキャッシュ
インメモリキャッシュなので、保存容量に制限はあるが高速にアクセスすることができる。
処理用のデータを一時的にコピーし、アプリケーションのパフォーマンス問題等を解消する。


かなり雑になってきたけどなんとか走りきりたい