Amazon Aurora を使用する際のメモ


作成日:2017-01-26

やりたいこと

AWSの公式ドキュメント
Amazon Aurora
Amazon Aurora を使用する際のベストプラクティス
等を読んでの自己流要約。当面に必要なもののみの抜粋

Amazon Aurora の概要

MySQL と互換性のあるRDS
Aurora DB クラスターという構成で作られる
MySQL に比べ、最大 5 倍のパフォーマンスを実現するらしい(実質2倍~3倍くらいかな?)
お値段は少し安い?r3.largeでの比較でAurora( $ 212.78)、MySQL( $ 175.68 ~$ 352.52)
ただ、最低スペックが r3.large なので安価なサービスには向かない(実験用で db.t2.mediumもある)

構成

Aurora DB クラスターは 2 種類のインスタンスで構成

プライマリインスタンス

読み取り/書き込み
クラスターボリュームに対するすべてのデータ変更を実行
各Aurora DB クラスターに 1 つのプライマリインスタンス

Aurora レプリカ

読み取りオペレーションのみ
最大 15 個の Aurora レプリカ

Aurora エンドポイント

クラスターエンドポイント

プライマリインスタンスに接続
読み取りと書き込みの両方のオペレーションを実行可能

読み込みエンドポイント

DB クラスターの Aurora レプリカの 1 つに接続
Aurora レプリカ間で接続を負荷分散

インスタンスエンドポイント

特定のインスタンスに直接接続する際に使用できる一意のエンドポイント
識別子に cluster- が含まれていません

Amazon Aurora ストレージ

SSD (Solid State Disk) ドライブを利用する単一の仮想ボリューム
最大 64 テラバイト (TB)
使用する領域に対してのみ料金が請求

Amazon Aurora レプリケーション

レプリカラグは、通常はプライマリインスタンスが更新を書き込んだ後、100 ミリ秒未満

Aurora レプリカの作成

最大 15 個の Aurora レプリカを追加可能
1. https://console.aws.amazon.com/rds で Amazon Aurora コンソールを開きます。
2. 左のナビゲーションペインの [Instances] をクリックします。
3. Aurora DB クラスターのプライマリインスタンスの左側にあるチェックボックスをクリックしてオンにします。
4. [Instance Actions] をクリックし、[Create Aurora Replica] をクリックします。
5. [Create Aurora Replica] ページで、Aurora レプリカのオプションを指定します。次の表は、Aurora レプリカの設定を示しています。

Amazon Aurora のセキュリティ

3 つのレベルで管理

Amazon RDS 管理アクションを実行できるユーザーを管理

AWS Identity and Access Management (IAM) を使用
Amazon RDS の管理オペレーションを実行するためのアクセス権限を付与する IAM ポリシーが必要
Amazon RDS に対する認証とアクセスコントロール」を参照

Aurora DB クラスターは Amazon Virtual Private Cloud (VPC) に作成

VPC の詳細については、「Virtual Private Cloud (VPC) および Amazon RDS」を参照

Amazon Aurora DB インスタンスに対するログインとアクセス権限を認証

MySQL のスタンドアロンインスタンスと同じ方法
MySQL ユーザーアカウントの管理」を参照
DB インスタンスの作成時に rdsadmin ユーザーが作成される
``
標準的なコマンド kill と kill_query の使用は制限
Amazon RDS の rds_kill コマンドと rds_kill_query コマンドを代わりに使用する

SSL での Aurora データの保護

パブリックキーは https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem に保存

mysql クライアントを使用して接続を暗号化するには、以下の例のように、--ssl-ca パラメータでパブリックキーを参照して mysql クライアントを起動

mysql -h mycluster-primary.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-verify-server-cert

以下のステートメントを使用して、ユーザーアカウント encrypted_user に SSL 接続を要求

GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL

Amazon Aurora DB クラスターのローカルタイムゾーン

タイムゾーンは協定世界時 (UTC)
インスタンスのタイムゾーンをアプリケーションのローカルタイムゾーンに設定可能
パラメーターグループの time_zone パラメーターを変更する

Asia/Tokyo

Aurora DB クラスターの耐障害性

障害を検知した際に以下の対応が自動的に実行される

既存の Aurora レプリカを新しいプライマリインスタンスに昇格

DB クラスターに 1 つ以上の Aurora レプリカがある場合
障害発生中に 1 つの Aurora レプリカがプライマリインスタンスに昇格
一般的なサービスの復元時間は 120 秒未満であり、多くの場合 60 秒未満で復元

新しいプライマリインスタンスを作成

DB クラスターに Aurora レプリカが含まれていない場合
障害イベントの発生時にプライマリインスタンスが再作成
通常は 10 分未満

参考リンク

Amazon Aurora と Amazon RDS for MySQL の比較

Amazon RDS の Aurora 料金表

SIMPLE MONTHLY CALCULATOR
料金の見積もりが取れる