インスタンスの作成

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

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

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

インスタンスの作成

Console

  1. Google Cloud Console の 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
    接続
    プライベート IP インスタンスのプライベート IP アドレスを追加します。インスタンスへの接続を有効にするには、追加の構成が必要です
    パブリック IP インスタンスのパブリック アドレスを追加します。インスタンスへの接続を有効にするには、追加の構成が必要です
    マシンタイプとストレージ
    コア数 インスタンスの vCPU の数。 詳細
    メモリ インスタンスのメモリ量(GB)。詳細
    ストレージの種類 インスタンスで SSD ストレージを使用することを示します。すべての SQL Server インスタンスでは SSD ストレージが使用されます。詳細
    ストレージ容量 インスタンスにプロビジョニングされているストレージ容量。詳細
    ストレージの自動増量 空き領域が少なくなったときに、Cloud SQL が自動的にインスタンス用のストレージを増やすかどうかを指定します。詳細
    自動バックアップと高可用性
    高可用性 高可用性向けにインスタンスを構成する必要がある場合は、[高可用性(リージョン)] オプションを選択する必要があります。詳細
    自動バックアップ バックアップを開始する時間枠。
    承認済みネットワーク
    データベース フラグ
    フラグとパラメータ データベース フラグを使用して、インスタンスの設定とパラメータを制御できます。詳細

    また、インスタンス内のデータベースに使用される照合のタイプのデフォルト値を設定できます。[デフォルトの照合] プルダウン メニューで、データの並べ替えと関連するオペレーションのデフォルト値を指定できます。この値により、このインスタンスのデータベースに対してデフォルトの並べ替えルール、大文字と小文字、アクセントが区別され、後々の手間を省くことができます。この照合のデフォルトは、インスタンス レベルでは永続的ですが、データベース レベルでは永続的ではありません。このデフォルトはデータベース管理ツールで変更できますが、作成または更新する特定のデータベースに対してのみ変更できます。インスタンス作成後に、インスタンスのデフォルトの照合順序を変更することはできません(インスタンスを再作成しない限り)。SQL Server の照合については、照合順序と Unicode のサポートをご覧ください。
    メンテナンス スケジュール
    メンテナンスの時間枠 Cloud SQL がインスタンスに対し、中断メンテナンスを実行できる 1 時間の時間枠を指定します。この時間枠を設定しない場合、任意の時間に中断メンテナンスが行われる可能性があります。詳細
    メンテナンスのタイミング 希望するインスタンス更新のタイミング。同じプロジェクトの他のインスタンスとの相対的なタイミングです。詳細

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

gcloud

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

2020 年 3 月上旬まで、gcloud sql instances create コマンドのベータ版を使用してください。つまり、gcloud beta sql instances create コマンドを使用します。

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

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

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

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

    標準オプション(軽量またはハイメモリ オプションも利用可能)。詳細については、Google Cloud Console をご覧ください。

    バージョン CPU / メモリ
    SQL Server 2017 Express プリセットのオプションから選択します。
    • 1vCPU、3.75 GB
    • 2vCPU、3.75 GB
    • 4vCPU、3.75 GB
    SQL Server 2017 Web プリセットまたはカスタム オプションから選択します。
    • 1vCPU、4 GB
    • 2vCPU、8 GB
    • 4vCPU、16 GB
    • 1~16 vCPU、4~64 GB
    SQL Server 2017 Standard プリセットまたはカスタム オプションから選択します。
    • 1vCPU、4 GB
    • 2vCPU、8 GB
    • 4vCPU、16 GB
    • 1~24 個の vCPU、4~104 GB
    SQL Server 2017 Enterprise プリセットまたはカスタム オプションから選択します。
    • 2vCPU、8 GB
    • 4vCPU、16 GB
    • 2~96 vCPU、8~104 GB

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

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

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

    --tier db-f1-micro または --tier db-g1-small を使用し、--cpu パラメータと --memory パラメータを削除して、共有コア インスタンスを作成することもできます。

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

    設定 パラメータ 備考
    必須パラメータ
    データベースのバージョン --database-version SQLSERVER_2017_STANDARDSQLSERVER_2017_ENTERPRISESQLSERVER_2017_EXPRESS、または SQLSERVER_2017_WEB
    リージョン --region 有効な値を参照してください
    接続
    プライベート IP --network このインスタンスに使用する VPC ネットワーク名を指定します。このネットワークに対して、プライベート サービス アクセスがすでに構成されている必要があります。ベータ版のコマンド(gcloud beta sql instances create)でのみ使用できます。詳細
    パブリック IP --authorized-networks パブリック IP 接続の場合は、承認済みネットワークからのみ、インスタンスに接続できます。詳細
    マシンタイプとストレージ
    マシンタイプ --tier 共有コア インスタンス(db-f1-micro または db-g1-small)の指定に使用されます。このパラメータを使用する場合、--cpu--memory パラメータは使用できません。
    ストレージの種類 --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 バックアップを開始する時間枠。詳細
    データベース フラグの追加
    データベース フラグ --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 Proxy を使用していない場合、アプリケーションまたはツールがインスタンスに接続するためのホストアドレスとしてこのアドレスが使用されます。

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

REST v1beta4

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

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

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

tier パラメータには、新しいインスタンスの CPU 数とメモリ量を表す文字列が含まれます。この文字列は db-custom-[CPUS]-[MEMORY_MBS] という形式になります。いくつかの例については、マシンタイプの例をご覧ください。さらに、共有コア インスタンスを作成するには、tier パラメータの値として、db-f1-micro または db-g1-small を指定します。

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

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

  • 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://www.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://www.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://www.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://www.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://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "region",
  "gceZone": "zone"
}

マシンタイプの例

カスタム マシンタイプを使用することにより、メモリと CPU を必要なだけ搭載したインスタンスを構成できます。ただし、メモリと CPU の値にはいくつかの制限があります。

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

SQL Server インスタンスに使用できる事前定義されたマシンタイプに基づいた、マシンタイプ値の例を次に示します。

事前定義されたマシンタイプ vCPU メモリ(MB) 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

次のステップ