インスタンスを作成する

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

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

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

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

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

インスタンスをカスタマイズするときは、以下の有効な値(vCPU とメモリ)を確認してください。

  • 標準オプションを利用できます。
  • 軽量またはハイメモリ オプションも利用可能です。
バージョン CPU / メモリ
SQL Server 2017 Express、SQL Server 2019 Express プリセットのオプションから選択します。
  • 1 vCPU、3.75 GB
  • 2 vCPU、3.75 GB
  • 4 vCPU、3.75 GB
SQL Server 2017 Web、SQL Server 2019 Web プリセットまたはカスタム オプションから選択します。
  • 1 vCPU、4 GB
  • 2 vCPU、8 GB
  • 4 vCPU、16 GB
  • 1~16 vCPU、4~64 GB
SQL Server 2017 Standard、SQL Server 2019 Standard プリセットまたはカスタム オプションから選択します。
  • 1 vCPU、4 GB
  • 2 vCPU、8 GB
  • 4 vCPU、16 GB
  • 1~24 vCPU、4~128 GB
SQL Server 2017 Enterprise、SQL Server 2019 Enterprise プリセットまたはカスタム オプションから選択します。
  • 2 vCPU、8 GB
  • 4 vCPU、16 GB
  • 2~96 vCPU、8~624 GB

インスタンスを作成する

Console

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

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

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

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

  5. ユーザーのパスワードを入力します。
  6. [ロケーション] で、インスタンスのリージョンとゾーンを選択します。

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

  7. [構成オプション] で、インスタンスに必要なその他の設定を更新します。

    設定 備考
    データベースのバージョン
    データベースのバージョン SQL Server 2017 Standard
    SQL Server 2017 Enterprise
    SQL Server 2017 Express
    SQL Server 2017 Web
    SQL Server 2019 Standard(デフォルト)
    SQL Server 2019 Enterprise
    SQL Server 2019 Express
    SQL Server 2019 Web
    認証
    Active Directory ドメイン [Active Directory ドメインに参加] プルダウン メニューには、プロジェクトで以前に作成されたマネージド Microsoft AD ドメインが一覧表示されます。プルダウン メニューからドメインを選択します。詳しくは、Cloud SQL におけるマネージド Microsoft AD の概要をご覧ください。別のプロジェクトのマネージド AD ドメインと統合する場合は、Google Cloud Console に代わる方法についての情報をご覧ください。
    接続
    プライベート IP インスタンスのプライベート IP アドレスを追加します。インスタンスへの接続を有効にするには、追加の構成が必要です
    パブリック IP インスタンスのパブリック IP アドレスを追加します。インスタンスへの接続を有効にするには、追加の構成が必要です
    マシンタイプとストレージ
    コア数 インスタンスの vCPU の数。詳細
    メモリ インスタンスのメモリ量(GB)。詳細
    ストレージの種類 インスタンスで SSD ストレージを使用することを示します。すべての SQL Server インスタンスでは SSD ストレージが使用されます。詳細
    ストレージ容量 インスタンスにプロビジョニングされているストレージ容量。詳細
    ストレージの自動増量 空き領域が少なくなったときに、Cloud SQL が自動的にインスタンス用のストレージを増やすかどうかを指定します。詳細
    自動バックアップと高可用性
    高可用性 高可用性向けにインスタンスを構成する必要がある場合は、[高可用性(リージョン)] オプションを選択する必要があります。詳細
    自動バックアップ バックアップを開始する時間枠。
    自動バックアップ保持期間の設定 保持する自動バックアップの数(1~365 日)。詳細
    承認済みネットワーク
    データベースのフラグとパラメータ
    フラグとパラメータ データベース フラグを使用して、インスタンスの設定とパラメータを制御できます。詳細

    また、インスタンス内のデータベースに使用される照合のタイプのデフォルト値を設定できます。[デフォルトの照合] プルダウン メニューで、データの並べ替えと関連するオペレーションのデフォルト値を指定できます。この値により、このインスタンスのデータベースに対してデフォルトの並べ替えルール、大文字と小文字、アクセントが区別され、後々の手間を省くことができます。この照合のデフォルトは、インスタンス レベルでは永続的ですが、データベース レベルでは永続的ではありません。このデフォルトはデータベース管理ツールで変更できますが、作成または更新する特定のデータベースに対してのみ変更できます。インスタンス作成後に、インスタンスのデフォルトの照合順序を変更することはできません(インスタンスを再作成しない限り)。SQL Server の照合については、照合順序と Unicode のサポートをご覧ください。

    また、SQL Server データベースの監査を有効にして、監査ファイルのアップロード先となるロケーションを指定することもできます。
    メンテナンス スケジュール
    メンテナンスの時間枠 Cloud SQL がインスタンスに対し、中断メンテナンスを実行できる 1 時間の時間枠を指定します。この時間枠を設定しない場合、任意の時間に中断メンテナンスが行われる可能性があります。詳細
    メンテナンスのタイミング 希望するインスタンス更新のタイミング。同じプロジェクトの他のインスタンスとの相対的なタイミングです。詳細

  8. [作成] をクリックします。
  9. インスタンスの初期化が完了したら、インスタンス名をクリックして開きます。

gcloud

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

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

  1. インスタンスを作成します。
    gcloud beta sql instances create [INSTANCE_NAME] \
    --database-version=SQLSERVER_2017_STANDARD \
    --cpu=[NUMBER_CPUS] \
    --memory=[MEMORY_SIZE] \
    --root-password=[INSERT-PASSWORD-HERE]
    

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

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

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

    gcloud sql instances create myinstance \
    --database-version=SQLSERVER_2017_STANDARD \
    --cpu=2 \
    --memory=7680MB \
    --root-password=[INSERT-PASSWORD-HERE]
    

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

    他のインスタンス設定のパラメータを追加することもできます。

    設定 パラメータ 備考
    必須パラメータ
    データベースのバージョン --database-version SQLSERVER_2017_STANDARD
    SQLSERVER_2017_ENTERPRISE
    SQLSERVER_2017_EXPRESS
    SQLSERVER_2017_WEB
    SQLSERVER_2019_STANDARD
    SQLSERVER_2019_ENTERPRISE
    SQLSERVER_2019_EXPRESS、または
    SQLSERVER_2019_WEB
    リージョン --region 有効な値を参照してください
    認証
    Active Directory ドメイン --active-directory-domain 以前にプロジェクトに追加したマネージド Microsoft AD ドメインを指定します。詳しくは、Cloud SQL におけるマネージド Microsoft AD の概要をご覧ください。さらに、別のプロジェクトのマネージド AD ドメインと統合するための手順と制約に注意してください。
    接続
    プライベート IP --network このインスタンスに使用する VPC ネットワーク名を指定します。このネットワークに対して、プライベート サービス アクセスがすでに構成されている必要があります。ベータ版のコマンド(gcloud beta sql instances create)でのみ使用できます。詳細
    パブリック IP --authorized-networks パブリック IP 接続の場合は、承認済みネットワークからのみ、インスタンスに接続できます。詳細
    マシンタイプとストレージ
    ストレージの種類 --storage-type インスタンスで SSD ストレージを使用することを示します(すべての SQL Server インスタンスでは SSD ストレージを使用します)。詳細
    ストレージ容量 --storage-size インスタンスにプロビジョニングされているストレージ容量(GB 単位)。詳細
    ストレージの自動増量 --storage-auto-increase 空き領域が少なくなったときに、Cloud SQL が自動的にインスタンス用のストレージを増やすかどうかを指定します。詳細
    ストレージの自動増量の上限 --storage-auto-increase-limit Cloud SQL が自動的に増量できるストレージ容量の上限を指定します。ベータ版のコマンド(gcloud beta sql instances create)でのみ使用できます。詳細
    自動バックアップと高可用性
    高可用性 --availability-type 高可用性インスタンスの場合は、REGIONAL に設定します。詳細
    自動バックアップ --backup-start-time バックアップを開始する時間枠。詳細
    自動バックアップ保持期間の設定 --retained-backups-count 保持する自動バックアップの数。詳細
    データベース フラグの追加
    データベース フラグ --database-flags データベース フラグを使用して、インスタンスの設定とパラメータを制御できます。データベース フラグの詳細このパラメータの設定方法の詳細
    デフォルトの照合順序の追加
    デフォルトの照合 --collation インスタンス内のデータベースに使用される照合のタイプのデフォルト値を設定できます。たとえば、このパラメータに次の値を指定できます。
    SQL_Latin1_General_CP1_CI_AS

    この照合のデフォルトは、インスタンス レベルでは永続的ですが、データベース レベルでは永続的ではありません。このデフォルトはデータベース管理ツールで変更できますが、作成または更新する特定のデータベースに対してのみ変更できます。インスタンス作成後に、インスタンスのデフォルトの照合順序を変更することはできません(インスタンスを再作成しない限り)。SQL Server の照合については、照合順序と Unicode のサポートをご覧ください。
    メンテナンス スケジュールの設定
    メンテナンスの時間枠 --maintenance-window-day
    --maintenance-window-hour
    Cloud SQL がインスタンスに対し、中断メンテナンスを実行できる 1 時間の時間枠を指定します。この時間枠を設定しない場合、任意の時間に中断メンテナンスが行われる可能性があります。詳細
    メンテナンスのタイミング --maintenance-release-channel 希望するインスタンス更新のタイミング。同じプロジェクトの他のインスタンスとの相対的なタイミングです。他のインスタンスより前に更新する場合は preview を使用し、後に更新する場合は production を使用します。詳細

  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"
  }
  deletion_protection =  "true"
}

REST v1beta4

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

この呼び出しのパラメータの一覧については、Instances:insert ページをご覧ください。リージョンやマシンタイプの有効な値など、インスタンスの設定の詳細については、インスタンスの設定をご覧ください。

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

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

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

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

  • 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-#-# です。

最初の # プレースホルダはマシンの CPU 数に置き換え、2 番目の # プレースホルダはマシンのメモリ量に置き換えます。

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

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

  • 標準オプションを利用できます。
  • 軽量またはハイメモリ オプションも利用可能です。
バージョン CPU / メモリ
SQL Server 2017 Express、SQL Server 2019 Express プリセットのオプションから選択します。
  • 1 vCPU、3.75 GB
  • 2 vCPU、3.75 GB
  • 4 vCPU、3.75 GB
SQL Server 2017 Web、SQL Server 2019 Web プリセットまたはカスタム オプションから選択します。
  • 1 vCPU、4 GB
  • 2 vCPU、8 GB
  • 4 vCPU、16 GB
  • 1~16 vCPU、4~64 GB
SQL Server 2017 Standard、SQL Server 2019 Standard プリセットまたはカスタム オプションから選択します。
  • 1 vCPU、4 GB
  • 2 vCPU、8 GB
  • 4 vCPU、16 GB
  • 1~24 vCPU、4~128 GB
SQL Server 2017 Enterprise、SQL Server 2019 Enterprise プリセットまたはカスタム オプションから選択します。
  • 2 vCPU、8 GB
  • 4 vCPU、16 GB
  • 2~96 vCPU、8~624 GB

次のステップ