##1.Amazon Auroraとは##
MySQL および PostgreSQL と互換性のあるリレーショナルデータベースエンジンです。
##2.特徴##
-
高性能:MySQL の最大で 5 倍、PostgreSQL の 2 倍のスループットを実現します。
-
高い安全性:データベースのために複数のレベルのセキュリティが用意されています。Amazon VPC を使用したネットワークの分離、AWS Key Management Service (KMS) を使用して作成および制御するキーを使用した保管時の暗号化、および SSL を使用した転送中データの暗号化などです。暗号化された Amazon Aurora インスタンスでは、基盤となるストレージが暗号化されます。さらに、同じクラスター内にある自動化バックアップ、スナップショット、およびレプリカも暗号化されます。
-
MySQL および PostgreSQL との互換性:Amazon Aurora のよくある質問
-
完全マネージド型:完全マネージド型のデータベースサービスです。自動的にデータベースがモニタリングされ、S3 にバックアップされるので、きめ細かいポイントインタイムリカバリが可能です。
-
マイグレーション:例えばMySQLを利用している場合、スナップショットを取得して、Auroraにマイグレーションすることが可能です。
-
高可用性と耐久性:99.99% の可能性を提供するように設計されています。物理ストレージの障害は透過的に復旧され、インスタンスのフェイルオーバーは、通常、30 秒未満で完了します。ストレージは耐障害性と自己修復機能を備えています。データについては、6 つのコピーが 3 つのアベイラビリティーゾーンにわたってレプリケートされ、連続的に Amazon S3 にバックアップされます。
-
高スケーラブル:2 vCPU と 4 GiB のメモリを備えたインスタンスから、最大で 32 vCPU と 244 GiB のメモリを備えたインスタンスまでスケールできます。また、3 つのアベイラビリティーゾーンにかけて最大 15 個の低レイテンシーリードレプリカを追加することでさらに読み込み容量をスケールできます。10 GB から 64 TB まで、必要に応じて自動でストレージを拡張します。マスタに障害が発生するとReaderにフェイルオーバーします。
##3.機能##
###Aurora マルチマスター###
マスター側もスケーラブルに構成することができます。今まではマスターは一つのみでしたが、別AZにもマスターを構築し、どのノードが落ちてもダウンタイムをゼロにすることができます。
###Auroraサーバレス###
予測可能なアプリケーションワークロードに対応したAuroraのオンデマンド自動スケーリング構成です。EC2のAutoScallingと同じような感じで構築できます。
###AuroraグローバルDB###
他リージョンに対する高性能なリードレプリカを作成します。
[2021/02/11]Amazon Aurora Global Database が計画されたマネージドフェイルオーバーをサポート
実際のリージョン障害からの復旧に利用する機能ではない。
用途としては、本当にグローバルDBを有効化することによって、本当に機能しているか検証するかをを目的として利用する。
##4.ユースケース##
- 大規模なクエリデータ処理
- 運用の容易さを活用する。
##5.クロスリージョンレプリカ##
AuroraはソースDBクラスターとは異なるリージョンにリードレプリカを作成することができます。
この方法を採用すると、障害回復機能を向上させ、読み取り操作をユーザーに近いリージョンに拡張しつつ、あるリージョンから別のリージョンへの移行を容易にすることができます。
[Amazon Aurora データベースでクロスリージョンリードレプリカを最大 5 つまでサポート](https://aws.amazon.com/jp/about-aws/whats-new/2018/09/amazon-aurora-databases
-support-up-to-five-cross-region-read-replicas/)
Amazon AuroraでCross-Region Read Replicaがご利用頂けるようになりました
##6.demo##
基本的な作成はRDSと同じなので、Auroraの機能特有の部分のみ補足して書きます。
###ステップ 1 エンジンの選択###
Aurora
MySQL 5.6 との互換性あり
で作成していきます。
###ステップ 2 DB 詳細の指定###
- DB エンジン:Aurora - MySQL 5.6 との互換性あり
- Capacity type:Provisioned
Capacity | |
---|---|
Provisioned | 事前にキャパシティを設定し、その範囲で作成する |
Provisioned with Aurora parallel query enabled | プロビジョンドとパラレルで平行してクエリを処理できるようなDBを作成する |
Serverless | オートスケーリング機能でオンデマンドでスケールアウト、スケールインをし、処理負荷によって使っていく。 |
- DB エンジンのバージョン:Aurora(MySQL)-5.6.10a
- DB インスタンスのクラス:db.t2.small
- マルチ AZ 配置:異なるゾーンにレプリカを作成
マルチ AZは、DB インスタンスとは異なるAZに RDS が同期スタンバイレプリカを維持するようにします。プライマリで計画的または突発的な停止が発生した場合、Amazon RDS は自動的にスタンバイにフェイルオーバーします
###ステップ 3 [詳細設定] の設定###
- フェイルオーバー:0
フェイルオーバーは実際にフェイルオーバーしたときに、レプリカをどれにするかといった優先度をつけることができます。優先度が若ければ若い程優先度が高い。
- バックトラック:バックトラックを有効にする 24時間
バックトラックを使用すると、データをバックアップから復元せずにすばやく Aurora データベースを過去のある時点に巻き戻すことができます。
###実際に作成したDBを確認する###
↓のとおりクラスターの中にマスターの書き込みとレプリカの読み込みが作成されテイルことがわかる。
クラスターのアクション画面だけ少しだけ見てみる。
- リーダの追加:最大15までリードレプリカを作成できる。
- クロスリージョンのリードレプリカの作成:リージョンを跨いでレプリカを作成する。
- クローンの作成;同じ構成を再現できる。スナップショットの場合は、スナップショットから作成しなければいけないが、クローンから作成すると簡易にできる。
###EC2からアクセスしてみる###
実際にアクセスして、MySQLコマンドと同じように接続、操作できるかなどを確認していきましょう。
mysql -h <エンドポイント> -u <ユーザ名> -p
##7.リンク##
Amazon RDS