このページでは、既存の Cloud SQL インスタンスを編集する方法について説明します。
インスタンスの作成後、そのインスタンスの実行中に編集して設定を変更できます。インスタンスの設定と、設定の変更によるインスタンスへの影響については、インスタンスの設定をご覧ください。
インスタンスを編集する
ほとんどの編集は、実行中のインスタンスにのみ適用できます。
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- [編集] をクリックします。
- [インスタンスのカスタマイズ] セクションで [構成オプションを表示] メニューが表示されたら、それをクリックします。
インスタンスで編集可能な設定を更新します。
詳しくは、インスタンスの設定をご覧ください。
- [保存] をクリックします。
このコマンドは、バックアップの開始時刻を変更します。
gcloud sql instances patchINSTANCE_NAME \ --backup-start-time 16:00
このコマンドにより、BigQuery などの他の Google Cloud サービスが、Cloud SQL 内のデータにアクセスし、内部接続を介してそのデータに対するクエリを実行できるようになります。
gcloud sql instances patchINSTANCE_NAME \ --enable-google-private-path
再起動が必要な値を変更した場合、変更の続行またはキャンセルの選択を求められます。
インスタンス構成フラグの詳細については、gcloud SQL インスタンスのパッチをご覧ください。
このコマンドを使用して、バックアップ開始時間を変更でき、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 } }
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID " | Select-Object -Expand Content
次のような 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 をご覧ください。このコマンドを使用して、バックアップ開始時間を変更でき、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 } }
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID " | Select-Object -Expand Content
次のような 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 エンドポイントへの接続は引き続き機能しますが、新しいエンドポイントは受け入れられません。
Private Service Connect を使用できるプロジェクトを更新するには、gcloud sql instances patch
コマンドを使用します。
gcloud sql instances patchINSTANCE_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 patchINSTANCE_NAME \ --project=PROJECT_ID \ --clear-allowed-psc-projects
このフラグを使用することで、プロジェクトが誤って許可されないようにします。
リクエストのデータを使用する前に、次のように置き換えます。
- 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" } }
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
次のような 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
フラグを使用します。このフラグを使用することで、プロジェクトが誤って許可されないようにします。
リクエストのデータを使用する前に、次のように置き換えます。
- 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" } }
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_NAME " | Select-Object -Expand Content
次のような 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
フラグを使用します。このフラグを使用することで、プロジェクトが誤って許可されないようにします。