割り当てと上限

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

割り当てを確認する

プロジェクトの現在のリソースの割り当て量を確認するには、Google Cloud Console の [割り当て] ページに移動し、Cloud SQL Admin API をフィルタリングします。これらの割り当ては API 呼び出しにのみ適用されます。API 呼び出しにデータベース クエリは含まれません。

割り当てを増やす

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

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

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

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

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

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

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

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

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

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

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

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

上限

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

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

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

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

インスタンス数を複数のプロジェクトに分散して、割り当て増加リクエストへの依存度を下げることをおすすめします。これにより、潜在的な障害を回避できます。

最大同時接続数

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';

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

SQL Server

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

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

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

IOPS

IOPS とは、ディスクで 1 秒あたりに処理可能な入出力オペレーション(読み取り / 書き込みオペレーション)の回数です。

Cloud SQL は永続ストレージ ディスクを持つ Compute Engine 仮想マシン(VM)を使用します。具体的な VM のパフォーマンス特性の詳細については、永続ディスクのパフォーマンスの表で最大持続 IOPS をご覧ください。

テーブルの上限

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

テーブルのサイズが Linux パーティションの最大サイズである 16 TB に達すると、データファイルを追加できなくなります。

オペレーションの上限

マイクロ階層と小規模階層のマシンタイプでは、同時実行するオペレーションの数が制限されます。これらの上限を超えると Too many operations エラーが発生します。

db-custom-1-3840(単一 CPU)マシンタイプ同時実行オペレーションの上限は 50 です。

指標の収集の上限

最大 500 個のデータベースについて、PostgreSQL の指標が収集されます。

Cloud SQL のストレージ上限

  • 専用コア: 最大 64 TB。

  • 共有コア: 最大 3 TB。

    詳細については、インスタンスの料金をご覧ください。

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 に制限されています。第 1 世代の関数インスタンスで同時に 2 つのリクエストが処理されることはありません。ほとんどの場合、必要なデータベース接続は 1 つだけになります。

Cloud Functions(第 2 世代)は Cloud Run を基盤としており、インスタンスあたりのデータベース接続の上限は 100 です。