🐾
【AWS】データベースサービス
ソリューションアーキテクト試験の学習ログ ④
RDS
Relational Database Service
- マネージド RDB サービス
- エンジンの機能によっては一部使えないものもある
- どうしても機能が場合は EC2 にエンジンをインストールするなどの方法を検討
- インスタンスタイプを選択できる
ストレージ
- データ保存用ストレージには EBS を利用
- 利用可能なストレージタイプ
- 汎用 SSD
- プロビジョンド IOPS SSD
- (マグネティック)下位互換性維持のため
- 64TB(Microsoft SQL Server は 16TB)まで容量の拡張可能
主な機能
- マルチ AZ 構成
- DB インスタンス作成時にマルチ AZ 構成を選択するだけで、自動で DB の冗長化に必要な環境が作成される
- 2 つの AZ 間でデータを同期するため書き込みやコミットにかかる時間が長くなる
- フェイルオーバーには 60〜120 秒かかる
- 接続用 FQDN の DNS レコードがスタンバイ側の IP アドレスに書き換えられるまでの間
- リードレプリカ
- 参照専用の DB インスタンスを作成
- データ同期は非同期レプリケーション方式のため、タイミングによっては最新情報が反映されていない可能性がある
- データ同期でマスター DB マスター DB のパフォーマンスにほとんど影響を与えない
- バックアップ/リストア
- 自動バックアップ
- 1日 1 回の自動的なバックアップを設定可能
- バックアップの保持期間は最大 35 日
- シングル AZ 構成の場合、短時間の I/O 中断時間が発生
- 手動スナップショット
- 任意のタイミングでバックアップを取得
- 1 リージョンあたり 100 個まで
- データのリストア
- バックアップで取得したスナップショットから新規の RDS を作成可能
- ポイントインタイムリカバリー
- 直近 5 分前から 35 日前までの任意のタイミングの状態の RDS を新規に作成できる
- 自動バックアップを有効にする必要がある
- 自動バックアップ
セキュリティ
- ネットワークセキュリティ
- VPC 対応 = インターネット接続できない VPC ネットワーク内で利用可能
- セキュリティグループによる通信要件の制限が可能
- 各データベースエンジンが提供する SSL を使った暗号化に対応
- データ暗号化
- 暗号化オプションを有効にすることでログなどの RDS に関連するすべてのデータが暗号化される
- 暗号化オプションは途中で有効にすることはできない
Aurora
- AWS が開発したデータベースエンジン
Redshift
- データウェアアウス向けのサービス
構成
- Redshift クラスタ
- リーダーノード
- コンピュートノード
- ノードスライス
特徴
- 列指向型(カラムナ)データベース
- 多くの圧縮エンコード方式への対応
- ゾーンマップ
- 柔軟な拡張性
- ワークロードの管理機能
- Redshift Spectrum
DynamoDB
- マネージド NoSQL サービス
特徴
- 高可用設計
- 単一障害点を持たない
- 自動的に 3 つの AZ に保存される
- スループットキャパシティ
- テーブルやインデックスの作成時に読み取りと書き込みに必要なスループットを指定
- ダウンタイムなしに変更可能
- データをパーティションという単位で分散保存
- プライマリキーとインデックス
- 期限切れデータの自動メンテナンス(Time to Live、TTL)
- 各項目に有効期限を設定すると、期限が過ぎたデータは自動的に削除される
- DynamoDB Streams
- 直近 24 時間の追加・更新・削除の変更履歴を保持する機能
- Consistent Read
- 強い一貫性を持った参照を行うためのオプション
- RCU の消費が 2 倍となる
- DynamoDB Accelerator(DAX)
- DynamoDB の前段にキャッシュクラスタを構成する拡張サービス
- 成功の向上だけでなく、PCU の確保を抑え、コスト削減にも貢献
Elastic Cache
- インメモリ型データベースサービス
サポートされるエンジン
- Memcahed
- 最大 40 の Elastic Cache インスタンスで構成
- 保存されるデータは各インスタンスに分散
- アクセス用エンドポイント
- ノードエンドポイント
- 設定エンドポイント
- スケールアウトとスケールイン時はデータの再マッピングの間、キャッシュミスが一時的に増加することがある
- スケールアップとスケールダウン時は新規のクラスタを作成する必要がある
- Redis
- クラスタモード
- 無効
- キャッシュデータはすべて 1 つの Elastic Cache いんすたんすに保存
- リードレプリカを最大 5 つまで作成できる
- マスターインスタンスとリードレプリカのまとまりをシャドーと呼ぶ
- 有効
- 最大 500 のシャドーにデータを分割して保存可能
- リードレプリカは 1 つのシャドーに対して最大 5 つまで
- 無効
- アクセス用エンドポイント
- ノードエンドポイント
- プライマリエンドポイント
- 設定エンドポイント
- スケーリング中には処理の大部分がオフラインとなる
- CPU 使用率
- Redis クライアントと Elastic Cache 間の通信と保存するデータの暗号化をサポート
その他のデータベース
- Neptune
- DocumentDB
- Keyspaces
- Timestream
- QLDB
- MemoryDB for Redis
Discussion