コントローラインスタンスが AWS にデプロイされ、そのデータベースに Aurora を使用している場合は、Enterprise Console CLI コマンドを使用してコントローラを検出し更新するか、またはコントローラを最新バージョンにアップグレードすることができます。ただし、Enterprise Console UI を使用してアップグレードを実行することはできません

Aurora データベースをバックアップした後、以下の中からニーズに最も適したアップグレードメソッドを使用します。

  • 検出とアップグレード:アップグレードが必要かどうかがわからない場合は、このメソッドを使用します。 
  • アップグレード:古いバージョンを使用していて、アップグレードする必要がある場合は、このメソッドを使用します。たとえば、4.4.3 から最新のバージョンにアップグレードする場合があります。

また、コントローラを新しい EC2 インスタンスに移動して、最新のパフォーマンス要件を満たすこともできます。プラットフォームに依存しないアップグレード手順については、Enterprise Consoleを使用するコントローラのアップグレード」を参照してください。

Aurora データベースのバックアップ

コントローラをアップグレードする前に、Aurora データベースインスタンスのバックアップを作成する必要があります。また、現在のコントローラインスタンスが正確に反映された Amazon Machine Image(AMI)があることも確認しましょう。 

Enterprise Console では、スキーマが最新バージョンにアップグレードされます。ただし、コントローラをアップグレードしても、Aurora DBサーバーはアップグレードされません。

AWS でのコントローラの検出とアップグレード

Enterprise Console には、コントローラを検出し、そのバージョンを確認してから、必要に応じてアップグレードする discover_upgrade コマンドが用意されています。

  1. Enterprise Console にログインします。

    bin/platform-admin.sh login --user-name <admin_username> --password <admin_password>
    BASH
  2. 次のコマンドを実行します。

    bin/platform-admin.sh submit-job --service controller --job discover-upgrade --args controllerPrimaryHost="<hostname>" controllerRootUserPassword="<password>" mysqlRootPassword="<password>"  databaseType=aurora destinationDirectory="<controllerInstallationDirector>"
    BASH

    アップグレードが失敗した場合は、引数として useCheckpoint=true フラグを --args. の後に渡すことで、アップグレードを再開できます。

    お使いの環境に Enterprise Console の複数のバージョンが存在する場合、--target-version 引数が含まれていないと、discover-upgrade コマンドは失敗します。--target-version 引数の追加についての詳細は、「コントローラの 4.1.x、4.2.x、4.3.x から 4.5.x または最新バージョンへのアップグレード」を参照してください。

  3. ジョブの終了後に、AMI を更新します。

AWS でのコントローラのアップグレード

Enterprise Console には、コントローラを最新バージョンにアップグレードするための upgrade コマンドが用意されています。たとえば、コントローラ 4.4.3 を使用していて最新バージョンにアップグレードする場合は、upgrade コマンドを使用できます。

  1. Enterprise Console にログインします。

    bin/platform-admin.sh login --user-name <admin_username> --password <admin_password>
    BASH
  2. Enterprise Consoleホストで、以下のコマンドを実行します。

    bin/platform-admin.sh submit-job --service controller --job upgrade --args controllerRootUserPassword="<password>" mysqlRootPassword="<password>" 
    BASH

    アップグレードが失敗した場合は、引数として useCheckpoint=true フラグを --args. の後に渡すことで、アップグレードを再開できます。

  3. ジョブの終了後に、AMI を更新します。

Amazon RDS Aurora DB インスタンスのアップグレード

コントローラを 24.2 以降にアップグレードした後、Amazon RDS Aurora DB インスタンスをコントローラの MySQL 8 と互換性のある Aurora MySQL バージョン 3 にアップグレードすることができます。

Amazon RDS Aurora DB インスタンスをアップグレードするには、以下の手順を実行します。

  1. Aurora データベースをバックアップします。
  2. Aurora MySQL バージョン 3 に従って、DB クラスタパラメータグループと DB パラメータグループを作成します。「カスタム DB パラメータグループの作成」を参照してください。
  3. コントローラ アプリケーション サーバーを停止します
  4. Aurora RDS DB インスタンスをアップグレードします。「How to perform an in-place upgrade」を参照してください。 

    以前に作成した DB クラスタパラメータグループと DB パラメータグループを更新してください。 

  5. コントローラ アプリケーション サーバーを起動します

以前のAMIへのロールバック

ロールバックが必要な場合は、以下の手順を完了してください。

  1. 事前に取得しておいたデータベース スナップショットをソースとして、新しい Aurora インスタンスを作成します。 
  2. アップグレードしたコントローラがこの時点でも実行中の場合は、停止します。

    bin/platform-admin.sh stop-controller-appserver
  3. データベース DNS のエイリアスを、新しい Aurora インスタンスに再度割り当てます。 
  4. 現在のコントローラをホストしているEC2インスタンスを終了します。これにより、新しい EC2 インスタンスが既存の AMI を使用して、旧コントローラバージョンでプロビジョニングされます。 
  5. ENIを新しいEC2インスタンスに添付します。 
  6. コントローラがアップグレード前と同様に動作していることを確認します。 

AWS上のコントローラの移動

次の手順を完了することで、コントローラを新しいEC2インスタンスに移動できます。

  1. 現在のコントローラをホストしているEC2インスタンスを終了します。これにより、新しいEC2インスタンスがAMIを使用して自動的にプロビジョニングされます。

    オートスケールグループと起動構成は、AMI で定義されます。そのため、オートスケールグループの既存の EC2 インスタンスが使用できなくなると、同じ AMI をベースにした新しい EC2 インスタンスに自動で置き換わります。

  2. ENIを新しいEC2インスタンスに添付します。
  3. コントローラが正常に動作していることを確認します。