インプレース アップグレードを使用してインスタンスを Cloud SQL Enterprise Plus エディションにアップグレードする


このページでは、インプレース アップグレード方法を使用して、Cloud SQL Enterprise エディションのインスタンスを Cloud SQL Enterprise Plus エディションにアップグレードする方法について説明します。また、Cloud SQL Enterprise Plus エディションのインスタンスを Cloud SQL Enterprise エディションにダウングレードする手順についても説明します。

Cloud SQL Enterprise Plus エディションにアップグレードすると、いくつかの利点とパフォーマンスの向上がもたらされます。詳細については、Cloud SQL for MySQL のエディションの概要をご覧ください。

既存の Cloud SQL Enterprise エディション インスタンスを強化できるようにするには、Cloud SQL Enterprise Plus エディションにアップグレードする必要があります。アップグレード プロセスは数分で完了し、予想されるダウンタイムは 60 秒未満です。また、このプロセスでは、接続先のエンドポイントをアプリケーションで変更する必要はありません。

始める前に

  • インスタンスでソリッド ステート ドライブ(SSD)が使用されていることを確認します。

PITR に使用されるトランザクション ログの保存場所を確認する

すべての Cloud SQL Enterprise Plus エディションのインスタンスは、ポイントインタイム リカバリ(PITR)で自動的に有効になります。アップグレードする Cloud SQL Enterprise エディションのインスタンスが、PITR に使用されるバイナリログをディスクに保存している場合、Cloud SQL Enterprise Plus エディションへのアップグレード プロセスでは、バイナリログの保存場所がディスクから Cloud Storage に切り替わります。

Cloud SQL Enterprise Plus エディションにアップグレードする前に、Cloud SQL Enterprise エディションのインスタンスで、PITR に使用されるバイナリログの保存場所が切り替わるかどうかを確認してください。インスタンスの確認方法の詳細と手順については、PITR に使用されるトランザクション ログの保存場所を確認するをご覧ください。

アップグレード プロセスでトランザクション ログの保存場所を切り替える方法については、PITR に使用されるトランザクション ログの保存場所をご覧ください。

インスタンスを Cloud SQL Enterprise Plus エディションにアップグレードする

このセクションの手順を使用して、Cloud SQL Enterprise エディションのインスタンスを Cloud SQL Enterprise Plus エディションにアップグレードします。

コンソール

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [編集] をクリックします。
  4. [Cloud SQL のエディションの選択] セクションで、[アップグレード] をクリックします。
  5. [Enterprise Plus へのアップグレード] パネルでインスタンス ID を入力し、[エディションのアップグレード] をクリックします。

または、インスタンスの [概要] ページの [構成] セクションで [アップグレード] をクリックして、インスタンスをアップグレードすることもできます。

gcloud

次のコードサンプルは、インスタンスを Cloud SQL Enterprise Plus エディションにアップグレードする方法を示しています。


gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise-plus \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

次のように置き換えます。

  • PROJECT_ID: アップグレードするインスタンスのプロジェクト ID。
  • INSTANCE_ID: アップグレードするインスタンスの名前。
  • MACHINE_TYPE: アップグレードするインスタンスのマシンタイプ。Cloud SQL Enterprise Plus エディションのマシンタイプの詳細については、Cloud SQL Enterprise Plus エディション インスタンスのマシンタイプをご覧ください。

REST

次のコマンドは、インスタンスを Cloud SQL Enterprise エディションにアップグレードし、再起動オペレーションをトリガーします。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: アップグレードするインスタンスのプロジェクト ID。
  • INSTANCE_ID: アップグレードするインスタンスのインスタンス ID。
  • MACHINE_TYPE: アップグレードするインスタンスのマシンタイプ。Cloud SQL Enterprise Plus エディションのマシンタイプの詳細については、Cloud SQL Enterprise Plus エディション インスタンスのマシンタイプをご覧ください。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

次のコマンドは、インスタンスを Cloud SQL Enterprise エディションにアップグレードし、再起動オペレーションをトリガーします。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: アップグレードするインスタンスのプロジェクト ID。
  • INSTANCE_ID: アップグレードするインスタンスのインスタンス ID。
  • MACHINE_TYPE: アップグレードするインスタンスのマシンタイプ。Cloud SQL Enterprise Plus エディションのマシンタイプの詳細については、Cloud SQL Enterprise Plus エディション インスタンスのマシンタイプをご覧ください。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

PITR に使用されるトランザクション ログの保存場所

Cloud SQL Enterprise エディションのインスタンスがディスクに PITR のトランザクション ログを保存している場合、Cloud SQL Enterprise Plus エディションへのアップグレード プロセスを開始すると、これらのログの保存場所が Cloud Storage に切り替わります。

場所の切り替えプロセスには、次の条件が適用されます。

  • このプロセスでは、Cloud Storage への切り替えが完了するまで、およそで transactionLogRetentionDays PITR 構成設定の期間がかかります。
  • インスタンスで expire_logs_days フラグまたは binlog_expire_logs_seconds フラグの値が設定されている場合、その値は保持されます。
  • Cloud Storage への切り替え中は、インスタンスの expire_logs_days フラグまたは binlog_expire_logs_seconds フラグの値を変更できません。
  • Cloud Storage への切り替え中は、transactionLogRetentionDays PITR 構成設定を変更しないことをおすすめします。transactionLogRetentionDays を増やしても、バイナリログは Cloud SQL Enterprise エディション インスタンスのデフォルト値である 7 日間を超えてディスクに保持されません。
  • 切り替えの進行中、Cloud SQL はディスク上のログを次のいずれかの最小値に保持します。
    • 切り替え前の transactionLogRetentionDays PITR 構成設定(デフォルトは 7 日間)
    • インスタンスに手動で設定された expire_logs_days フラグまたは binlog_expire_logs_seconds フラグ
  • 切り替え後、Cloud SQL は、インスタンスに expire_logs_days フラグまたは binlog_expire_logs_seconds フラグを設定していない限り、切り替え前と同じ量のバイナリログをディスクに保持します。これらのフラグを設定した場合、Cloud SQL は transactionLogRetentionDays 構成設定の最小値またはフラグの値に基づいて、バイナリログをディスクに保持します。

Cloud SQL Enterprise Plus エディションのバックアップとログストレージのデフォルト

インスタンスの Cloud Storage への切り替えが完了しても、Cloud SQL はレプリケーション用にバイナリログのコピーをディスクに保持します。mysqlbinlog ユーティリティでバイナリログを参照する場合は、ディスクにバイナリログを保存すると便利です。

アップグレード前にインスタンスで expire_logs_days フラグと binlog_expire_logs_seconds フラグを構成した場合、構成済みの値はそのまま残ります。

切り替え後、PITR の実行に使用されるバイナリログが Cloud Storage に保存されるため、フラグの値が、想定どおりにディスク上のトランザクション ログの保持を反映するようにします。Cloud SQL は、ディスク上のログを次のいずれかの最小値に保持します。

  • 切り替え前の transactionLogRetentionDays PITR 構成設定(デフォルトは 7 日間)
  • インスタンスに手動で設定された expire_logs_days フラグまたは binlog_expire_logs_seconds フラグ

ディスク容量を節約する場合は、アップグレードが完了した後、expire_logs_days フラグまたは binlog_expire_logs_seconds フラグの値を 1 日分に構成すれば、割り当てられたディスクサイズとディスク ストレージの費用を削減できます。トランザクション ログストレージと PITR の詳細については、PITR のログストレージをご覧ください。

Cloud SQL Enterprise Plus エディションへのアップグレードが完了すると、アップグレードされたすべてのインスタンスのデフォルトのトランザクション ログ保持期間が 14 日に延長されます。この延長と、トランザクション ログ保持期間に対して構成するその他の延長について、PITR の全保持期間が適用されるには、新たに延長された値分の日数が必要です。たとえば、トランザクション ログの保持期間の古い値が 7 日で、新しい値が 14 日に延びた場合、アップグレード後の最初の 7 日間の PITR の保持期間は 7 日間のみです。8 日目には PITR の期間が 8 日間になり、9 日目には 9 日間になり、14 日目には保持期間が 14 日間に延長されます。

また、自動バックアップのデフォルト数は 8 から 15 に増加します。

メジャー バージョンのアップグレード後に Cloud SQL Enterprise Plus エディションにアップグレードすると、メジャー バージョンのアップグレードより前の時点に PITR を実行できなくなります。この制限は、保持期間がその期間に該当する場合にも適用されます。インスタンスは、メジャー バージョンのアップグレードを開始した後の特定の時点に復元できます。

Cloud SQL Enterprise エディションに変更する

コンソール

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [編集] をクリックします。
  4. [Cloud SQL のエディションの選択] セクションで、[Enterprise に切り替える] をクリックします。
  5. [Enterprise に切り替える] パネルでインスタンス ID を入力し、[エディションを切り替える] をクリックします。

または、インスタンスの [概要] ページの [構成] セクションで [Enterprise に切り替える] をクリックすることでも、Cloud SQL Enterprise エディションに切り替えられます。

gcloud

次のコードサンプルは、インスタンスを Cloud SQL Enterprise エディションに切り替える方法を示しています。

gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

次のように置き換えます。

REST

次のコマンドは、インスタンスを Cloud SQL Enterprise エディションに変更し、再起動オペレーションをトリガーします。

リクエストのデータを使用する前に、次のように置き換えます。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

次のコマンドは、インスタンスを Cloud SQL Enterprise エディションに変更し、再起動オペレーションをトリガーします。

リクエストのデータを使用する前に、次のように置き換えます。

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

リクエストの本文(JSON):

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Cloud SQL Enterprise エディションのバックアップとログストレージのデフォルト

Cloud SQL Enterprise エディションに変更しても、PITR に使用されるトランザクション ログの保存場所は切り替わりません。Cloud SQL Enterprise Plus エディションのインスタンスが PITR のトランザクション ログを Cloud Storage に保存している場合、ログは Cloud Storage に残ります。ただし、PITR のトランザクション ログのデフォルトの保存期間は 14 日間ではなく 7 日間に変更されます。バックアップ構成は変更されません。

次のステップ