このページでは、既存の Cloud SQL インスタンスを編集する方法について説明します。
インスタンスの作成後、そのインスタンスの実行中に編集して設定を変更できます。インスタンスの設定と、設定の変更によるインスタンスへの影響については、インスタンスの設定をご覧ください。
インスタンスの編集
ほとんどの編集は、実行中のインスタンスにのみ適用できます。
コンソール
- 
Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。
 - インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
 - [編集] をクリックします。
 - [インスタンスのカスタマイズ] セクションで [構成オプションを表示] メニューが表示されたら、それをクリックします。
 インスタンスで編集可能な設定を更新します。
詳しくは、インスタンスの設定をご覧ください。
- [保存] をクリックします。
 
gcloud
このコマンドは、バックアップの開始時刻を変更します。
gcloud sql instances patch INSTANCE_NAME \ --backup-start-time 16:00
このコマンドにより、BigQuery などの他の Google Cloud サービスが Cloud SQL 内のデータにアクセスし、内部接続を介してそのデータに対するクエリを実行できるようになります。
gcloud sql instances patch INSTANCE_NAME \ --enable-google-private-path
再起動が必要な値を変更した場合、変更の続行またはキャンセルの選択を求められます。
インスタンス構成フラグの詳細については、gcloud SQL インスタンスのパッチをご覧ください。
REST v1
このコマンドを使用して、バックアップ開始時間を変更でき、BigQuery などの他の Google Cloudサービスが、Cloud SQL 内のデータにアクセスし、内部接続を介してそのデータに対するクエリを実行できるようにすることができます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
 - INSTANCE_ID: インスタンス ID
 - PRIVATE_NETWORK: プライベート接続の作成のために追加または選択するネットワーク
 
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{
  "settings": {
    "backupConfiguration": {
      "startTime": "16:00",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": 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 API リクエストがこのタスクでどのように作成されるかについては、instances:patch ページの API Explorer をご覧ください。REST v1beta4
このコマンドを使用して、バックアップ開始時間を変更でき、BigQuery などの他の Google Cloudサービスが、Cloud SQL 内のデータにアクセスし、内部接続を介してそのデータに対するクエリを実行できるようにすることができます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID
 - INSTANCE_ID: インスタンス ID
 - PRIVATE_NETWORK: プライベート接続の作成のために追加または選択するネットワーク
 
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
リクエストの本文(JSON):
{
  "settings": {
    "backupConfiguration": {
      "startTime": "16:00",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": true
    }
}リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}
再起動が必要な値を変更した場合、変更の続行またはキャンセルの選択を求められます。
基盤となる REST API リクエストがこのタスクでどのように作成されるかについては、instances:patch ページの API Explorer をご覧ください。Private Service Connect が有効になっているインスタンスを編集する
gcloud CLI または API を使用して、Private Service Connect が有効になっているインスタンスを更新できます。たとえば、インスタンスに関連付けられたプロジェクトを次の目的で更新できます。
- Private Service Connect エンドポイントから Cloud SQL インスタンスへの接続を許可する。
 - 許可されたプロジェクトのリストからプロジェクトを削除する。削除されたプロジェクトでは、既存の Private Service Connect エンドポイントへの接続は引き続き機能しますが、新しいエンドポイントは受け入れられません。
 
gcloud
Private Service Connect を使用できるプロジェクトを更新するには、gcloud sql instances patch コマンドを使用します。
gcloud sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --allowed-psc-projects=ALLOWED_PROJECTS
次の項目を置き換えます。
- INSTANCE_NAME: VPC ネットワーク内の Private Service Connect エンドポイントが接続できる Cloud SQL インスタンスの名前。
 - PROJECT_ID: VPC ネットワーク内の Private Service Connect エンドポイントが接続できるインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号。
 - ALLOWED_PROJECTS: 許可されているプロジェクト ID または番号のリスト(カンマ区切り)。これらのプロジェクトは、Private Service Connect を使用するようにすでに構成されているプロジェクトをオーバーライドします。このリストにプロジェクトが含まれていない場合、対象のプロジェクトを使用してインスタンスを作成し、Private Service Connect を有効にすることはできません。
 
次の例では、2 つのプロジェクト(98765 と 87654)が Private Service Connect エンドポイントから 12345 プロジェクトに含まれる myinstance Cloud SQL インスタンスに接続することを許可します。
gcloud sql instances patch myinstance \ --project=12345 \ --allowed-psc-projects='98765','87654'
許可されたプロジェクトをすべて削除するには、gcloud sql instances patch コマンドと --clear-allowed-psc-projects フラグを使用します。
gcloud sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --clear-allowed-psc-projects
このフラグを使用することで、プロジェクトが誤って許可されないようにします。
REST v1
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: VPC ネットワーク内の Private Service Connect エンドポイントが接続できるインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号。
 - INSTANCE_NAME: VPC ネットワーク内の Private Service Connect エンドポイントが接続できる Cloud SQL インスタンスの名前。
 - ALLOWED_PROJECTS: 許可されているプロジェクト ID または番号のリスト(カンマ区切り)。これらのプロジェクトは、Private Service Connect を使用するようにすでに構成されているプロジェクトをオーバーライドします。このリストにプロジェクトが含まれていない場合、対象のプロジェクトを使用してインスタンスを作成し、Private Service Connect を有効にすることはできません。
 
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
リクエストの本文(JSON):
{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "allowedConsumerProjects": [ALLOWED_PROJECTS]
      }
    },
    "kind": "sql#settings"
  }
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}
許可されたプロジェクトをすべて削除するには、clear-allowed-psc-projects フラグを使用します。このフラグを使用することで、プロジェクトが誤って許可されないようにします。
REST v1beta4
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: VPC ネットワーク内の Private Service Connect エンドポイントが接続できるインスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号。
 - INSTANCE_NAME: VPC ネットワーク内の Private Service Connect エンドポイントが接続できる Cloud SQL インスタンスの名前。
 - ALLOWED_PROJECTS: 許可されているプロジェクト ID または番号のリスト(カンマ区切り)。これらのプロジェクトは、Private Service Connect を使用するようにすでに構成されているプロジェクトをオーバーライドします。このリストにプロジェクトが含まれていない場合、対象のプロジェクトを使用してインスタンスを作成し、Private Service Connect を有効にすることはできません。
 
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
リクエストの本文(JSON):
{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "allowedConsumerProjects": [ALLOWED_PROJECTS]
      }
    },
    "kind": "sql#settings"
  }
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}
許可されたプロジェクトをすべて削除するには、clear-allowed-psc-projects フラグを使用します。このフラグを使用することで、プロジェクトが誤って許可されないようにします。
インスタンスのカスタム SAN を編集する
IP アドレスではなくカスタム DNS 名を使用して Cloud SQL インスタンスに接続する場合は、インスタンスの作成時にカスタム サブジェクト代替名(SAN)設定を構成します。カスタム SAN 設定に挿入したカスタム DNS 名は、インスタンスのサーバー証明書の SAN フィールドに追加されます。これにより、ホスト名の検証でカスタム DNS 名を安全に使用できます。
インスタンスのサーバー証明書のカスタム SAN を使用して、次の操作を行うことができます。
- インスタンスに DNS 名を追加する: カスタム SAN 設定に、最大 3 つのカスタム DNS 名をカンマ区切りのリストで追加します。Cloud SQL は、これらの名前をサーバー証明書の SAN フィールドに追加します。1 つの証明書で複数の DNS 名を保護できます。
 - インスタンスの DNS 名を変更する: インスタンスのサーバー証明書の SAN フィールドに追加するカスタム DNS 名を変更します。
 - インスタンスから DNS 名を削除する: インスタンスのサーバー証明書の SAN フィールドからすべてのカスタム DNS 名を削除します。
 
インスタンスのカスタム SAN を編集するには、gcloud CLI または API を使用します。
gcloud
インスタンスのカスタム SAN を編集するには、gcloud sql instances patch コマンドを使用します。
gcloud sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --custom-subject-alternative-names=DNS_NAMES
次のように置き換えます。
- INSTANCE_NAME: DNS 名を追加、変更、削除するサーバー証明書を持つ Cloud SQL インスタンスの名前
 - PROJECT_ID: インスタンスが含まれている Google Cloud プロジェクトの ID またはプロジェクト番号
 - DNS_NAMES: インスタンスのサーバー証明書に追加する最大 3 つの DNS 名のカンマ区切りのリスト
 
Cloud SQL インスタンスのサーバー証明書からすべての DNS 名を削除するには、gcloud sql instances patch コマンドと --clear-custom-subject-alternative-names フラグを使用します。
gcloud sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --clear-custom-subject-alternative-names
このフラグを使用すると、DNS 名が証明書に誤って追加されなくなります。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID またはプロジェクト番号。このプロジェクトには、DNS 名を追加、変更、削除するサーバー証明書を持つ Cloud SQL インスタンスが含まれています。
 - INSTANCE_NAME: インスタンスの名前。
 DNS_NAMES: インスタンスのサーバー証明書に追加する最大 3 つの DNS 名のカンマ区切りリスト。
証明書に追加した DNS 名がすでに存在し、このパラメータを使用して別の DNS 名を指定すると、Cloud SQL は元の DNS 名を証明書から削除します。
customSubjectAlternativeNamesパラメータに DNS 名を指定せず、代わりに null の[]値を指定した場合は、Cloud SQL によってインスタンスのサーバー証明書からすべての DNS 名が削除されます。これにより、DNS 名が誤って証明書に追加されることがなくなります。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1veta4/projects/PROJECT_ID/instances/INSTANCE_NAME
リクエストの本文(JSON):
{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "customSubjectAlternativeNames": "DNS_NAMES"
    },
    "kind": "sql#settings"
  }
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}