ネコロビング!ツヴァイ!

寝ころびながら勉強したことを記録していく日記です

【AWS】データベース

マネージドサービス
利用者自身がOSやミドルウェア、ソフトウェアをインストールしなくても利用できるサービスの事
サービスの可用性、拡張性、バックアップ、メンテナンス等はすべてAWS側でやってもらえる
負荷分散を行うELB、キューサービス(SQS)などもマネージドサービス

 

マネージド型データベースサービス

リレーショナルデータベース
Amazon Relational Database Service(RDS)
AZサービスに該当する

利用可能なエンジンとして
Amazon Aurora
MySQL
MariaDB
PostgreSQL
Oracle
Mucrosoft SQL Server
が使用可能

Amazon AuroraMySQL互換のAWS独自のデータベースエンジン

 

マルチAZ配置

RDSのマスターがあるAZと異なるAZにスレーブのRDSを設置し、レプリケーションする事
MySQLMariaDBPostgreSQLOracleは同期物理レプリケーション
Mucrosoft SQL Serverは同期論理レプリケーション
データの読み取り速度アップのためリードレプリカを設置する事も出来る

 

クラスターボリューム(Amazon Auroraのみ)
3つのAZにまたがるクラスターボリュームが作成され各AZにクラスターデータが格納される
1つのAZが読み書き可能なプライマリインスタンスとなり、残りのAZはリードレプリカとして機能する
→どこかのAZが停止しても残ったAZのうちどちらかがプライマリとなるため障害に強い


自動バックアップ
RDSの標準機能毎日1回自動でバックアップ(スナップショット)をとる
バックアップを作成する時間帯を指定できる
バックアップ中は多少の書き込み遅延が発生する
バックアップの保持期限を0~35日の間で設定できる→0日にするとバックアップを取らない。

トランザクションログも自動的に取得している

自動バックアップとトランザクションログを利用して、特定時点のインスタンスを復元できる


パッチの適用
自動パッチ適用機能があり、この機能を有効にしておくと設定された曜日・時間にパッチが適用される
緊急性の高いパッチは機能の有効・無効に関係なく、自動で適用されることがある

ストレージ
EC2同様にGeneral Purpose SSD、Provisioned IOPS SSD、Magneticの3タイプ
DBエンジンによって最低容量、最大容量が変わってくる

 

NoSQLデータベース
Amazon DynamoDB
リージョンサービスに該当する

リレーショナルDBよりも拡張性が高い
デーブルのデータを3か所のデータセンタに複製する
1つ1つの項目サイズは400kbまでなので、項目は多いがデータが少ないデータ格納向け
プライベートサブネットからDBのテーブルに新しい項目を追加したり、既存の項目を読み取ったりするのにNATインスタンスが必要
Dynamoへのアクセス制限はIAMポリシーやEC2に付与するIAMロールで制限する

 

インメモリキャッシュサービス
Amazon ElastiCacsh
AZサービスに該当

DBへのアクセス負荷を軽減する方法としてリードレプリカを用意する方法のほかこれを使ってキャッシュする方法がある
使用できるエンジンは
Memcached
Redis
ユースケース→RDSへのクエリ結果をキャッシュすることでRDSへの負荷を軽減する

データウェアハウスサービス

※フェイルオーバー
サーバやシステムの冗長化の1つ。
稼働中のシステムやサーバに障害が発生した場合、あらかじめ用意しておいた経路と同等の待機システムに切り替える機能のこと。