このページでは、Cloud SQL のデータベース フラグを構成する方法について説明し、インスタンスに設定できるフラグの一覧も示します。データベース フラグは、SQL Server パラメータの調整、オプションの調整、インスタンスの構成や調整など、多くの操作で使用します。
データベース インスタンスのフラグを設定、削除、変更すると、データベースが再起動される場合があります。その場合、フラグの値はフラグを削除するまでインスタンスに対して保持されます。インスタンスがレプリカのソースで、インスタンスが再起動されると、レプリカはインスタンスの現在の構成に合わせて再起動します。
データベース フラグを構成する
以降のセクションでは、一般的なフラグ管理タスクについて説明します。
データベース フラグを設定する
コンソール
- Google Cloud コンソールで、データベース フラグを設定する Cloud SQL インスタンスを含むプロジェクトを選択します。
- インスタンスを開き、[編集] をクリックします。
- [フラグ] セクションに移動します。
- それまでにインスタンスで設定したことのないフラグを設定するには、[項目を追加] をクリックし、プルダウン メニューからフラグを選択して、その値を設定します。
- [保存] をクリックして、変更を保存します。
- [概要] ページの [フラグ] で、変更を確認します。
gcloud
インスタンスを編集します。
gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2
このコマンドでは、以前に設定されたすべてのデータベース フラグが上書きされます。これらを保持し、新しいフラグを追加するには、インスタンスに設定するすべてのフラグの値を含めます。具体的に含まれていないフラグはデフォルト値に設定されます。値のないフラグについては、フラグ名の後に等号(=)を付けておきます。
たとえば、フラグ 1204、remote access、remote query timeout (s) を設定するには、次のコマンドを使用します。
gcloud sql instances patch INSTANCE_NAME \ --database-flags="1204"=on,"remote access"=on,"remote query timeout (s)"=300
Terraform
データベース フラグを追加するには、Terraform リソースを使用します。
変更を適用する
Google Cloud プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。
Cloud Shell を準備する
- Cloud Shell を起動します。
-
Terraform 構成を適用するデフォルトの Google Cloud プロジェクトを設定します。
このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。
ディレクトリを準備する
Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。
-
Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は
.tfにする必要があります(例:main.tf)。このチュートリアルでは、このファイルをmain.tfとします。mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。
新しく作成した
main.tfにサンプルコードをコピーします。必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。
- 環境に適用するサンプル パラメータを確認し、変更します。
- 変更を保存します。
-
Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行います。
terraform init
最新バージョンの Google プロバイダを使用する場合は、
-upgradeオプションを使用します。terraform init -upgrade
変更を適用する
-
構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
terraform plan
必要に応じて構成を修正します。
-
次のコマンドを実行します。プロンプトで「
yes」と入力して、Terraform 構成を適用します。terraform apply
Terraform に「Apply complete!」というメッセージが表示されるまで待ちます。
- Google Cloud プロジェクトを開いて結果を表示します。 Google Cloud コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。
変更を削除する
変更を削除するには、次の手順を行います。
- 削除からの保護を無効にするには、Terraform 構成ファイルで
deletion_protection引数をfalseに設定します。deletion_protection = "false"
- 次のコマンドを実行します。プロンプトで「
yes」と入力して、更新された Terraform 構成を適用します。terraform apply
-
次のコマンドを実行します。プロンプトで「
yes」と入力して、以前に Terraform 構成で適用されたリソースを削除します。terraform destroy
REST v1
既存のデータベースのフラグを設定するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{
"settings":
{
"databaseFlags":
[
{
"name": "flag_name",
"value": "flag_value"
}
]
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。
REST v1beta4
既存のデータベースのフラグを設定するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{
"settings":
{
"databaseFlags":
[
{
"name": "flag_name",
"value": "flag_value"
}
]
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
データベースにすでに構成されているフラグがある場合は、以前のコマンドを変更するときにそれらのフラグも含めるようにします。PATCH コマンドは、既存のフラグをリクエストで指定されているフラグで上書きします。
すべてのフラグをデフォルト値にクリアする
コンソール
- Google Cloud コンソールで、すべてのフラグをクリアする Cloud SQL インスタンスが含まれているプロジェクトを選択します。
- インスタンスを開き、[編集] をクリックします。
- [データベースのフラグ] セクションを開きます。
- 表示されているフラグの横にある X をクリックします。
- [保存] をクリックして、変更を保存します。
gcloud
インスタンスのすべてのフラグをデフォルト値にクリアします。
gcloud sql instances patch INSTANCE_NAME \ --clear-database-flags
インスタンスを再起動する確認を求められます。
REST v1
既存のインスタンスのフラグをすべてクリアするには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{
"settings":
{
"databaseFlags": []
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
REST v1beta4
既存のインスタンスのフラグをすべてクリアするには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストの本文(JSON):
{
"settings":
{
"databaseFlags": []
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
インスタンスに設定されているデータベース フラグを確認する
Cloud SQL インスタンスに対して設定されているフラグを確認するには:
コンソール
- Google Cloud コンソールで、設定されているデータベース フラグを確認する Cloud SQL インスタンスを含むプロジェクトを選択します。
- インスタンスを選択して、[インスタンスの概要] ページを開きます。
設定済みのデータベース フラグは、[データベースのフラグ] セクションに一覧表示されます。
gcloud
インスタンスの状態を取得します。
gcloud sql instances describe INSTANCE_NAME
出力では、データベース フラグは settings の下にコレクション databaseFlags として一覧表示されます。出力でのフラグの表示の詳細については、インスタンスのリソースの表示をご覧ください。
REST v1
インスタンスに構成されているフラグを一覧表示するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
出力で databaseFlags フィールドを探します。
REST v1beta4
インスタンスに構成されているフラグを一覧表示するには:
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
出力で databaseFlags フィールドを探します。
サポートされているフラグ
Cloud SQL では、このセクションに記載されているフラグのみがサポートされます。
| Cloud SQL フラグ | 型 有効な値と注意事項 |
再起動が 必要か |
|---|---|---|
| 1204(トレースフラグ) | booleanon | off |
× |
| 1222(トレースフラグ) | booleanon | off |
× |
| 1224(トレースフラグ) | booleanon | off |
× |
| 2528(トレースフラグ) | booleanon | off |
× |
| 3205(トレースフラグ) | booleanon | off |
× |
| 3226(トレースフラグ) | booleanon | off |
× |
| 3625(トレースフラグ) | booleanon | off |
○ |
| 4199(トレースフラグ) | booleanon | off |
× |
| 4616(トレースフラグ) | booleanon | off |
× |
| 7806(トレースフラグ) | booleanon | off |
○ |
| access check cache bucket count | integer0 ... 65536 |
× |
| access check cache quota | integer0 ... 2147483647 |
× |
| affinity mask | integer2147483648 ... 2147483647 |
○ |
| agent xps | booleanon | off |
× |
| automatic soft-numa disabled | booleanon | off |
○ |
| cloud sql xe バケット名 | stringバケット名は、接頭辞 gs:// で始まる必要があります。 |
× |
| cloud sql xe 出力の合計ディスクサイズ(MB) | integer10~512 |
× |
| cloud sql xe ファイルの保持時間(分) | integer0~10080 |
× |
| cloud sql xe アップロード間隔(分) | integer1~60 |
× |
| cloudsql enable linked servers | booleanon | off |
× |
| cost threshold for parallelism | integer0 ... 32767 |
× |
| contained database authentication | booleanon | off |
× |
| cross db ownership chaining | booleanon | off
|
× |
| cursor threshold | integer-1 ... 2147483647 |
× |
| default full-text language | integer0 ... 2147483647 |
× |
| デフォルトの言語 | integer0~32 |
× |
| default trace enabled | booleanon | off |
× |
| disallow results from triggers | booleanon | off |
× |
| external scripts enabled | booleanon | off |
○ |
| ft crawl bandwidth (max) | integer0 ... 32767 |
× |
| ft crawl bandwidth (min) | integer0 ... 32767 |
× |
| ft notify bandwidth (max) | integer0 ... 32767 |
× |
| ft notify bandwidth (min) | integer0 ... 32767 |
× |
| fill factor (%) | integer0 ... 100 |
○ |
| index create memory (kb) | integer704 ... 2147483647 |
× |
| locks | integer5000 ... 2147483647 |
○ |
| max degree of parallelism(MAXDOP) | integer0 ... 32767 |
× |
| max server memory (mb) | integer1000...2147483647
Cloud SQL では、Microsoft の推奨値に基づいて、インスタンスにこのフラグの値を設定できます。詳細については、特別なフラグをご覧ください。 |
× |
| max text repl size (b) | integer |