AWS RDS周り
AWSのRDSにまわりについて
Amazon RDS
Amazon RDSはクラウドの上でリレーショナルデータベースを使えるサービス。
フルマネージドサービスでバックアップ、ソフトウェアパッチ、自動的な障害検出、および復旧を管理します。そしてDBインスタンスのCPU、メモリ、IOPSやストレジを個別に設定できまし、マルチAZやフェイルオーバなど高可用性のリレーショナルデータベースサービスです。
Amazon Auroraとは
Amazon AuroraはMySQLおよびPostgreSQLと互換性のあるクラウド向けのリレーショナルデータベース
Amazon AuroraはAmazon RDSが提供しているデーターベースエンジンのひとつで、MySQLの最大5倍・PostgreSQL最大3倍のパフォーマンスを提供できるとのこと
※AuroraはRDSとは違うアーキテクチャを持っている
- クラスタボリューム Amazon AuroraはひとつのDBクラスターボリュームに複数のDBインスタンスがアクセスするような設計となっています。このボリュームはAmazon Auroraが自動的に複数のAZ (Availability Zone) にデータをレプリケートすることで高可用性を実現しています。
Amazon RDSとAmazon Auroraの違い
大きい違いはストレージ。
RDSはひとつのDBインスタンスにひとつのインスタンスとEBSが連結されている。
Auroraは分散ストレージです。すべてのデータは最小3つのAZ、AZあたり2つのデータコピー本にあるたくさんのストレージノードに保存されます。そのおかげで迅速なファイルオーバ高い可用性の実装ができます。
サーバーレスアーキテクチャでRDSを使いたい時
サーバレスアーキテクチャでDBを使うためにRDBMSを諦めてNoSQLのDynamoDBを使ったり、RDBMSを使いたいがAmazon RDSとLambdaのコネクションのオーバヘッド問題があるのでRDS Proxy使ったりするなど他の手間がかかる方法をしなければいけない
しかしAurora ServerlessがでRDBMS(Aurora)も順調に使えることになった
Amazon Aurora Serverless
Aurora Serverlessについての整理
Aurora Serverless とは(zozo)
Auroraのサーバレスバージョン(Aurora ServerlessとAuroraはアーキテクチャから違う)
Aurora Serverlessはインスタンスの管理が要らないので予想不可能なトラフィックやテストを行う時に有用に使える。
オンデマンド(要求に応じて)Auto Scaling設定が行えるDB。
Amazon Aurora Serverless 注意点
Aurora Serverlessを使うためには注意すること
- Aurora ServerlessはシングルAZ
- 障害対策はMulti-AZ Failoverで、DBに障害が発生した時に自動的に他のAZに復旧されます。しかしプロビジョニングされたAuroraより時間がかかる。
- ストレージはコンピューティングと別にマルチAZで分離させているので障害が発生してもストレージ利用できます。
- 使用可能バージョンは3つ
- Aurora MySQL 5.6.10a / 5.7 2.07.1の2つ、かつ必ず3306ポート
- Aurora PostgreSQL 10.14 1つ、かつ必ず5432ポート
- バックアップの制約事項
- DBクラスターの基本バックアップ期間は設定できない
- DBクラスターのスナップショットをs3バケットにアクスポートできません。
- VPCの外部からアクセスできません。
- パブリックIPの付与ができませんのでVPCの中しか接続できないです。
- Data APIまたはBastion Host(踏み台)で接続できます。 同じAZで複数のサーブネットを持つことはできません。