Amazonrds-mysql-dba-tasks
Amazon RDS-MySQL DBAタスク
他のすべてのデータベースと同様に、Amazon RDS MYSQLもデータベースを微調整し、定期的なヘルスチェックなどを行うためにDBAタスクを必要とします。 ただし、AWSプラットフォームではDBへのシェルアクセスが許可されていないため、MySQLのオンプレミスインストールと比較して実行できるDBAタスクの数は限られています。 以下は、AWS RDS MySQLデータベースで実行できる一般的なDBAタスクのリストとその説明です。
エラーログへのアクセス
MySQLエラーログ(mysql-error.log)ファイルは、Amazon RDSコンソールを使用するか、Amazon RDS CLIを使用してログを取得することにより表示できます。 mysql-error.logは5分ごとにフラッシュされ、その内容はmysql-error-running.logに追加されます。 その後、mysql-error-running.logファイルは1時間ごとにローテーションされ、過去24時間に生成された1時間ごとのファイルが保持されます。
RDSコンソールの使用
以下に、上記の2つのログファイルへのリンクがあります。
CLIを使用する
CLIを使用して、ログファイルはJSONオブジェクトとしてCloudWatch Logsに発行されます。
aws rds modify-db-instance \
--db-instance-identifier mydbinstance \
--cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}' \
--apply-immediately
長時間実行されているセッションまたはクエリを強制終了する
時々、DBAは、十分な速さで結果が得られない長時間実行中のセッションまたはクエリを強制終了する必要があります。 このDBAタスクは、最初にクエリのプロセスIDを見つけてから、RDS関数を使用してクエリを強制終了することで実行されます。 以下のコマンドは例です。
# get the ID
Select * from INFORMATION_SCHEMA.PROCESSLIST
#Apply the Kill Function
CALL mysql.rds_kill(processID);
クラッシュ回復時間を改善する
innodb_file_per_tableというDBパラメーターを設定することで、クラッシュからの回復時間を改善できます。 以下に示すように、RDSコンソールでこのパラメーターを見つけることができます。
次に、以下に示すようにパラメーター名を検索できます。
Amazon RDSは、innodb_file_per_tableパラメーターのデフォルト値を1に設定します。これにより、個々のInnoDBテーブルを削除し、DBインスタンス用にそれらのテーブルで使用されているストレージを再利用できます。 これにより、クラッシュからの回復時間が短縮されます。
DBの停止と再起動
DBの停止、再起動、スナップショットの作成などは、次の図に示すようにRDSコンソールから簡単に実行できます。