【AWS完全に理解したへの道】 VPC 基本編
に続く、データベース(RDS/ElastiCache/DynamoDB)基本編(項目の然るべき順序的なものは後で整理するかも)
AWSが提供しているデータベースサービスは以下の4つ。
- リレーショナルデータベースサービス : RDS
- NoSQLデータサービス : DynamoDB
- インメモリキッシュサービス : ElastiCache
- データウェアハウスサービス : Redshift
1. RDS
RDSで選択できるデータベスエンジンは以下6種類。
1.1 Amazon Aurora
1.2 MySQL
1.3 MariaDB
1.4 PostgreSQL
1.5 Oracle
1.6 Microsoft SQL Server
1.1 Amazon Aurora
Amazon AuroraはMySQLと互換性のあるAWS独自のリレーショナルデータベースエンジン。
※各データベースエンジンの差異についてここでは触れない。
マルチAZ
複数のAZにRDSインスタンスを配置して可用性を高め、フェイルオーバーサポートを提供する。
マルチAZ配置を使用するDBインスタンスでは、同期データレプリケーションが発生するため、シングルAZ配置よりデータの書き込みとコミットのレイテンシーが増加する可能性がある。
自動バックアップ機能
1日1回自動的にデータのバックアップ(スナップショット)を取得するRDS標準機能。
- バックアップの取得時間帯を設定可能
- バックアップの保持期間は0~35日の間で指定可能
(デフォルトは7日、0日を指定するとバックアップを取得しない設定となる) - トランザクションログも自動的に取得しており、5分に1回永続ボリュームに書き込まれる。
- 利用者の任意のタイミングでバックアップを取得することもできる。任意のタイミングで取得したバックアップは利用者が明示的に削除するまで保持される。
ストレージ
3種類のストレージタイプを選択できる。
- 汎用SSD
- プロビジョンドIOPS
- マグネティック
それぞれの違いについてはこちらの記事がわかりやすい。
パッチ機能
- 自動パッチ適用機能が実行される曜日/時間帯を設定できる
- パッチ適用時の数分のダウンタイムを避けるために、マルチAZ配置にする必要がある。(先にスタンバイしているマスターにパッチが適用され、ファイルオーバーした後に旧マスターにパッチを適用するといった処理が行われるため、ダウンタイムによる影響を軽減することができる。)
- 自動パッチ適用は利用者が有効/無効を設定できるが、重要なセキュリティ脆弱性が発生した場合には、自動パッチ適用を無効化していても、自動的に適用されることがある。
2. DynamoDB
特徴
- ストレージ容量を拡張
- 秒間あたりのI/O性能(スループット)を指定できる
- ストレージはSSDのみで安定したI/O性能を提供
- データを3つのデータセンタに複製することで高可用性と高耐久性を提供
- 読み込み整合性の強弱を指定することで、性能と整合性のバランスを選択可能
3. ElastiCache
下記2つのキャッシュエンジンから選択可能
- Memcached
特徴
Key-Value Store形式
マルチノード
- Redis
特徴
Key-Value Store形式
マスタースレーブ
- アクセス制限
セキュリティグループでアクセス制限する。
ElastiCacheはAZサービスなので、VPC環境ではEC2からのアクセスのみ受け付ける。
MemcachedとRedisの違いについては下記
Redis作者自身によるRedisとMemcachedの比較