インスタンスの作成

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

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

新しく作成したインスタンスには sqlserver データベースがあります。

Cloud SQL インスタンスを作成した後、データベースを作成またはインポートして、インスタンスに追加します。

vCPU とメモリサイズの値を選択する

Cloud SQL for SQL Server インスタンスを作成する際には、vCPU とメモリの要件に基づいて複数のマシン構成から選択できます。以降のセクションでは、各データベースのバージョンとマシンタイプごとに vCPU とメモリの構成を示します。

SQL Server 2017 Express、SQL Server 2019 Express、SQL Server 2022 Express

マシンタイプ vCPU / メモリ
軽量
  • 1 vCPU、3.75 GB
  • 2 vCPU、3.75 GB
  • 4 vCPU、3.75 GB
スタンダード
  • 1 vCPU、3.75 GB
  • 2 vCPU、7.50 GB
  • 4 vCPU、15 GB
ハイメモリ
  • 4 vCPU、26 GB
  • 8 vCPU、52 GB
カスタム 1~8 vCPU、3.75 GB~52 GB

SQL Server 2017 Web、SQL Server 2019 Web、SQL Server 2022 Web

マシンタイプ vCPU / メモリ
軽量
  • 1 vCPU、3.75 GB
  • 2 vCPU、3.75 GB
  • 4 vCPU、3.75 GB
スタンダード
  • 1 vCPU、3.75 GB
  • 2 vCPU、7.50 GB
  • 4 vCPU、15 GB
ハイメモリ
  • 4 vCPU、26 GB
  • 8 vCPU、52 GB
  • 16 vCPU、104 GB
カスタム 1~32 vCPU、3.75 GB~208 GB

SQL Server 2017 Standard、SQL Server 2019 Standard、SQL Server 2022 Standard

マシンタイプ vCPU / メモリ
軽量
  • 1 vCPU、3.75 GB
  • 2 vCPU、3.75 GB
  • 4 vCPU、3.75 GB
スタンダード
  • 1 vCPU、3.75 GB
  • 2 vCPU、7.50 GB
  • 4 vCPU、15 GB
ハイメモリ
  • 4 vCPU、26 GB
  • 8 vCPU、52 GB
  • 16 vCPU、104 GB
カスタム 1~48 vCPU、3.75 GB~312 GB

SQL Server 2017 Enterprise、SQL Server 2019 Enterprise、SQL Server 2022 Enterprise

マシンタイプ vCPU / メモリ
軽量
  • 2 vCPU、3.75 GB
  • 4 vCPU、3.75 GB
スタンダード
  • 2 vCPU、7.50 GB
  • 4 vCPU、15 GB
ハイメモリ
  • 4 vCPU、26 GB
  • 8 vCPU、52 GB
  • 16 vCPU、104 GB
カスタム 2~96 vCPU、3.75 GB~624 GB

同時マルチスレッディング

Cloud SQL for SQL Server の同時マルチスレッディング(SMT)によって、1 つの物理コア上で 2 つの仮想 CPU(vCPU)を独立した別々のスレッドとして実行できます。SMT はデフォルトでは有効になっていますが、無効にすることも可能で、それによってライセンス費用を削減できる場合があります。

SMT を無効にすると、インスタンスのパフォーマンスに影響を与える可能性があります。SMT を無効にすることでインスタンスのパフォーマンスに与える影響を把握するには、インスタンスで負荷テストを行うことをおすすめします。

インスタンスを作成する

Console

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

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

  2. [インスタンスを作成] をクリックします。
  3. [SQL Server を選択] をクリックします。
  4. [インスタンスの情報] ペインの [インスタンス ID] フィールドに、インスタンスの ID を入力します。

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

  5. ユーザーのパスワードを入力します。
  6. インスタンスのデータベース バージョンを選択します。使用可能なバージョンを確認するには、プルダウン矢印をクリックします。
  7. [リージョンとゾーンの可用性の選択] セクションで、インスタンスのリージョンとゾーンを選択します。

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

  8. [インスタンスのカスタマイズ] セクションで、インスタンスの設定を更新します。たとえば、インスタンスが誤って削除されることを防止できます。
  9. [作成] をクリックします。
  10. インスタンスの初期化処理が完了したら、インスタンス名をクリックして開きます。

gcloud

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

gcloud バージョン 243.0.0 以降を使用する必要があります。

インスタンスを誤って削除しないように保護する方法については、インスタンスの削除の防止をご覧ください。

  1. インスタンスを作成します。
    gcloud beta sql instances create INSTANCE_NAME \
    --database-version=SQLSERVER_2017_STANDARD \
    --region=REGION_NAME \
    --cpu=NUMBER_OF_vCPUs \
    --memory=MEMORY_SIZE \
    --root-password=ROOT-PASSWORD
    

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

    このページですでに説明したように、vCPU とメモリサイズの値には制限があります。vCPU とメモリサイズの値の選択をご覧ください。

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

    gcloud sql instances create myinstance \
    --database-version=SQLSERVER_2017_STANDARD \
    --region=us-central1 \
    --cpu=2 \
    --memory=7680MB \
    --root-password=EXAMPLE-PASSWORD
    

    値の例については、マシンタイプの例をご覧ください。

    インスタンス設定のパラメータについては、gcloud sql instances create をご覧ください。

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

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

  3. ユーザーのパスワードを設定します。
    gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \
           --password=[PASSWORD]
    

Terraform

インスタンスを作成するには、Terraform リソースを使用します。

resource "google_sql_database_instance" "instance" {
  name             = "sqlserver-instance"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier = "db-custom-2-7680"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

REST v1beta4

1. インスタンスを作成する

以下の基本的な API 呼び出しでは、指定可能なフィールドがすべて示されているわけではありません。JSON リクエストのプロトタイプについては、設定をご覧ください。

Instances:insert ページもご覧ください。リージョンの有効な値など、インスタンスの設定の詳細については、インスタンスの設定をご覧ください。マシンタイプの詳細については、カスタム インスタンス構成をご覧ください。

instance-id には機密情報や個人を特定できる情報を含めないでください。値は外部から閲覧可能です。

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

collation フィールド(以下の基本的な API 呼び出しでは示されていません)を使用すると、インスタンス内のデータベースに使用される照合順序のタイプのデフォルト値を設定できます。この照合順序のデフォルトは、インスタンス レベルでは永続的ですが、データベース レベルでは永続的ではありません。このデフォルトはデータベース管理ツールで変更できますが、作成または更新する特定のデータベースに対してのみ変更できます。インスタンス作成後に、インスタンスのデフォルトの照合順序を変更することはできません(インスタンスを再作成しない限り)。SQL Server の照合順序については、照合順序と Unicode のサポートをご覧ください。JSON リクエストのプロトタイプについては、設定をご覧ください。たとえば、collation パラメータには文字列「SQL_Latin1_General_CP1_CI_AS」を指定できます。

timeZone フィールド(以下の基本的な API 呼び出しには示されていません)を使用すると、インスタンスに永続的なデフォルトのタイムゾーンを設定できます。このフィールドを含む JSON 表現については、設定をご覧ください。たとえば、timeZone パラメータには、文字列「"Pacific Standard Time"」を指定できます。詳細

マネージド Microsoft AD と統合されたインスタンスを作成するには、domain フィールドにドメイン(subdomain.mydomain.com など)を指定します。詳細については、Windows 認証を使用するインスタンスを作成するをご覧ください。さらに、別のプロジェクトのマネージド AD ドメインと統合するための手順と制約に注意してください。

リクエスト本文での machine-type 値の設定については、カスタム インスタンス構成をご覧ください。

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

  • project-id: 実際のプロジェクト ID
  • instance-id: 目的のインスタンス ID
  • region: 目的のリージョン
  • database-version: データベース バージョンの列挙型文字列。例: SQLSERVER_2017_STANDARD
  • password: root ユーザーのパスワード
  • machine-type: マシン(階層)タイプの列挙型文字列。次のようになります。db-custom-[CPUS]-[MEMORY_MBS]

HTTP メソッドと URL:

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

リクエストの本文(JSON):

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "rootPassword": "password",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "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": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

インスタンスが作成されると、さらにデフォルトのユーザー アカウントを構成できます。

2. インスタンスの IPv4 アドレスを取得する

必要に応じて、自動的に割り当てられた IPv4 アドレスを取得できます。レスポンスでは、このアドレスは ipAddress フィールドにあります。

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

  • 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": "database-version",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "machine-type",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "zone",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "19:00",
      "kind": "sql#backupConfiguration",
      "enabled": true
    },
    "settingsVersion": "1",
    "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": "backend-type",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "region",
  "gceZone": "zone"
}

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

カスタム インスタンス構成では、インスタンスに必要なメモリと CPU の量を自分で選択できます。この柔軟性により、ワークロードに適した VM のシェイプを選択できます。

マシンタイプ名の形式は db-custom-NUMBER_OF_vCPUs-MEMORY です。

NUMBER_OF_vCPUs はマシンの CPU 数に、MEMORY はマシンのメモリ量に置き換えます。

たとえば、マシン名が db-custom で、マシンの CPU が 1 つ、RAM が 3,840 MB の場合、マシンの形式は db-custom-1-3840 になります。

CPU の数とメモリの量を選択する際、選択する構成には次のような制限があります。

  • インスタンスに構成できる vCPU の数は、SQL Server のバージョンによって異なります。
  • vCPU 数は 1 または 2~96 の偶数にする必要があります。
  • メモリサイズは次のようにする必要があります。
    • vCPU あたり 0.9~6.5 GB
    • 256 MB の倍数
    • 3.75 GB(3,840 MB)以上

トラブルシューティング

問題 トラブルシューティング
エラー メッセージ: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID] Cloud SQL インスタンスをもう一度作成してみてください。

次のステップ