このページでは、インプレース アップグレード方法を使用して、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 エディションにアップグレードする必要があります。アップグレード プロセスが完了するまでに数分かかります。ダウンタイムはほぼゼロです。Cloud SQL Enterprise エディションに切り替えると、最大 60 秒のダウンタイムが発生することがあります。
また、このアップグレード プロセスでは、アプリケーションが接続するエンドポイントを変更する必要はありません。
始める前に
MySQL バージョン 8.0.31 以降で Cloud SQL Enterprise エディション インスタンスを実行していることを確認します。
インスタンスが以前のバージョンの MySQL にある場合は、インスタンスを MySQL 8.0.31 以降にアップグレードする必要があります。詳細については、データベースのメジャー バージョンをインプレースでアップグレードするとデータベースのマイナー バージョンをアップグレードするをご覧ください。
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 エディションにアップグレードします。
コンソール
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- [編集] をクリックします。
- [Cloud SQL のエディションの選択] セクションで、[アップグレード] をクリックします。
- [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 エディションに変更する
コンソール
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- [編集] をクリックします。
- [Cloud SQL のエディションの選択] セクションで、[Enterprise に切り替える] をクリックします。
- [Enterprise に切り替える] パネルでインスタンス ID を入力し、[エディションを切り替える] をクリックします。
または、インスタンスの [概要] ページの [構成] セクションで [Enterprise に切り替える] をクリックすることでも、Cloud SQL Enterprise エディションに切り替えられます。
gcloud
次のコードサンプルは、インスタンスを Cloud SQL Enterprise エディションに切り替える方法を示しています。
gcloud sql instances patch INSTANCE_ID \ --edition=enterprise \ --tier=MACHINE_TYPE \ --project=PROJECT_ID
- PROJECT_ID: インスタンスのプロジェクト ID。
- INSTANCE_ID: インスタンスの名前。
- MACHINE_TYPE: 切り替え先のインスタンスのマシンタイプ。Cloud SQL Enterprise エディションのマシンタイプの詳細については、Cloud SQL Enterprise エディション インスタンスのマシンタイプをご覧ください。
REST
次のコマンドを実行すると、インスタンスが Cloud SQL Enterprise エディションに変更され、再起動オペレーションがトリガーされます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: インスタンスのプロジェクト ID。
- INSTANCE_ID: インスタンスのインスタンス ID。
- MACHINE_TYPE: 切り替え先のインスタンスのマシンタイプ。Cloud SQL Enterprise エディションのマシンタイプの詳細については、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 エディションに変更され、再起動オペレーションがトリガーされます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: インスタンスのプロジェクト ID。
- INSTANCE_ID: インスタンスのインスタンス ID。
- MACHINE_TYPE: 切り替え先のインスタンスのマシンタイプ。Cloud SQL Enterprise エディションのマシンタイプの詳細については、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 日間に変更されます。バックアップ構成は変更されません。
次のステップ
- Cloud SQL Enterprise Plus エディションの詳細を確認する。