AmazonRDS-MySQLDBAタスク

他のすべてのデータベースと同様に、Amazon RDS MYSQLもデータベースを微調整して定期的なヘルスチェックなどを行うためにDBAタスクを必要とします。ただし、AWSプラットフォームではDBへのシェルアクセスが許可されていないため、実行できるDBAタスクの数は限られています。 MySQLのオンプレミスインストールと比較して実行されます。以下は、AWS RDSMySQLデータベースで実行できる一般的なDBAタスクとその説明のリストです。

MySQLエラーログ(mysql-error.log)ファイルは、Amazon RDSコンソールを使用するか、Amazon RDSCLIを使用してログを取得することで表示できます。mysql-error.logは5分ごとにフラッシュされ、その内容がmysql-error-running.logに追加されます。その後、mysql-error-running.logファイルは1時間ごとにローテーションされ、過去24時間に生成された1時間ごとのファイルが保持されます。

RDSコンソールの使用

以下に、上記の2つのログファイルへのリンクがあります。

CLIの使用

CLIを使用して、ログファイルはJSONオブジェクトとしてCloudWatchLogsに公開されます。

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の停止、再起動、スナップショットの作成などは、RDSコンソールから簡単に実行できます。