AWSソリューションアーキテクト勉強中のririです。
IT系とはいえ、普段AWSに触れる機会がほとんどなく、
かつ構築したことがないので、
試験に当たり覚えておくべきことをメモしていこうと思います。
今日はDB関連サービスについてまとめます。
その他の記事はこちら⬇︎
RDS
- DBインスタンスの読み込み処理と耐久性の向上にはリードレプリカによる複製が有効
- 拡張モニタリングを利用すると、DBインスタンスのOSのリアルタイムメトリクスが確認可能になる
- IAM DB認証を有効化することで、IAMユーザ/ロールの認証情報と認証トークンを利用してRDSに接続することができるようになる
- デフォルトで自動バックアップが有効になっている。自動バックアップの期間は0-35日の間で設定できる
- PostgreSQL13、PostGISをサポートしている
Amazon RDS Proxy
- LambdaとRDSの接続をRDS Proxyが仲介することで、LambdaからのDBへの接続を抑えることができる
Amazon RDS Proxy は、Amazon Relational Database Service (RDS) 向けの高可用性フルマネージド型データベースプロキシで、アプリケーションのスケーラビリティやデータベース障害に対する回復力と安全性を高めます。
Amazon RDS Proxy の料金 | 高可用性データベースプロキシ | アマゾン ウェブ サービス
Aurora
- 最大15台のレプリカを配置することが可能
- 標準的なMySQL DBよりも高いパフォーマンスが発揮できる
- デフォルトでマルチAZ構成になっている
- AuroraグローバルDBはグローバルに分散されたアプリケーションに使用される
- リーダーエンドポイントを利用することで、DBの読み取り専用接続負荷を分散することができる
Aurora Serverless
- DBインスタンスのクラスサイズを指定せずデータベースエンドポイントを作成できる
Redshift
- スナップショット用の無料ストレージがあるが、上限がある。利用コストを下げるには不要スナップショット削除が有効
- 拡張VPCルーティングを有効にすると、すべてのトラフィックがVPCを通るように強制される
Amazon Redshift 拡張された VPC のルーティング(enhanced VPC routing)とは - サーバーワークスエンジニアブログ - Redshift WLM(WorkLoadManagement)はRedshiftへのクエリ処理に対して割り当てるリソースを指定する機能
Redshiftに投げ込まれるクエリに対して割り当てるRedshiftのリソースを指定するものです。事前にWLMとしてキューを用意しておき、キューに対して割り当てるメモリの割合や並列度、タイムアウトの時間を指定することでクエリに対してリソースの配分や長時間実行されるクエリを止めてクラスタリソースを無駄遣いしないようにすることが目的です。
Redshift Spectrum
- S3上のデータを特殊クエリなしで分析できる
DynamoDB
- 数ミリ秒台のパフォーマンスを実現できる
- 処理量が予測不可能な場合には、オンデマンドモードのテーブルを作成する。利用量が予測できる時は、プロビジョニングモードを使う
- Webセッション管理、S3オブジェクトのメタデータ保存はDynamoDBが有効なユースケース
- 結果整合性モデル(読み込みスループット重視。ただし最新の結果が反映されない可能性あり)か強い整合性モデルを選ぶことができる
- DynamoDBテーブルのポイントタイムリカバリを使用すると連続バックアアップを有効にすることができる
- DynamoDBストリームはDynamoDBで変更が発生したデータ情報をキャプチャできる機能。ユースケースとして、他のアプリケーションとトランザクションデータを共有することも可能。
- Dynamoトランザクション機能ではデータベースの複数の項目の一貫性を保証できる
- DAXはミリセカンドからマイクロセカンドへパフォーマンスを向上させられる。ただし、需要変動対応には不向き
ElastiCache