aws/rds

August 08, 2017

2017/07/18 replicaが高負荷になった

replica1のmax_connectionsを確認したところ上限値1000でした

mysql> show global variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1000  |
+-----------------+-------+
1 row in set (0.01 sec)

この障害はreplicaがボトルネックと断定できます。

AWS_RDS_Aurora_監査ログ取得のための変更

大体、ClassmethodのページのようにIAMを作成し付与します。

Classmethodのサンプルだと、全てのクエリをロギングする設定なので絞ります。 クラスターパラメータグループを変えます。

[ RDS ]->[ クラスター ]->[ aurora ]->[ DB クラスターのパラメータグループ ]のリンクをクリック->[ フィルタ パラメータ ]のテキストフィールドに[ audit ]を入力 下記の要素がリストアップするので変更します。都度、[ 変更の保存 ]をする必要があります。

  • server_audit_events -> QUERY_DCL, QUERY_DDL, TABLE

ここで、ロギング対象を絞ります。パラメータの詳細についてはここを参照

  • server_audit_excl_users -> 空欄 ( [If not empty, it contains the list of users whose activity will NOT be logged] 全てのユーザの変更を取りたいため空欄 )
  • server_audit_incl_users -> 空欄 ( [If not empty, it contains a comma-delimited list of users whose activity will be logged] )
  • server_audit_logging -> 1 ( ロギングを有効にする場合は 1 )
  • server_audit_logs_upload -> 1 (CloudWatch logsへログのアップロードを行う場合は 1 )

DBスナップショットの作成時のダウンタイム

Single-AZ DB インスタンスでこの DB スナップショットを作成すると、I/O が短時間中断します。この時間は、DB インスタンスのサイズやクラスによって異なり、数秒から数分になります。

結構ばらつきがあるのに注意が必要だ。

参考

Amazon Aurora を使用する際のメモ - Qiita
  • 最大 15 個の Aurora レプリカ
max_connectionはいくつか? コネクションのエラーが出たら、調査してみよう

max_connections

  • too many connectionsが出たらmax_connections、wait_timeoutを確認してみよう
  • AWSのRDSでmax_connections、wait_timeoutを変更する

私はやったことないけど、 wait_timeoutを短くする、というアプローチもあるか

実測値は理論値より少なく設定されている。

RDS(Mysql)のMaxConnection数 - Qiita

Amazon RDS で max_connections が変わらなかった - Qiita

このページは理論値を列挙してあるぽい max_connections at AWS RDS MySQL Instance Sizes | Tritone Consultants

Auroraのクラスターについて

Auroraの各種エンドポイントとダウンタイムの検証 | 外道父の匠

RDSのメンテナンスについて

Amazon RDSのメンテナンスについて調べてみた 体験談と調査が参考になる

手順

RDS管理画面の[ Recommendations ]->[ アクティブ ]->[ 保留中のメンテナンスが利用可能です ]->インスタンスのチェックボックスをオン->[ 今すぐ適用 ]->[ 適用を今すぐ確認する ]

APIは存在するので、lambdaでAWSのAPIをチェックしてSlackに通知した方が良い

APIでの取得方法


Profile picture

Written by tin-machine 技術関連のメモ Twitter