作成日: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 レプリカを追加可能
- https://console.aws.amazon.com/rds で Amazon Aurora コンソールを開きます。
- 左のナビゲーションペインの [Instances] をクリックします。
- Aurora DB クラスターのプライマリインスタンスの左側にあるチェックボックスをクリックしてオンにします。
- [Instance Actions] をクリックし、[Create Aurora Replica] をクリックします。
- [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 の比較
SIMPLE MONTHLY CALCULATOR
料金の見積もりが取れる