RDS

高負荷対策

Amazon RDS MySQL DBインスタンスで現在、利用可能な最大のインスタンスタイプで実行されているとする。

DBインスタンスはCPUおよびネットワーク帯域幅に近いキャパシティで動作。

今後、トラフィックが増加することを予想される。より多くのトラフィックを捌くアプローチ

 

  • 別アベイラビリティゾーンにMasterデータベースの読み取りレプリカを作成。レプリカに読み取り専用呼び出しを送信するよう、アプリケーションを設定する。
  • Amazon ElasticCacheクラスタを作成。頻繁にアクセスされるデータやクエリをキャッシュから取得するようにアプリケーションを設定する

障害時の挙動

プライマリDBインスタンスに障害が発生した場合、RDSマルチアベイラビリティゾーンのデプロイは、

標準名レコード(CNAME)がプライマリからスタンバイに変更される。

ElasticCacheについて

セッション情報をRDSではなく、ElasticCacheを利用する際の挙動

  • セッションデータの読み取り・書き込みパフォーマンスを向上
  • データベースインスタンスの負荷を軽減

RDSへの接続できない場合確認すべきポイント

  • VPCセキュリティグループの不正なルール
  • ローカルファイヤウォールのAmazon RDSエンドポイントポートの制限を確認する
  • Amazon RDSインスタンスが実行状態であるか

ページの読み取り時間の改善

  • セッション情報と頻繁なDBクエリのために、アプリケーションにAmazon ElasticCacheを追加
  • Amazon CloudFront dynamic content supportを設定。サイトの再利用可能なコンテンツのキャッシングを有効にする
  • Amazon RDSデータベースをhigh memory extra largeインスタンスタイプへ変更

 

ストレージ容量の拡大させる

追加ストレージを割り当てる事が可能。割り当て中にパフォーマンスが低下する期間を計画する。