インスタンスの作成

このページでは、Cloud SQL for MySQL インスタンスを作成する方法について説明します。

すべてのインスタンスの設定について詳しくは、インスタンスの設定をご覧ください。

新しく作成されたインスタンスには、information_schemamysqlperformance_schemasys の 4 つのシステム データベースがあります。

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud SDK をインストールして初期化します。
  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  7. Cloud SDK をインストールして初期化します。
  8. ユーザー アカウントに Cloud SQL 管理者のロールと Compute 閲覧者のロールがあることを確認します。

    IAM ページに移動

    ロールと権限について詳細を確認します

MySQL インスタンスの作成

MySQL インスタンスを作成するには:

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. [インスタンスを作成] をクリックします。
  3. [MySQL] を選択して [次へ] をクリックします。
  4. 名前を入力します。

    インスタンス名には機密情報や個人を特定できる情報を含めないでください。インスタンス名は外部から閲覧可能です。

    インスタンス名にプロジェクト ID を含める必要はありません。この処理は必要に応じて自動的に行われます(ログファイルの場合など)。

  5. root ユーザーのパスワードを入力します。
  6. インスタンスのデータベース バージョン(MySQL 8.0、MySQL 5.7(デフォルト)、MySQL 5.6)を選択します。

    インスタンスの作成後にデータベースのバージョンを編集することはできません。

  7. [リージョンとゾーンの可用性の選択] セクションで、インスタンスのリージョンとゾーンを選択します。

    インスタンスにアクセスするリソースと同じリージョンにインスタンスを配置します。選択したリージョンは後から変更できません。ほとんどの場合、ゾーンを指定する必要はありません。

    高可用性を目的とするインスタンスを構成する場合は、プライマリ ゾーンとセカンダリ ゾーンの両方を選択できます。

    セカンダリ ゾーンがインスタンスの作成中に使用される場合は、次の条件が適用されます。

    • ゾーンのデフォルトは、プライマリ ゾーンは Any、セカンダリ ゾーンは Any (different from primary) です。
    • プライマリ ゾーンとセカンダリ ゾーンの両方を指定する場合は、別々のゾーンにする必要があります。
  8. [インスタンスのカスタマイズ] セクションで、インスタンスの設定を更新します。最初に [構成オプションを表示] をクリックして、設定のグループを表示します。次に、目的のグループを展開して設定を確認し、カスタマイズします。選択したすべてのオプションの [サマリー] が右側に表示されます。

    次の表は、インスタンスの設定のクイック リファレンスです。各設定の詳細については、インスタンスの設定ページをご覧ください。

    設定
    マシンタイプ
    マシンタイプ 共有コア、軽量、標準(最も一般的)、ハイメモリから選択します。
    カスタム フレキシブルな構成でインスタンスを作成するには、このボタンを選択します。このオプションを選択した場合は、インスタンスのコア数とメモリ量を選択する必要があります。詳細
    コア数 インスタンスの vCPU の数。詳細
    メモリ インスタンスのメモリ量(GB)。詳細
    ストレージ
    ストレージの種類 インスタンスで SSD または HDD のどちらのストレージを使用するかを指定します。詳細
    ストレージ容量 インスタンスにプロビジョニングされているストレージ容量。詳細
    ストレージの自動増量を有効にする 空き領域が少なくなったときに、Cloud SQL が自動的にインスタンス用のストレージを増やすかどうかを指定します。詳細
    暗号化
    Google マネージド暗号化デフォルトのオプション。
    顧客管理の暗号鍵(CMEK)Google Cloud Key Management Service でご自身の鍵を使用する場合は選択します。詳細
    接続
    プライベート IP インスタンスのプライベート IP アドレスを追加します。インスタンスへの接続を有効にするには、追加の構成が必要です
    必要に応じて、接続に使用するインスタンスに割り当てる IP 範囲を指定できます。
    1. [割り振られた IP 範囲のオプションを表示] を展開します。
    2. プルダウン メニューから IP 範囲を選択します。
    プライベート IP の詳細IP アドレス範囲の割り振りの詳細
    パブリック IP インスタンスのパブリック IP アドレスを追加します。その後、インスタンスに接続するための承認済みネットワークを追加できます。詳細
    承認済みネットワーク新しいネットワークの名前とネットワーク アドレスを追加します。詳細
    バックアップ
    バックアップを自動化する バックアップを開始する時間枠。詳細
    バックアップの保存先を選択してくださいほとんどのユースケースでは、マルチリージョンを選択します。バックアップを特定のリージョンに保存する必要がある場合(たとえば法規制の理由で保存する必要がある場合など)は、リージョンを選択して、[ロケーション] プルダウン メニューからリージョンを選択します。
    保存する自動バックアップの数を選択する保存する自動バックアップの数(1~365 日)。詳細
    ポイントインタイム リカバリを有効にする ポイントインタイム リカバリとログ先行書き込みを有効にします。詳細
    ログを保持する日数を選択する ログ先行書き込みの保持期間は 1~7 日間で構成します。デフォルトの設定は 7 日間です。詳細
    メンテナンス
    優先ウィンドウ Cloud SQL がインスタンスに対し、中断メンテナンスを実行できる 1 時間の時間枠を指定します。この時間枠を設定しない場合、任意の時間に中断メンテナンスが行われる可能性があります。詳細
    更新の順序 希望するインスタンス更新のタイミング。同じプロジェクトの他のインスタンスとの相対的なタイミングです。詳細
    フラグ
    フラグを追加 データベース フラグを使用して、インスタンスの設定とパラメータを制御できます。詳細
    ラベル
    ラベルを追加追加するラベルごとにキーと値を追加します。ラベルはインスタンスの整理に役立ちます。
  9. [作成] をクリックします。

gcloud

gcloud コマンドライン ツールのインストール方法と使用方法については、Cloud SDK のインストールをご覧ください。Cloud Shell の起動方法については、Cloud Shell のドキュメントをご覧ください。

  1. インスタンスを作成します。
    gcloud sql instances create INSTANCE_NAME \
    --cpu=NUMBER_CPUS \
    --memory=MEMORY_SIZE \
    --region=REGION
    
    あるいは、マシンタイプとして db-f1-micro または db-g1-small を選択する場合は、--tier フラグを使用できます。
    gcloud sql instances create INSTANCE_NAME \
    --tier=API_TIER_STRING \
    --region=REGION
    

    vCPU とメモリサイズの値には制限があります。

    • vCPU は 1 または 2~96 の間の偶数にする必要があります。
    • メモリは次の条件を満たす必要があります。
      • vCPU あたり 0.9~6.5 GB
      • 256 MB の倍数
      • 3.75 GB(3,840 MB)以上

    たとえば、次の文字列を使用すると、インスタンスに 2 つの vCPU と 7,680 MB のメモリが割り当てられます。

    gcloud sql instances create myinstance \
    --database-version=MYSQL_8_0 \
    --cpu=2 \
    --memory=7680MB \
    --region=us-central1
    

    REGION のデフォルト値は us-central です。

    インスタンス名には機密情報や個人を特定できる情報を含めないでください。インスタンス名は外部から閲覧可能です。
    インスタンス名にプロジェクト ID を含める必要はありません。この処理は必要に応じて自動的に行われます(ログファイルの場合など)。

    高可用性インスタンスを作成する場合は、--zone パラメータと --secondary-zone パラメータを使用して、プライマリ ゾーンとセカンダリ ゾーンの両方を指定できます。セカンダリ ゾーンがインスタンスの作成中または編集中に使用される場合は、次の条件が適用されます。

    • ゾーンは有効なゾーンである必要があります。
    • セカンダリ ゾーンを指定する場合は、プライマリ ゾーンも指定する必要があります。
    • プライマリ ゾーンとセカンダリ ゾーンを指定する場合は、別々のゾーンにする必要があります。
    • プライマリ ゾーンとセカンダリ ゾーンを指定する場合は、それらが同じリージョンに属している必要があります。

    パラメータを追加して、他のインスタンス設定を指定できます。

    設定 パラメータ 備考
    必須パラメータ
    データベースのバージョン --database-version MYSQL_8_0MYSQL_5_7(デフォルト)または MYSQL_5_6
    リージョン --region 有効な値を参照してください
    接続
    プライベート IP --network

    --no-assign-ip(オプション)

    --allocated-ip-range-name(オプション)

    --network: このインスタンスに使用する VPC ネットワーク名を指定します。このネットワークに対して、プライベート サービス アクセスがすでに構成されている必要があります。ベータ版のコマンド(gcloud beta sql instances create)でのみ使用できます。

    --no-assign-ip: インスタンスにはプライベート IP アドレスしかありません。

    --allocated-ip-range-name: 指定すると、IP 範囲が割り振られる範囲名が設定されます。例: google-managed-services-default。範囲名は RFC-1035 を遵守し、1~63 文字にする必要があります。(gcloud alpha sql instances create)。

    プライベート IP の構成について学習します。
    パブリック IP --authorized-networks パブリック IP 接続の場合は、承認済みネットワークからのみ、インスタンスに接続できます。詳細
    マシンタイプとストレージ
    マシンタイプ --tier 共有コア インスタンス(db-f1-micro または db-g1-small)の指定に使用されます。カスタム インスタンス構成には、代わりに --cpu パラメータまたは --memory パラメータを使用します。カスタム インスタンス構成をご覧ください。
    ストレージの種類 --storage-type インスタンスで SSD または HDD のどちらのストレージを使用するかを指定します。詳細
    ストレージ容量 --storage-size インスタンスにプロビジョニングされているストレージ容量(GB 単位)。詳細
    ストレージの自動増量 --storage-auto-increase 空き領域が少なくなったときに、Cloud SQL が自動的にインスタンス用のストレージを増やすかどうかを指定します。詳細
    ストレージの自動増量の上限 --storage-auto-increase-limit Cloud SQL が自動的に増量できるストレージ容量の上限を指定します。ベータ版のコマンド(gcloud beta sql instances create)でのみ使用できます。詳細
    自動バックアップと高可用性
    高可用性 --availability-type 高可用性インスタンスの場合は、REGIONAL に設定します。詳細
    セカンダリ ゾーン --secondary-zone 高可用性を目的とするインスタンスを作成する場合は、>--zone--secondary-zone parameters を使用して、プライマリ ゾーンとセカンダリ ゾーンの両方を指定できます。セカンダリ ゾーンがインスタンスの作成中または編集中に使用される場合は、次の制限が適用されます。
    • ゾーンは有効なゾーンである必要があります。
    • セカンダリ ゾーンを指定する場合は、プライマリ ゾーンも指定する必要があります。
    • プライマリ ゾーンとセカンダリ ゾーンを指定する場合は、別々のゾーンにする必要があります。

      プライマリ ゾーンとセカンダリ ゾーンを指定する場合は、それらが同じリージョンに属している必要があります。

    自動バックアップ --backup-start-time バックアップを開始する時間枠。詳細
    自動バックアップ保持期間の設定 --retained-backups-count 保持する自動バックアップの数。詳細
    バイナリログ --enable-bin-log バイナリログを使用すると、レプリケーションとポイントインタイム リカバリが可能になります。詳細
    バイナリログの保持設定 --retained-transaction-log-days ポイントインタイム リカバリのバイナリログを保持する日数。詳細
    データベース フラグの追加
    データベース フラグ --database-flags データベース フラグを使用して、インスタンスの設定とパラメータを制御できます。データベース フラグの詳細をご確認ください。このパラメータの設定方法の詳細をご確認ください。
    メンテナンス スケジュール
    メンテナンスの時間枠 --maintenance-window-day
    --maintenance-window-hour
    Cloud SQL がインスタンスに対し、中断メンテナンスを実行できる 1 時間の時間枠を指定します。この時間枠を設定しない場合、任意の時間に中断メンテナンスが行われる可能性があります。詳細
    メンテナンスのタイミング --maintenance-release-channel 希望するインスタンス更新のタイミング。同じプロジェクトの他のインスタンスとの相対的なタイミングです。他のインスタンスより前に更新する場合は preview を使用し、後に更新する場合は production を使用します。詳細

  2. 自動的に割り振られた IP アドレスをメモします。

    Cloud SQL Auth Proxy を使用しない場合は、アプリケーションまたはツールがインスタンスに接続するためのホストアドレスとしてこのアドレスを使用します。

  3. "root@%" MySQL ユーザーのパスワードを設定します。
    gcloud sql users set-password root \
    --host=% \
    --instance INSTANCE_NAME \
    --password PASSWORD
    

REST v1

インスタンスを作成する

この例では、バックアップとバイナリ ロギングを有効にしたインスタンスを作成します。これらの設定は任意です。この呼び出しのパラメータの完全なリストについては、Instances:insert ページをご覧ください。リージョンの有効な値など、インスタンスの設定の詳細については、インスタンスの設定をご覧ください。

インスタンス ID には機密情報や個人を特定できる情報を含めないでください。インスタンス ID は外部から閲覧可能です。
インスタンス名にプロジェクト ID を含める必要はありません。この処理は必要に応じて自動的に行われます(ログファイルの場合など)。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: 目的のインスタンス ID
  • database-version: データベース バージョンの列挙型文字列。例: MYSQL_5_7
  • region: 目的のリージョン
  • machine-type: 目的のマシンタイプ

HTTP メソッドと URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances

JSON 本文のリクエスト:

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "binaryLogEnabled": true,
      "enabled": true
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2019-09-25T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

レスポンスは長時間実行オペレーションのため、完了まで数分かかる場合があります。

root のパスワードを更新します。

インスタンスの初期化が完了したら、root のパスワードを更新します。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: 実際のプロジェクト ID
  • instance-id: 前のステップで作成したインスタンス ID
  • root-password: 目的の root パスワード

HTTP メソッドと URL:

PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?host=%25&name=root

JSON 本文のリクエスト:

{
  "name": "root",
  "host": "%",
  "password": "root-password"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2019-09-26T14:32:30.592Z",
  "startTime": "2019-09-26T14:32:30.594Z",
  "endTime": "2019-09-26T14:32:33.518Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

レスポンスは長時間実行オペレーションのため、完了まで数分かかる場合があります。

IPv4 アドレスを取得する

新しいインスタンスに自動的に割り当てられる IPv4 アドレスを取得します。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: 実際のプロジェクト ID
  • instance-id: 前のステップで作成したインスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_5_7",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "us-west1-a",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "18:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
      "binaryLogEnabled": true
    },
    "settingsVersion": "1",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "SECOND_GEN",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "us-west1",
  "gceZone": "us-west1-a"
}

レスポンスで ipAddress フィールドを探します。

REST v1beta4

インスタンスを作成する

この例では、バックアップとバイナリ ロギングを有効にしたインスタンスを作成します。これらの設定は任意です。この呼び出しのパラメータの完全なリストについては、Instances:insert ページをご覧ください。リージョンの有効な値など、インスタンスの設定の詳細については、インスタンスの設定をご覧ください。

インスタンス ID には機密情報や個人を特定できる情報を含めないでください。インスタンス ID は外部から閲覧可能です。
インスタンス名にプロジェクト ID を含める必要はありません。この処理は必要に応じて自動的に行われます(ログファイルの場合など)。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: 目的のインスタンス ID
  • database-version: データベース バージョンの列挙型文字列。例: MYSQL_5_7
  • region: 目的のリージョン
  • machine-type: 目的のマシンタイプ

HTTP メソッドと URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances

JSON 本文のリクエスト:

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "binaryLogEnabled": true,
      "enabled": true
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2019-09-25T22:19:33.735Z",
  "operationType": "CREATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

レスポンスは長時間実行オペレーションのため、完了まで数分かかる場合があります。

root のパスワードを更新します。

インスタンスの初期化が完了したら、root のパスワードを更新します。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: 実際のプロジェクト ID
  • instance-id: 前のステップで作成したインスタンス ID
  • root-password: 目的の root パスワード

HTTP メソッドと URL:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=root

JSON 本文のリクエスト:

{
  "name": "root",
  "host": "%",
  "password": "root-password"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2019-09-26T14:32:30.592Z",
  "startTime": "2019-09-26T14:32:30.594Z",
  "endTime": "2019-09-26T14:32:33.518Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

レスポンスは長時間実行オペレーションのため、完了まで数分かかる場合があります。

IPv4 アドレスを取得する

新しいインスタンスに自動的に割り当てられる IPv4 アドレスを取得します。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: 実際のプロジェクト ID
  • instance-id: 前のステップで作成したインスタンス ID

HTTP メソッドと URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_5_7",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "us-west1-a",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "18:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
      "binaryLogEnabled": true
    },
    "settingsVersion": "1",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "SECOND_GEN",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "us-west1",
  "gceZone": "us-west1-a"
}

レスポンスで ipAddress フィールドを探します。

基盤となる REST API リクエストがこのタスクでどのように作成されるかについては、instances:insert ページの API Explorer をご覧ください。

カスタム インスタンス構成

フレキシブルなインスタンス構成では、インスタンスに必要なメモリと CPU の量を自分で選択できます。この柔軟性により、ワークロードに適した VM の形状を選択できます。マシンタイプ名には db-custom-CPU-RAM の形式を使用します。ここで、CPU は、マシン内の CPU の数、RAM はマシン内のメモリの量です。

CPU の数とメモリの量を選択する際、選択する構成にはいくつかの制限があります。

  • vCPU は 1 または 2~96 の間の偶数にする必要があります。
  • メモリは次の条件を満たす必要があります。
    • vCPU あたり 0.9~6.5 GB
    • 256 MB の倍数
    • 3.75 GB(3,840 MB)以上

以下の表では、以前のマシンタイプ名(Cloud Console で以前に使用されていた名前)が db-custom-CPU-RAM 形式の同等の文字列にマッピングされています。 Google Cloud Console で同等の CPU と RAM を指定するか、gcloud を使用して、同等のマシンタイプを作成できます。または API で db-custom-CPU-RAM 形式の文字列を使用します。

以前のマシンタイプ vCPU メモリ(MB) db-custom-CPU-RAM 文字列(API 階層文字列)
db-n1-standard-1 1 3840 db-custom-1-3840
db-n1-standard-2 2 7680 db-custom-2-7680
db-n1-standard-4 4 15360 db-custom-4-15360
db-n1-standard-8 8 30720 db-custom-8-30720
db-n1-standard-16 16 61440 db-custom-16-61440
db-n1-standard-32 32 122880 db-custom-32-122880
db-n1-standard-64 64 245760 db-custom-64-245760
db-n1-standard-96 96 368640 db-custom-96-368640
db-n1-highmem-2 2 13312 db-custom-2-13312
db-n1-highmem-4 4 26624 db-custom-4-26624
db-n1-highmem-8 8 53248 db-custom-8-53248
db-n1-highmem-16 16 106496 db-custom-16-106496
db-n1-highmem-32 32 212992 db-custom-32-212992
db-n1-highmem-64 64 425984 db-custom-64-425984
db-n1-highmem-96 96 638976 db-custom-96-638976

トラブルシューティング

問題 トラブルシューティング
Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider」というエラー メッセージが表示される。 割り振り済みの IP 範囲にこれ以上使用可能なアドレスがありません。いくつかのシナリオがあります。

  • プライベート サービス接続に割り振られた IP 範囲のサイズが /24 より小さい。
  • プライベート サービス接続に割り振られた IP 範囲のサイズが、Cloud SQL インスタンスの数に対して小さすぎる。
  • VPC ホスト プロジェクト内で同じプライベート サービス接続に MySQL インスタンスまたは SQL Server インスタンスと PostgreSQL インスタンスの両方を作成しようとしている。MySQL と SQL Server は同じサービス接続を共有できます。PostgreSQL には独自のサービス接続が必要です。
  • 異なるリージョンにおいて同じプライベート サービス接続でインスタンスを作成しようとしている。これはサポート対象外です。

上のシナリオに該当する場合は、プライベート サービス接続に対して既存の割り振られた IP 範囲を拡張するか、追加の IP 範囲を割り振ります

Cloud SQL インスタンスの作成時に --allocated-ip-range-name フラグを使用した場合は、指定した IP 範囲のみ拡張できます。

新しい範囲を割り当てる場合は、割り当てが既存の割り当てと重複しないように注意してください。

新しい IP 範囲を作成した後、次のコマンドを使用して VPC ピアリングを更新します。


gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com \
--ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
    

既存の割り振りを拡張する場合は、割り振り範囲を増やすのみとし、減らさないように注意してください。たとえば、元の割り振りが 10.0.10.0/24 だった場合、新しい割り振りを少なくとも 10.0.10.0/23 に設定します。

一般的に、/24 の割り振りから開始する場合は、各条件(追加のインスタンス タイプのグループ、追加のリージョン)で /mask を 1 つずつ減らすのが基本的なルールです。たとえば、同じ割り振りで両方のインスタンス タイプのグループを作成しようとしている場合も、/24 から /23 にするだけで十分です。

既存の IP 範囲を拡張した後、次のコマンドを使用して vpc ピアリングを更新します。


gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com \
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID
    

次のステップ