読み取りプールを作成して管理する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このページでは、大規模な読み取りワークロードの読み取りプールを作成して管理する方法について説明します。
始める前に
- リードプールには、プライマリ インスタンスのコピーが含まれています。まだ作成していない場合は、Cloud SQL Enterprise Plus エディションのプライマリ インスタンスを作成します。リードプールはパブリック IP 接続をサポートしていますが、このガイドでは、プライベート IP(PSA)接続を使用するプライマリ インスタンスを作成します。プライマリ インスタンスとレプリケーションの詳細については、Cloud SQL でのレプリケーションについてをご覧ください。
- プライマリ インスタンスの作成後、root ユーザーのパスワードを選択し、次のコマンドを実行してプライマリ インスタンスにパスワードを設定します。このパスワードを保存して、後で読み取りプールに接続するときに使用します。
gcloud --project=PROJECT \
sql users set-password root --host=% \
--instance=PRIMARY_INSTANCE_NAME --prompt-for-password
次のように置き換えます。
- PROJECT: プライマリ インスタンスと読み取りプールを配置するプロジェクトの名前。
- PRIMARY_INSTANCE_NAME: プライマリ インスタンスの名前。
読み取りプールを作成する
gcloud
gcloud CLI のインストールと使用開始については、gcloud CLI をインストールするをご覧ください。Cloud Shell の起動については、Cloud Shell を使用するをご覧ください。
次の gcloud beta sql instances create
コマンドを使用して、複数のリードルーム ノードを含むリードルームを作成します。
gcloud beta sql instances create READ_POOL_NAME \
--tier=TIER --edition=ENTERPRISE_PLUS \
--instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \
--master-instance-name=PRIMARY_INSTANCE_NAME
次のように置き換えます。
- READ_POOL_NAME: 読み取りプールに使用する名前。
- TIER: 読み取りプールの各読み取りプールノードに使用するマシンタイプ(
db-perf-optimized-N-4
など)。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
- PRIMARY_INSTANCE_NAME: 読み取りプールに関連付けられているプライマリ インスタンスの名前(
my-primary-instance
など)。
REST v1
インスタンス リソースの
insert
メソッドを使用して、複数のリードレプリカ ノードを含むリードプールを作成します。databaseVersion
プロパティはプライマリと同じにする必要があります。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: プライマリ インスタンスと読み取りプールを配置するプロジェクトの名前。
- REGION: 読み取りプールのリージョン(
us-east1
など)。リージョンはプライマリ インスタンスと同じにする必要があります。
- TIER: 読み取りプールの各読み取りプールノードに使用するマシンタイプ(
db-perf-optimized-N-4
など)。
- PRIMARY_INSTANCE_NAME: プライマリ インスタンスの名前。
- READ_POOL_NAME: 読み取りプールに使用する名前(
my-read-pool
など)。
- DATABASE_VERSION: 使用するデータベース バージョン。例:
MYSQL_8_0_37
。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
- FULL_NETWORK_NAME: 読み取りプールを配置する完全なネットワーク パス(
projects/vpc-host-project/global/networks/my-network-name
など)。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT/instances
リクエストの本文(JSON):
{
"name": "READ_POOL_NAME",
"masterInstanceName": "PRIMARY_INSTANCE_NAME",
"project": "PROJECT",
"databaseVersion": "DATABASE_VERSION",
"region": "REGION",
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT,
"settings": {
"tier": "TIER",
"edition": "ENTERPRISE_PLUS",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "FULL_NETWORK_NAME"
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-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/instances"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_READ_POOL",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
インスタンス リソースの
insert
メソッドを使用して、複数のリードレプリカ ノードを含むリードプールを作成します。databaseVersion
プロパティはプライマリと同じにする必要があります。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: プライマリ インスタンスと読み取りプールを配置するプロジェクトの名前。
- REGION: 読み取りプールのリージョン(
us-east1
など)。リージョンはプライマリ インスタンスと同じにする必要があります。
- TIER: 読み取りプールの各読み取りプールノードに使用するマシンタイプ(
db-perf-optimized-N-4
など)。
- PRIMARY_INSTANCE_NAME: プライマリ インスタンスの名前。
- READ_POOL_NAME: 読み取りプールに使用する名前(
my-read-pool
など)。
- DATABASE_VERSION: 使用するデータベース バージョン。例:
MYSQL_8_0_37
。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
- FULL_NETWORK_NAME: 読み取りプールを配置する完全なネットワーク パス(
projects/vpc-host-project/global/networks/my-network-name
など)。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances
リクエストの本文(JSON):
{
"name": "READ_POOL_NAME",
"masterInstanceName": "PRIMARY_INSTANCE_NAME",
"project": "PROJECT",
"databaseVersion": "DATABASE_VERSION",
"region": "REGION",
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT,
"settings": {
"tier": "TIER",
"edition": "ENTERPRISE_PLUS",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "FULL_NETWORK_NAME"
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-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/instances"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_READ_POOL",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
リードレプリカをリードプールに変換する
既存の Cloud SQL Enterprise Plus エディションのリードレプリカをリードプールに変換するには、プールのノード数を指定します。この変換プロセス中に、レプリカ IP が読み取りプール IP(読み取りエンドポイント)になるため、既存のクライアントは再構成せずにプールに接続できます。
新しく作成されたリードプール ノードには、元のリードレプリカと同じマシンタイプと構成が設定されます。このマシンタイプまたは構成を変更するには、別のオペレーションが必要です。このオペレーションは、ゾーンリードレプリカでのみサポートされています。高可用性(HA)リードレプリカをリードプールに変換するには、まずリージョン リードレプリカに変換する必要があります。
詳細については、読み取りプールの構成を編集するをご覧ください。
gcloud
gcloud CLI のインストールと使用開始については、gcloud CLI をインストールするをご覧ください。Cloud Shell の起動については、Cloud Shell を使用するをご覧ください。
次の gcloud beta sql instances patch
コマンドを使用して、リードレプリカをリードプールで使用するように変換します。
gcloud beta sql instances patch READ_REPLICA_NAME \
--instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT
次のように置き換えます。
- READ_REPLICA_NAME: 変換するリードレプリカの名前。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
REST v1
インスタンス リソースの
patch
メソッドを使用して、リードレプリカをリードプールに変換します。
リクエストのデータを使用する前に、次のように置き換えます。
- READ_REPLICA_NAME: 変換するリードレプリカの名前(例:
my-read-replica
)。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME
リクエストの本文(JSON):
{
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_REPLICA_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/instances/READ_REPLICA_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_REPLICA_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
インスタンス リソースの
patch
メソッドを使用して、リードレプリカをリードプールに変換します。
リクエストのデータを使用する前に、次のように置き換えます。
- READ_REPLICA_NAME: 変換するリードレプリカの名前(例:
my-read-replica
)。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME
リクエストの本文(JSON):
{
"instanceType": "READ_POOL_INSTANCE",
"nodeCount": NODE_COUNT
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_REPLICA_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/instances/READ_REPLICA_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_REPLICA_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
読み取りプールをリードレプリカに変換する
gcloud
gcloud CLI のインストールと使用開始については、gcloud CLI をインストールするをご覧ください。Cloud Shell の起動については、Cloud Shell を使用するをご覧ください。
次の gcloud beta sql instances patch
コマンドを使用して、リードレプリカをリードプールで使用するように変換します。
gcloud beta sql instances patch READ_POOL_NAME \
--instance-type=READ_REPLICA_INSTANCE
次のように置き換えます。
- READ_POOL_NAME: 変換する読み取りプールの名前。
REST v1
インスタンス リソースの
patch
メソッドを使用して、リードプールをリードレプリカに変換します。
リクエストのデータを使用する前に、次のように置き換えます。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
リクエストの本文(JSON):
{
"instanceType": "READ_REPLICA_INSTANCE"
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_POOL_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/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
インスタンス リソースの
patch
メソッドを使用して、リードプールをリードレプリカに変換します。
リクエストのデータを使用する前に、次のように置き換えます。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
リクエストの本文(JSON):
{
"instanceType": "READ_REPLICA_INSTANCE"
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_POOL_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/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
読み取りプール情報を表示する
gcloud
gcloud CLI のインストールと使用開始については、gcloud CLI をインストールするをご覧ください。Cloud Shell の起動については、Cloud Shell を使用するをご覧ください。
次の gcloud beta sql instances describe
コマンドを使用して、読み取りプールの説明を取得します。
gcloud beta sql instances describe READ_POOL_NAME
次のように置き換えます。
- READ_POOL_NAME: 説明する読み取りプールの名前。
IP アドレスとノード情報を含むレスポンスの例は次のようになります。
...
connectionName: my-project:us-central1:read-pool
ipAddresses:
- ipAddress: 10.3.0.108
type: PRIVATE
nodeCount: 2
nodes:
- dnsName: c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.
gceZone: us-central1-f
ipAddresses:
- ipAddress: 10.3.0.112
type: PRIVATE
name: read-pool-node-01
state: RUNNABLE
- dnsName: 8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.
gceZone: us-central1-c
ipAddresses:
- ipAddress: 10.3.0.113
type: PRIVATE
name: read-pool-node-02
state: RUNNABLE
REST v1
読み取りプールの詳細を表示するには、
get
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
[...],
"connectionName": "my-project:us-central1:read-pool",
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.108"
}
],
"nodeCount": 2,
"nodes": [
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.112"
}
],
"name": "read-pool-node-01",
"gceZone": "us-central1-f",
"dnsName": "c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
},
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.113"
}
],
"name": "read-pool-node-02",
"gceZone": "us-central1-c",
"dnsName": "8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
}
]
}
REST v1beta4
読み取りプールの詳細を表示するには、
get
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
[...],
"connectionName": "my-project:us-central1:read-pool",
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.108"
}
],
"nodeCount": 2,
"nodes": [
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.112"
}
],
"name": "read-pool-node-01",
"gceZone": "us-central1-f",
"dnsName": "c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
},
{
"ipAddresses": [
{
"type": "PRIVATE",
"ipAddress": "10.3.0.113"
}
],
"name": "read-pool-node-02",
"gceZone": "us-central1-c",
"dnsName": "8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.",
"state": "RUNNABLE"
}
]
}
読み取りプール ノードを追加または削除する
次の手順では、読み取りプール内の読み取りプールノードの数を変更して、読み取りプールをスケールインまたはスケールアウトします。操作には制限が適用されます。詳細については、読み取りプールの制限事項をご覧ください。
gcloud
gcloud CLI のインストールと使用開始については、gcloud CLI をインストールするをご覧ください。Cloud Shell の起動については、Cloud Shell を使用するをご覧ください。
次の gcloud beta sql instances patch
コマンドを使用して、読み取りプールをスケーリングします。
gcloud beta sql instances patch READ_POOL_NAME \
--node-count=NODE_COUNT
次のように置き換えます。
- READ_POOL_NAME: 読み取りプールの名前。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
REST v1
patch
メソッドを使用して、リードプール内のリードプール ノードの数を変更することで、リードプールをスケールインまたはスケールアウトします。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
リクエストの本文(JSON):
{
"nodeCount": NODE_COUNT
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_POOL_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/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
patch
メソッドを使用して、リードプール内のリードプール ノードの数を変更することで、リードプールをスケールインまたはスケールアウトします。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- NODE_COUNT: 読み取りプールに必要な読み取りプール ノードの数。
1
~20
の数値を選択します。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
リクエストの本文(JSON):
{
"nodeCount": NODE_COUNT
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_POOL_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/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAMEINSTANCE_ID",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
読み取りプール構成を編集する
リードプールの構成を編集する手順は次のとおりです。詳細については、インスタンスの設定についてとインスタンスを編集するをご覧ください。
gcloud
gcloud CLI のインストールと使用開始については、gcloud CLI をインストールするをご覧ください。Cloud Shell の起動については、Cloud Shell を使用するをご覧ください。
次の gcloud beta sql instances patch
コマンドを使用して、マシンタイプの変更などにより、読み取りプールを垂直方向にスケーリングします。
gcloud beta sql instances patch READ_POOL_NAME \
--tier=TIER
次のように置き換えます。
- READ_POOL_NAME: 読み取りプールの名前。
- TIER: 読み取りプールの各読み取りプールノードに適用するマシンタイプ(
db-perf-optimized-N-8
など)。
REST v1
patch
メソッドを使用して、読み取りプール ノードの構成を変更します。設定は、読み取りプール内のすべての読み取りプールノードに均一に適用されます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- TIER: 読み取りプールの各読み取りプールノードに使用するマシンタイプ(
db-perf-optimized-N-4
など)。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
リクエストの本文(JSON):
{
"settings": {
"tier": "TIER"
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_POOL_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/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
patch
メソッドを使用して、読み取りプール ノードの構成を変更します。設定は、読み取りプール内のすべての読み取りプールノードに均一に適用されます。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- TIER: 読み取りプールの各読み取りプールノードに使用するマシンタイプ(
db-perf-optimized-N-4
など)。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
リクエストの本文(JSON):
{
"settings": {
"tier": "TIER"
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
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/instances/READ_POOL_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/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
読み取りプールに接続する
読み取りプールに接続する方法はいくつかあります。次の手順では、同じ VPC ネットワーク内に VM を作成して接続元として機能させ、プライベート IP アドレスを持つ読み取りプールに接続する方法を示します。
Cloud SQL インスタンスへの接続を構成する他の方法については、Cloud SQL 接続についてをご覧ください。通常、接続方法では、読み取りプール情報を表示するで説明されているように、まずインスタンスの IP アドレスまたは接続名を取得する必要があります。読み取りプールは、他の Cloud SQL インスタンスで使用可能な接続方法のほとんどをサポートしていますが、いくつかの制限があります。
Cloud SQL Auth Proxy または Cloud SQL コネクタを使用して接続する場合は、必ず最新バージョンに更新してください。読み取りプールのサポートに必要な最小バージョンは次のとおりです。
- Cloud SQL Auth Proxy: v2.15.2
- Cloud SQL Python コネクタ: v1.18.0
- Cloud SQL Go コネクタ: v1.16.0
- Cloud SQL Node コネクタ: v1.7.0
- Cloud SQL Java コネクタ: v1.24.0
リードプールを削除する
gcloud
gcloud CLI のインストールと使用開始については、gcloud CLI をインストールするをご覧ください。Cloud Shell の起動については、Cloud Shell を使用するをご覧ください。
次の gcloud sql instances delete
コマンドを使用して、読み取りプールを削除します。
gcloud sql instances delete READ_POOL_NAME
次のように置き換えます。
- READ_POOL_NAME: 削除する読み取りプールの名前。
REST v1
読み取りプールを削除するには、
delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
REST v1beta4
読み取りプールを削除するには、
delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 読み取りプールが存在するプロジェクトの名前。
- READ_POOL_NAME: 読み取りプールの名前(
my-read-pool
など)。
HTTP メソッドと URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
レスポンス
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE",
"name": "OPERATION_ID",
"targetId": "READ_POOL_NAME",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/operations/OPERATION_ID",
"targetProject": "PROJECT"
}
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-05-08 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-05-08 UTC。"],[],[]]