インプレー�� アップグレードを使用してインスタンスを 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 PostgreSQL エディションの概要をご覧ください。

既存の Cloud SQL Enterprise エディション インスタンスを強化できるようにするには、Cloud SQL Enterprise Plus エディションにアップグレードする必要があります。アップグレード プロセスが完了するまでに数分かかります。ダウンタイムはほぼゼロです。Cloud SQL Enterprise エディションに切り替えると、最大 60 秒のダウンタイムが発生することがあります。

また、このアップグレード プロセスでは、アプリケーションが接続する���ンドポイントを変更する必要はありません。

始める前に

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

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

Cloud SQL Enterprise Plus エディションにアップグレードする前に、Cloud SQL Enterprise エディションのインスタンスで、PITR に使用される write-ahead log の保存場所が切り替わるかどうかを確認してください。インスタンスの確認方法の詳細と手順については、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

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

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

  • 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 エディション インスタンスのマシンタイプをご覧ください。

省略可: データ キャッシュを有効にするには、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 エディションにアップグレードし、再起動オペレーションをトリガーします。

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

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

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 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 日間に変更されます。バックアップ構成は変更されません。

書き込みエンドポイントを自動的に生成する

書き込みエンドポイントは、現在の Cloud SQL プライマリ インスタンスの IP アドレスに自動的に解決されるグローバル ドメイン名サービス(DNS)名です。レプリカのフェイルオーバー オペレーションの場合、このエンドポイントは着信接続を新しいプライマリ インスタンスに自動的にリダイレクトします。SQL 接続文字列で IP アドレスの代わりに書き込みエンドポイントを使用できます。書き込みエンドポイントを使用すると、リージョンが停止した場合にアプリケーション接続を変更する必要がなくなります。

新しいネットワーク アーキテクチャでプライベート IP アドレスを持つインスタンスを Cloud SQL Enterprise Plus エディションにアップグレードし、Google Cloud プロジェクトで DNS API を有効にすると、Cloud SQL は書き込みエンドポイントを自動的に生成します。ただし、インスタンスに関連付けられているサーバー証明書には、書き込みエンドポイント(グローバル DNS 名)が追加されません。したがって、DNS 名を確認するには、証明書をローテーションする必要があります。この証明書のローテーションが完了すると、Cloud SQL は DNS 名を証明書に追加します。DNS 名は、サーバー ID の検証に使用できます。

次のステップ