割り当てと上限

このページでは、Cloud SQL の割り当てと上限について説明します。 割り当てはプロジェクト単位で適用されます。上限は、その内容に応じて、インスタンスまたはプロジェクトに適用されます。

割り当ての確認

プロジェクト用の現在のリソースの割り当ては、Google Cloud Console の [割り当て] ページで確認できます。

割り当てを引き上げる

Google Cloud の使用量が多くなるに伴い、割り当てを引き上げることができます。使用量の大幅な増加が見込まれる場合は、十分なサイズの割り当てを確保できるように、数日前にリクエストしてください。

  1. [割り当て] ページの [サービス] プルダウン リストから [Cloud SQL Admin API] を選択します。

    [Cloud SQL Admin API] が表示されない場合は、Cloud SQL Admin API が有効になっていません。

  2. 変更する割り当てを選択します。

  3. [割り当てを編集] をクリックします。

  4. 名前、メールアドレス、電話番号を入力して、[次へ] をクリックします。

  5. 割り当てリクエストを入力して、[リクエストを送信] をクリックします。

リクエストの送信後、48 時間以内に Cloud SQL チームから返信いたします。

リソース割り当てが補充される時刻

割り当ては、毎日太平洋時間の深夜 0 時に補充されます。

割り当てとリソースの可用性

リソースの割り当てとは、そのリソースの種類で作成できる最大リソース数のことですが、それだけのリソースが利用可能であることが条件となります。割り当てが適用されているからといって、そのリソースを常に利用できるわけではありません。ご利用のリージョンでリソースが物理的に利用不可能である場合、プロジェクトに割り当て量が残っていても、その種類のリソースを新たに作成することはできません。

上限

定期的に補充されず、Google Cloud Console の割り当てページに表示されないいくつかの Cloud SQL リソースには、上限が課されます。上限には、引き上げることができるものとできないものがあります。

引き上げることができる上限

プロジェクトあたりのインスタンス数

デフォルトでは、プロジェクトあたりの最大インスタンス数は 40 です。この数を引き上げる必要がある場合は、サポートケースを送信してリクエストしてください。

最大同時接続数

MySQL

max_connections フラグを使用すると、接続数の上限を構成できます。ただし、インスタンスの安定性を確保するため、Cloud SQL チームはデフォルトの接続数上限を使用することをおすすめします。データベースに接続して次のコマンドを実行すると、インスタンスの接続数上限を確認できます。 SHOW VARIABLES LIKE "max_connections";

Cloud SQL for MySQL デフォルト接続数上限

マシンタイプ デフォルトの同時接続数
db-f1-micro 250
db-g1-small 1,000
その他のすべてのマシンタイプ 4,000

PostgreSQL

max_connections フラグを使用すると、接続数の上限を構成できます。ただし、インスタンスの安定性を確保するため、Cloud SQL チームはデフォルトの接続数上限を使用することをおすすめします。

Cloud SQL for PostgreSQL インスタンスを作成すると、マシンタイプ構成設定により、選択したコア数に基づき、自動的に利用可能なメモリサイズの範囲が調整されます。これにより、インスタンスに設定される当初のデフォルトの接続数上限も設定されます。

データベースに接続して次のコマンドを実行すると、インスタンスの接続数上限を確認できます。 SELECT * FROM pg_settings WHERE name = 'max_connections';

レプリカの値は、プライマリの値以上の値である必要があります。プライマリの変更は、プライマリの新しい値よりも小さい値を持つレプリカか、デフォルト値から変更されていないレプリカに反映されます。

Cloud SQL for PostgreSQL の接続数上限

メモリサイズ(GB) 最大同時接続数のデフォルト1
0.6(db-f1-micro) 25
1.7(db-g1-small) 50
3.75~6 100
6~7.5 200
7.5~15 400
15~30 500
30~60 600
60~120 800
120~ 1000

1Cloud SQL for PostgreSQL は、内部オペレーション用にこれらのうち最大 6 個の接続数を予約しています。

SQL Server

実際に接続可能なユーザー接続数は、使用している SQL Server のバージョンに依存し、さらに使用しているアプリケーションとハードウェアの制限にも依存します。SQL Server で接続可能なユーザー接続数は、最大 32,767 個までです。

SQL Server でのユーザー接続の構成については、リファレンス ドキュメントをご覧ください。

引き上げることができない上限

テーブルの上限

Cloud SQL for MySQL の場合、インスタンスあたりのテーブル数の上限は 10,000 です。テーブルが多すぎると、Cloud SQL インスタンスのパフォーマンスに大きな影響を与える可能性があります。この上限を超えるインスタンスは、SLA の対象外です。

Cloud SQL のストレージ上限

MySQL インスタンス PostgreSQL インスタンスと SQL Server インスタンス
最大 30,720 GB。マシンタイプによって異なります。 最大 30,720 GB。インスタンスの vCPU が専用か共有かによって異なります。PostgreSQL または SQL Server のインスタンス設定をご覧ください。

Cloud SQL のストレージ オプション

最適なパフォーマンスを得られるストレージ オプションを構成するには、ワークロードを理解して、適切なディスクタイプとサイズを選ぶことが重要です。Cloud SQL で利用可能な選択肢の詳細については、インスタンスの設定をご覧ください。

App Engine に関する制限

スタンダード環境で実行される App Engine の各インスタンスでは、インスタンスに対する同時接続数が最大 100 個に制限されます。PHP 5.5 アプリケーションについては、同時接続数が最大 60 個に制限されます。

App Engine アプリケーションでは、使用状況や環境に応じてリクエストに時間制限が設けられる場合があります。詳しくは、App Engine のスタンダード環境とフレキシブル環境におけるインスタンスの管理方法をご覧ください。

さらに App Engine アプリケーションには、App Engine の割り当てページで説明されている App Engine の割り当てと上限も適用されます。

Cloud Run に関する制限

Cloud Run(フルマネージド)サービスでは、Cloud SQL データベースに対する接続数は 100 に制限されています。この上限はサービス インスタンスごとに適用されます。つまり、Cloud Run(フルマネージド)サービスの各インスタンスはデータベースに対して 100 接続を保持できるため、スケールした場合にデプロイあたりの接続の合計数が増加する可能性があります。

Cloud Functions に関する制限

注: Cloud Functions では、インスタンスごとの同時実行数は 1 に制限されています。1 つの関数インスタンスで同時に 2 つのリクエストが処理されることはありません。ほとんどの場合、必要なデータベース接続は 1 つだけになります。