0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RDSについて(学習メモ)

Last updated at Posted at 2024-12-02

はじめに

SAA試験の学習備忘録として記事にしました。適宜更新していきたいと思っています!
間違いがあればコメントで教えてください。。m(_ _)m

RDSとは

Amazon Relational Database Service(Amazon RDS)の略でAWSクラウドのリレーショナルデータベースを簡単にセットアップして運用することのできるサービス。
マネージドデータベースサービスであり、ほとんどの管理タスクはAWS側が担ってくれるため、アプリケーションやユーザー管理に集中できる。

以下のDBエンジンをサポートしている。

  • Amazon Aurora
  • PostgreSQL
  • MySQL
  • MariaDB
  • Oracle Database
  • Microsoft SQL Server

RDSの特徴

管理が容易

RDSは、データベースのセットアップ、運用、およびスケールを容易にするフルマネージドサービスである。
バックアップ、自動スナップショット、ソフトウェアパッチの適用、ハードウェアの管理など、多くの管理タスクをAWSが自動化するため、ユーザーはアプリケーションの開発と最適化に集中できる。

高パフォーマンスの実現が可能

RDSはさまざまなインスタンスタイプが提供されており、アプリケーションの要求に合わせて性能をカスタマイズ可能。
また、プロビジョンドIOPSストレージを利用することで、高いIO性能を必要とするワークロードを効率的に処理可能になる。

高可用性と耐久性

Amazon RDSは、マルチAZ配置をサポートしており、自動フェイルオーバー機能を提供している。
この機能により、データベースの稼働率を維持し、障害時のダウンタイムを最小限に抑えることが可能。また、自動バックアップとポイントインタイムリカバリーにより、データの整合性を確保しやすくなっている。

セキュリティ

Amazon RDSでは、データの暗号化を簡単に設定することができる。ストレージとバックアップのデータ暗号化が可能で、TLS/SSLを使用してデータ転送中の暗号化もサポートしている。また、IAMと統合されているため、リソースに対するきめ細かなアクセス制御を実現できる。

高いスケーラビリティ

Amazon RDSは、ストレージのスケーリングと計算リソースのスケーリングを迅速かつ柔軟に実行できる。
アプリケーションの需要に応じてデータベースインスタンスをスケールアップまたはスケールダウンできるため、過剰なリソースのプロビジョニングやコストの無駄を避けられる。また、リードレプリカを使用してリード負荷を分散させることも可能。

コスト面の最適化

従量課金モデルを採用しており、使用したリソースに応じた料金が発生する。これにより、必要なリソースのみを利用してコストを効率的に管理することが可能になる。
標準ストレージ(汎用SSD)やプロビジョンドIOPSストレージなど、ワークロードに応じたストレージタイプを選択できるほかにも、リザーブドインスタンスなど長期間の利用が見込まれる場合、リザーブドインスタンスを活用することで、オンデマンド料金に比べて最大約70%のコスト削減が可能。
参考:Amazon RDS リザーブドインスタンス

その他AWSで用意されているDB

全部はないですが、以下ピックアップします。

DynamoDB

高速で柔軟なNoSQLデータベースサービス。フルマネージドで、低レイテンシかつ高スループットを提供する。
ドキュメントデータとキーバリューデータの保存をサポートし、スケーラブルな分散型データストレージを必要とするアプリケーションに適している。
サーバーレスであるため、プロビジョニングやインフラ管理の負担がなく、オンデマンドでスケール可能。そのほか、DynamoDB Streamsやトランザクション機能など、より高度な機能も備えている。

Redshift

高速でフルマネージドなクラウドデータウェアハウスサービス。
大規模なデータ分析を低コストで実現し、ペタバイト規模のデータを高速にクエリできる。標準SQLやBIツールと互換性があり、データレイクとの統合も容易である。さらに、Redshift Spectrumを使うことで、データを移動せずにS3上のデータを直接クエリすることも可能。

ElastiCache

フルマネージドなインメモリデータストアおよびキャッシュサービス。
低レイテンシで高スループットを必要とするアプリケーションに最適。RedisとMemcachedの2つのエンジンをサポートし、データベースクエリの高速化や、リアルタイムアプリケーションの応答時間短縮に役立つ。

アーキテクチャ

他にもあると思いますが、マルチAZとリードレプリカをピックアップして整理します。

マルチAZ

複数のAZにまたがるようにRDSを構築することで、「高可用性」の実現 を目的としている。
1つのAZのみにRDSインスタンスを配置するアーキテクチャの場合、地震などの災害によりAZに障害が発生するとRDSインスタンスにも影響を与える可能性がありアプリケーションの提供が継続できなくなる。
このようにRDSやEC2などのインスタンスが1台しかないことをシステムの 単一障害点(Single Point Of Failure) という。
また、同期レプリケーション(Synchronous replication) であり、レプリケーションが完了するのを待ってから、クエリ等によるスレーブ(マスターに対して複製されたRDSインスタンスを指す)への書き込み処理を受け付けるため、マスターとスレーブ間の通信の分だけ遅延が発生する。

Image from Gyazo
画像引用元:Amazon RDS のマルチ AZ DB インスタンスデプロイ

リードレプリカ

読み取り専用のDBとしてマスタDBと同じRDSインスタンスを構築することで読み取りスループットを向上させることで拡張性(スケーラビリティ)の向上 を実現する。
ユーザーのDBアクセス数の増加に応じて、DBの読み取り性能を向上させたい場合に読み取り専用のDBとしてリードレプリカを作成することで対応することが可能になる。
マルチAZの同期レプリケーションに対して、リードレプリカ作成の場合は 非同期でレプリケーションする(Asynchronous replication) ため、レプリケーションの完了を待たずにスレーブへの書き込み処理を受け付ける。

Image from Gyazo
引用元:DB インスタンスのリードレプリカの操作

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?