インプレース アップグレード

このページでは、Cloud SQL インスタンスのインプレース アップグレードとダウングレードを行う方法について説明します。

Cloud SQL インスタンスにインプレース変更を行う

インプレース変更を使用すると、Cloud SQL インスタンスのエディション、マシンタイプ、ストレージ タイプ、データベース バージョンをアップグレードまたはダウングレードできます。インプレース変更は、インスタンスを再構成する最も簡単でエラーの少ない方法です。

始める前に

インスタンスが PostgreSQL 12 以降で実行されていることを確認します。

それより前のバージョンの PostgreSQL にインスタンスがある場合は、PostgreSQL 12 以降にアップグレードする必要があります。詳細については、データベースのメジャー バージョンをインプレースでアップグレードするをご覧ください。

エディションごとに、異なるストレージ オプションを使用する異なるマシンタイプがサポートされています。高パフォーマンスの C4 マシンタイプと C4A マシンタイプは、古いマシンタイプで使用される Persistent Disk オプションのいずれかではなく、Hyperdisk Balanced ストレージを使用します。

使用しているエディションまたはマシンタイプを変更すると、ストレージ タイプも変更されることがあります。これにより、ダウンタイムが発生したり、ストレージ費用が変更されたりする可能性があります。Google Cloud Hyperdisk Balanced に移行する場合は、追加の構成オプションを指定できます。詳しくは、ストレージの変更をご覧ください。

PITR トランザクション ログの保存場所の変更に注意する

PITR に使用される write-ahead log をディスクに保存する Cloud SQL Enterprise エディションのインスタンスをアップグレードする場合は、Cloud SQL Enterprise Plus エディションへのアップグレード プロセスで、これらのログの保存場所がディスクから Cloud Storage に移動することに注意してください。インスタンスの PITR 先行書き込みログの現在の場所を確認するには、PITR に使用されるトランザクション ログの保存場所を確認するをご覧ください。

インプレース アップグレードが write-ahead log の場所に与える影響について詳しくは、PITR の write-ahead log の保存場所の変更をご覧ください。

インスタンスのエディションをインプレースで変更する

このセクションでは、Cloud SQL インスタンスのエディションを Cloud SQL Enterprise Plus エディションに変更する方法について説明します。Cloud SQL Enterprise Plus エディションには、Cloud SQL Enterprise エディションにはないメリットとパフォーマンスの向上がいくつかあります。Cloud SQL のエディションの詳細については、Cloud SQL エディションの概要をご覧ください。

Cloud SQL Enterprise Plus エディションへのアップグレードは数分で完了し、ダウンタイムはほぼゼロです。Cloud SQL Enterprise エディションに戻すと、ダウンタイムが長くなります。どちらのプロセスでも、アプリケーションが接続するエンドポイントを変更する必要はありません。

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

コンソール

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

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

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. [編集] をクリックします。
  4. [Cloud SQL のエディションの選択] セクションで、インスタンスが Cloud SQL Enterprise エディションを使用している場合は [アップグレード] をクリックし、インスタンスが Cloud SQL Enterprise Plus エディションを使用している場合は [Enterprise に切り替える] をクリックします。
  5. 開いたパネルで、新しいエディションを使用してインスタンスの構成を指定します。[インプレース変更を行う際のオプション](#change-options) をご覧ください。
  6. インスタンス ID を入力して選択内容を確認し、アップグレードまたはダウングレードに応じて [エディションのアップグレード] または [エディションの切り替え] をクリックします。

インスタンスの [アクション] 列で [編集] を選択すると、[インスタンス] ページでエディションの変更を開始することもできます。

また、インスタンスが Cloud SQL Enterprise エディションにある場合は、インスタンス ページの [構成] セクションにあるエディション フィールドの横にある [アップグレード] リンクをクリックして、アップグレードを開始できます。

gcloud

次の [`gcloud sql instance patch`](/sdk/gcloud/reference/sql/instances/patch) コードサンプルは、インスタンスを Cloud SQL Enterprise Plus エディションにアップグレードする方法を示しています。

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

省略可: --enable-data-cache フラグを追加して、インスタンスのデータ キャッシュを有効にすることもできます。

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

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

REST

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

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

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

省略可: データ キャッシュを有効にするには、dataCacheEnabled パラメータを true に設定します。

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 Plus エディションにアップグレードし、再起動オペレーションをトリガーします。

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

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

省略可: データ キャッシュを有効にするには、dataCacheEnabled パラメータを true に設定します。

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"
}

インプレース変更のオプション

Cloud SQL インスタンスのエディションを変更すると、マシンシリーズの変更が必要になることがあります。これにより、ストレージ タイプが影響を受けます。

マシンの変更

エディションを変更する場合は、マシンタイプも変更する必要があります。Cloud SQL がサポートするマシンシリーズの詳細については、マシンシリーズを選択するをご覧ください。

Cloud SQL Enterprise エディションから Cloud SQL Enterprise Plus エディションにアップグレードする場合は、N2C4AC4 のマシンシリーズから選択できます。

Cloud SQL Enterprise Plus エディションから Cloud SQL Enterprise エディションにダウングレードする場合は、汎用専用コアN4 マシンシリーズのいずれかを選択できます。

エディションを変更せずにマシンタイプを変更することもできます。インスタンスの編集を選択したら、[インスタンスをカスタマイズ] 領域の [マシンの構成] の [マシン] サブセクションに移動します。プルダウンを使用して、別のマシンタイプを選択できます。必要に応じて、別の数の VCPU を選択し、データ キャッシュを有効または無効にすることもできます。

一般的な情報については、N2C4AC4N4 マシンシリーズの Compute Engine ドキュメントもご覧ください。

ストレージの変更

汎用マシンシリーズまたは N2 マシンシリーズから N4、C4A、C4 マシンシリーズに変更すると、ストレージは ソリッド ステート ドライブ(SSD)から Google Cloud Hyperdisk Balanced ストレージに移行されます。このアップグレードでは、通常、ダウンタイムは最小限で済みます。

Google Cloud Hyperdisk Balanced ストレージは、次の設定を行うことでユースケースに合わせてカスタマイズできます。

  • ストレージ容量
  • プロビジョニングされた IOPS
  • プロビジョニングされたスループット

Google Cloud Hyperdisk Balanced は、インスタンスの構成(マシンタイプやストレージ容量など)に基づいて、デフォルトの IOPS 値とスループット値、上限を設定します。ストレージ容量によってデフォルト値の上限が決定され、マシンタイプによって IOPS とスループットの両方の最大値が設定されます。詳細については、ストレージ オプションを選択するをご覧ください。

PITR 用のログ先行書き込みの場所の変更

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

場所の変更には、次の条件が適用されます。

  • このプロセスでは、Cloud Storage への切り替えが完了するまで、およそで transactionLogRetentionDays PITR 構成設定の期間がかかります。
  • Cloud Storage への切り替え中は、transactionLogRetentionDays PITR 構成設定を変更しないことをおすすめします。transactionLogRetentionDays を増やしても、write-ahead log は Cloud SQL Enterprise エディション インスタンスのデフォルト値である 7 日間を超えてディスクに保持されません。

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

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