Amazon RDS for MySQL のバージョンアップグレードを最小限のダウンタイムで実行する方法を教えてください。

所要時間1分
0

MySQL 用の Amazon Relational Database Service (Amazon RDS) のバージョンアップグレードを最小限のダウンタイムで実行したいです。

解決策

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Amazon RDS for MySQL バージョンを手動でアップグレードする

RDS DB インスタンスのエンジンバージョンを手動でアップグレードするには、AWS マネジメントコンソール、AWS CLI、または Amazon RDS API を使用します。詳細については、「MySQL DB エンジンのアップグレード」を参照してください。

Amazon RDS for MySQL のアップグレード時間

アップグレードにかかる時間は、アップグレードの種類、データ、利用可能なリソースに左右されます。アップグレード時間を見積もるには、別のテストインスタンスでアップグレードをテストします。スナップショット復元またはリードレプリカを使用すると、メジャーバージョンまたはマイナーバージョンのアップグレードのテストインスタンスを起動できます。詳細については、「MySQL のメジャーバージョンアップグレード」および「MySQL のマイナーバージョン自動アップグレード」を参照してください。アップグレードのダウンタイムを最小限に抑えるには、データベースの更新に blue/green デプロイを使用します。

バックアップを有効にすると、Amazon RDS はすべてのバージョンアップグレードでインスタンスの以前のバージョンのスナップショットを取得します。Amazon RDS で最新のバックアップを見つけられない場合、Amazon RDS はアップグレードプロセス中に完全なスナップショットを作成します。変更の規模はアップグレード時間に影響します。Amazon RDS がスナップショットを取得しても、インスタンスはトラフィックを受け入れることができます。バックアップが完了すると、インスタンスはシャットダウンします。次に、MySQL は無効化されたネットワーク上で新しいエンジンバージョンを実行して、リモート接続を防止します。

低速シャットダウンを採用するために、Amazon RDS は innodb_fast_shutdown パラメータ値を 0 に設定します。低速シャットダウンでは、Amazon RDS は変更バッファをマージし、削除された行を完全にパージします。低速シャットダウンは、回復されたデータの量に応じて、数分から数時間かかる場合があります。大きな変更バッファや長い履歴リストがあるデータベースでの低速シャットダウンでは、時間がかかる場合があります。詳細については、MySQL のウェブサイトで「低速シャットダウン」、「innodb_fast_shutdown」、「バッファの変更」、「パージ」を参照してください。

mysql_upgrade プログラムは MySQL データベース上で実行され、システムテーブルとユーザーテーブルを新しいバージョンに変換します。テーブルの状態によっては、新しいバージョンに準拠するためにテーブルを作成する必要がある場合があります。mysql_upgrade プログラムは、テーブル内のメタデータを更新して、データベースがアップグレードされたことを示します。テーブルの数が多いと、Amazon RDS MySQL がメジャーバージョンのアップグレードを完了するのに時間がかかることがあります。詳細については、MySQL のウェブサイトで「mysql_upgrade: MySQL テーブルの確認とアップグレード」を参照してください。

バージョン 5.7 へのメジャーバージョンアップグレード時に、Amazon RDS for MySQL は一部のテーブルを再構築します。すべての日付と時刻の列タイプが新しい形式に変換されます。テーブルのデータ量によっては、変換に数時間から数日かかる場合があります。

MySQL 5.7 と MySQL 8.0 の互換性がないため、アップグレード時に問題が発生する可能性があります。アップグレードを成功させるには、データベースを準備するのがベストプラクティスです。MySQL 5.7 から 8.0 へのアップグレードを開始すると、Amazon RDS は自動的に事前チェックを実行して非互換性を検出します。詳細については、MySQL のウェブサイトで「チャプター 3: MySQL のアップグレード」を参照してください。

MySQL 5.6 から MySQL 5.7 へのアップグレードでは、Amazon RDS は事前チェックを実行して、テーブルを再構築するのに十分なストレージ容量があることを確認します。Amazon RDS は、孤立テーブルがないことも確認します。Amazon RDS は、MySQL 5.7 より前のリリースへのアップグレードに関する事前チェックを実行しません。メジャーバージョンアップグレードで障害が発生する可能性がある場合に備えて、ロールバック計画を立てるのがベストプラクティスです。

テーブルに問題がないかを確認するには、mysqlcheck を実行するのがベストプラクティスです。ただし、テーブルのメンテナンス操作には、かなりの時間とリソースが必要になる場合があります。詳細については、MySQL のウェブサイトで mysqlcheck: テーブルメンテナンスプログラムを参照してください。

関連情報

DB インスタンスエンジンバージョンのアップグレード

Amazon RDS for MySQL と Amazon RDS for MariaDB をアップグレードするためのベストプラクティス

Amazon RDS バージョンの MySQL

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ