SQL Server インスタンスの作成

このガイドでは、Google Compute Engine で SQL Server インスタンスを作成する方法について説明します。Compute Engine 上で実行できる Windows Server インスタンスと Windows アプリケーションの詳細については、Compute Engine での Windows をご覧ください。

パフォーマンスが最適化された SQL Server インスタンスの作成と設定方法については、高パフォーマンスの SQL Server インスタンスの作成をご覧ください。任意で HammerDB を使用して SQL Server の負荷テストを実行することができます。注: Windows Server と SQL Server のイメージはプレミアム リソースであり、利用には追加料金が発生します。

始める前に

SQL Server インスタンスの作成

SQL Server インスタンスを作成するには、必要なバージョンの SQL Server のイメージ ファミリーを指定します。使用可能な SQL Server イメージの全一覧については、公開イメージのリストをご覧ください。

最適なパフォーマンスを得るには、SQL Server インスタンスでは、ほとんどの Linux インスタンスより多くの仮想 CPU とメモリ容量を備えたマシンタイプが必要です。SQL Server インスタンスを実行するときは、2 つ以上の vCPU と 4 GB 以上のメモリを備えたマシンタイプを使用することをおすすめします。カスタム マシンタイプを使用すると、ご使用のワークロードのパフォーマンス要件を満たす SQL Server インスタンスを構成できます。また、アプリケーションのパフォーマンスを向上させるために、より大きな永続ディスクと高速な SSD 永続ディスクを使用することもできます。

さらに、インスタンスが含まれる VPC ネットワークやサブネット上の SQL Server のトラフィックを許可するように、特定のファイアウォール ルールを設定する必要があります。詳しくは、SQL Server のベスト プラクティスをご覧ください。

Console

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

SQL Server のイメージの場合は、[アプリケーション] タブから SQL Server イメージを選択する必要があります。

  1. GCP Console の [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [インスタンスを作成] をクリックします。
  3. [ブートディスク] の [変更] をクリックし、ブートディスクの構成を開始します。
  4. アプリケーション イメージタブでSQL Server イメージを選択します。

  5. [選択] をクリックします。
  6. [作成] をクリックしてインスタンスを作成します。

インスタンスを作成した後、インスタンスの SQL Server へのアクセスを許可するファイアウォール ルールを作成します。SQL Server のデフォルト ポートは 1433 です。

  1. Cloud Platform Console で、[ファイアウォール ルール] ページに移動します。GCP Console で、[ファイアウォール ルール] ページに移動します。 [ファイアウォール ルール] ページに移動
  2. ページの上部にある [ファイアウォール ルールを作成] をクリックして、ファイアウォール ルールの作成を開始します。
  3. このファイアウォールルールの詳細を指定します。
    • [名前] フィールドに、ファイアウォール ルールの名前を指定します。
    • [VPC ネットワーク] フィールドで、SQL Server インスタンスが配置されている VPC ネットワークを選択します。
    • [トラフィックの方向] で [上り] をオンにします。
    • [ソースフィルタ] フィールドで、このポートへのアクセスを許可する IP の範囲を選択します。この例では、[すべてのソースから許可] を選択できます。
    • [許可対象プロトコル / ポート] セクションに、SQL Server が使用するポートを入力します。この例では、デフォルトのポートである tcp:1433; を指定します。
  4. [作成] をクリックしてファイアウォール ルールを作成した後、ポート 1433 を介する SQL Server インスタンスへのアクセスを許可します。

インスタンスにさらにファイアウォール ルールを追加する必要がある場合は、ファイアウォール ルールのドキュメントをご覧ください。

gcloud

compute images list コマンドを使用して、利用可能な SQL Server イメージのリストを表示します。

gcloud compute images list --project windows-sql-cloud --no-standard-images

compute instances create コマンドを使用して、新しいインスタンスを作成し、Windows Server または SQL Server の公開イメージのいずれかのイメージ ファミリーを指定します。

gcloud compute instances create [INSTANCE_NAME] \
    --image-project windows-sql-cloud \
    --image-family [IMAGE_FAMILY] \
    --machine-type [MACHINE_TYPE] \
    --boot-disk-size [BOOT_DISK_SIZE] \
    --boot-disk-type [BOOT_DISK_TYPE]

ここで:

  • [INSTANCE_NAME] は、新しいインスタンスの名前です。
  • [IMAGE_FAMILY] は、Windows Server または SQL Server イメージの公開イメージ ファミリーのいずれかです。
  • [MACHINE_TYPE] は、使用可能なマシンタイプのいずれかです。
  • [BOOT_DISK_SIZE] は、ブートディスクのサイズ(GB 単位)です。永続ディスクのサイズが大きいほど、スループットが高くなります
  • [BOOT_DISK_TYPE] は、インスタンスのブートディスクのタイプです。高速な SSD 永続ディスクを使用するには pd-ssd を指定し、標準の HDD 永続ディスクを使用するには pd-standard を指定します。

インスタンスを作成した後、インスタンスの SQL Server へのアクセスを許可するファイアウォール ルールを作成します。SQL Server のデフォルト ポートは 1433 です。

gcloud compute firewall-rules create sql-server-1433 \
--description "Allow SQL Server access from all sources on port 1433." \
--allow tcp:1433 --network [NETWORK]

ここで、[NETWORK] はインスタンスが配置されている VPC ネットワークの名前です。

インスタンスにファイアウォール ルールを追加する必要がある場合は、ファイアウォールのルールに関するドキュメントをご覧ください。

API

API でインスタンスを作成するには、インスタンス作成リクエストに initializeParams プロパティを含め、Windows イメージを指定します。

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances

instance = {
  "name": "[INSTANCE_NAME]",
  "machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
  "disks": [{
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
         "diskName": "[DISK_NAME]",
         "sourceImage": "projects/windows-sql-cloud/global/images/family/[IMAGE_FAMILY]",
         "diskSizeGb": "[BOOT_DISK_SIZE]",
         "diskType": "[BOOT_DISK_TYPE]",
       }
    }],
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
     }],
    "network": "global/networks/default"
  }],
  "serviceAccounts": [{
       "email": DEFAULT_SERVICE_EMAIL,
       "scopes": DEFAULT_SCOPES
  }]
}

ここで:

  • [PROJECT_ID] はプロジェクトの ID です。
  • [ZONE] は、このインスタンスのゾーンです。
  • [INSTANCE_NAME] は、新しいインスタンスの名前です。
  • [IMAGE_FAMILY] は、Windows Server または SQL Server イメージの公開イメージ ファミリーのいずれかです。
  • [IMAGE_PROJECT] は、Windows Server イメージでは windows-cloud、SQL Server がプリインストールされた Windows Server イメージでは windows-sql-cloud です。
  • [MACHINE_TYPE] は、使用可能なマシンタイプのいずれかです。
  • [BOOT_DISK_SIZE] は、ブートディスクのサイズ(GB 単位)です。永続ディスクのサイズが大きいほど、スループットが高くなります
  • [BOOT_DISK_TYPE] は、インスタンスのブートディスクのタイプです。高速な SSD 永続ディスクを使用するには pd-ssd を指定し、標準の HDD 永続ディスクを使用するには pd-standard を指定します。

インスタンスを作成した後、インスタンスの SQL Server へのアクセスを許可するファイアウォール ルールを作成します。SQL Server のデフォルト ポートは 1433 です。

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/firewalls

{
 "name": "sql-server-1433",
 "network": "global/networks/[NETWORK]",
 "allowed": [
  {
   "IPProtocol": "tcp",
   "ports": [
    "1433"
   ]
  }
 ]
}

ここで:

  • [PROJECT_ID] はプロジェクトの ID です。
  • [NETWORK] はインスタンスが配置されている VPC ネットワークの名前です。

SQL Server インスタンスを作成したら、インスタンスの初期パスワードを設定します。これにより、RDP を介してインスタンスに接続できるようになります。次に、SQL Server Management Studio を使用して、SQL Server インスタンス上のデータベースを管理します。

さらに、次の方法を 1 つまたは複数使用して、SQL Server インストールを拡張できます。

SQL Server データベースの管理

SQL Server Management Studio を使用して、SQL Server データベースを設定します。SQL Server Management Studio をローカル ワークステーションにダウンロードしてインストールすると、それを使用してリモートでインスタンス上のデータベース エンジンに接続できます。

ローカル ワークステーションに Management Studio をインストールすることができない場合は、RDP を介してインスタンスに接続し、インスタンス自体で Management Studio を実行します。SQL Server 2012 と SQL Server 2014 は、どちらもデフォルトで SQL Server Management Studio が含まれています。SQL Server 2016 では、SQL Server Management Studio を Microsoft のウェブサイトからダウンロードしてインスタンスにインストールします。

デフォルトでは、SQL Server は SQL Server 自体へのリモート アクセスを制御するために、Windows 認証モードを使用します。SQL Server 認証モードを使用する必要がある場合は、認証モードを変更します

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント