Compute Engine は、SQL Server が事前に構成された公開イメージを提供します。Compute Engine 上で実行できる Windows Server インスタンスと Windows アプリケーションの詳細については、Compute Engine での Windows をご覧ください。
パフォーマンスが最適化された SQL Server インスタンスの作成と構成方法については、高パフォーマンスの SQL Server インスタンスの作成をご覧ください。必要に応じて HammerDB を使用して SQL Server の負荷テストを実行できます。注: Windows Server と SQL Server のイメージはプレミアム リソースであり、利用には追加料金が発生します。
始める前に
- このガイドのコマンドラインの例を使用する場合、以下を行ってください。
- gcloud コマンドライン ツールの最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合、API アクセスを設定します。
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 インスタンスを作成するには:
- Cloud Console で、[VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- [ブートディスク] の [変更] をクリックし、ブートディスクの構成を開始します。
-
[Public images] タブで [SQL Server on Windows Server operating system] を選択します。
- [選択] をクリックします。
- [作成] をクリックしてインスタンスを作成します。
インスタンスを作成した後、インスタンスの SQL Server へのアクセスを許可するファイアウォール ルールを作成します。SQL Server のデフォルト ポートは 1433 です。
- Cloud Console で、[ファイアウォール ルール] ページに移動します。[ファイアウォール ルール] ページに移動
- ページの上部にある [ファイアウォール ルールを作成] をクリックして、ファイアウォール ルールの作成を開始します。
- このファイアウォール ルールの詳細を指定します。
- [名前] フィールドに、ファイアウォール ルールの名前を指定します。
- [VPC ネットワーク] フィールドで、SQL Server インスタンスが配置されている VPC ネットワークを選択します。
- [トラフィックの方向] で [上り] をオンにします。
- [ソースフィルタ] フィールドで、このポートへのアクセスを許可する IP の範囲を選択します。この例では、[すべてのソースから許可] を選択できます。
- [許可対象プロトコル / ポート] セクションに、SQL Server が使用するポートを入力します。この例では、デフォルト ポートの
tcp:1433;
を指定します。
- [作成] をクリックしてファイアウォール ルールを作成した後、ポート 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]
は、インスタンスのブートディスクの種類です。例:pd-balanced
。
インスタンスを作成した後、インスタンスの 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://compute.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]
は、インスタンスのブートディスクの種類です。例:pd-ssd
。
インスタンスを作成した後、インスタンスの SQL Server へのアクセスを許可するファイアウォール ルールを作成します。SQL Server のデフォルト ポートは 1433 です。
POST https://compute.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 Data Tools を SQL Server インスタンスにインストールすると、Visual Studio で SQL Server データベースの作成と管理ができます。インスタンスに接続し、Microsoft のウェブサイトから SQL Server Data Tools をダウンロードしてインストールしてください。
- SQL Server イメージには、デフォルト コンポーネントがいくつか含まれています。必要に応じて SQL Server インストールに機能を追加できます。SQL Server イメージには常にセットアップ実行可能ファイル(
c:\setup.exe
)が含まれます。 - 予備の永続ディスクに SQL Server をインストールする必要がある場合は、インスタンスにセカンダリ永続ディスクを追加します。次に、インスタンスに接続して
c:\setup.exe
インストーラを実行し、セカンダリ ディスク上の新しいインストール パスを選択します。 - ブートディスクやセカンダリ ストレージ ディスクに追加のストレージ容量が必要な場合は、インスタンスの実行中であっても永続ディスクのサイズ変更を行います。
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 認証モードを使用する必要がある場合は、認証モードを変更します。
SQL Server インスタンス名の手動更新
SQL Server をホストするインスタンス名を変更した場合は、SQL Server インスタンス名を更新する必要があります。詳細については、SQL Server のスタンドアロン インスタンスをホストするコンピュータの名前を変更するをご覧ください。
次のステップ
- インスタンスが正常に起動したことを確認する。
- セカンダリ ストレージ ディスクを作成してインスタンスにアタッチし、ブートディスクとは別にデータを保存する。
- Google Cloud 上の SQL Server に関するベスト プラクティスを学習する。
- 高パフォーマンスの SQL Server インスタンスを作成して構成する。
- HammerDB を使用して SQL Server の負荷テストを実施する。
- SQL Server と .NET アプリケーションを使用する。
- インスタンスに接続する。