ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

Compute Engine で SQL Server データベースを作成する

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

概要

このラボでは、プライベート ネットワークに SQL Server データベース サーバーをプロビジョニングします。次に、そのサーバーの管理に使用できる Windows マシンをパブリック ネットワークに作成します。また、データベースへの接続に使用できる Linux クライアントをパブリック ネットワークに作成します。最後に、プライベート ネットワークからのみ SQL Server データベースへのアクセスを許可するファイアウォール ルールを設定します。

目標

このラボでは、次のタスクの実行方法について学びます。

  • クライアント VM とサーバー VM を作成する。
  • データベース サーバーを管理する。
  • クライアントからデータベースに接続する。

設定と要件

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. シークレット ウィンドウを使用して Google Skills にログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。 一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud コンソールにログインする際に使用します。

  5. [Google コンソールを開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。 他の認証情報を使用すると、エラーや料金が発生します。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

タスク 1. クライアント VM とサーバー VM を作成する

  1. 新しいウェブブラウザ ウィンドウを開き、Google Cloud コンソール(console.cloud.google.com)に移動します。

  2. プロジェクト セレクタを使用して、 名前が「qwiklabs-gcp」で始まる最初のプロジェクトを選択します。

  3. ナビゲーション メニューナビゲーション メニュー アイコン。)で、[Cloud の概要] をクリックします。

  4. [プロジェクト情報] セクションで、プロジェクト ID を見つけてコピーし、テキスト ファイルに貼り付けます。(後で使用します。)

[プロジェクト情報] ペイン内でハイライト表示されているプロジェクト ID

  1. コンソールの右上にある [Cloud Shell をアクティブにする] アイコン(Cloud Shell をアクティブにするアイコン。)をクリックします。

Cloud Shell ターミナルがウィンドウの下部のペインに表示されます。

  1. 次のコマンドを入力して、前のラボの完成版を含む GitHub リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. 次のフォルダに移動します。
cd ~/training-data-analyst/courses/db-migration/terraform-sql-server-on-gce/
  1. ls と入力すると、このフォルダに前のラボで作成した Terraform ファイルがあることがわかります。

  2. [エディタを開く] をクリックし、プロンプトが表示されたら [新しいウィンドウで開く] をクリックします。

  3. training-data-analyst/courses/db-migration/terraform-sql-server-on-gce/ フォルダに移動し、terraform.tfvars ファイルを開きます。

  4. project_id 変数を実際のプロジェクトの ID に置き換えます。

  5. さらに、リージョンを [] に変更し、ゾーンを [] に変更します。

  6. プライベート ネットワークに SQL Server マシンを作成します。vm-sql-server-windows.tf という名前のファイルを追加し、次の Terraform コードを貼り付けます。

# プライベート VPC に Windows SQL Server を作成する resource "google_compute_instance" "sql-server-windows" { name = "sql-server-windows-${random_id.instance_id.hex}" machine_type = "e2-standard-2" zone = var.gcp_zone_1 tags = ["allow-rdp", "allow-sql"] boot_disk { initialize_params { image = "windows-sql-cloud/sql-2017-express-windows-2016-dc-v20200414" } } network_interface { network = google_compute_network.private-vpc.name subnetwork = google_compute_subnetwork.private-subnet_1.name # access_config { } - 外部 IP を使用しない場合は access_config を削除する } } output "sql-server-windows" { value = google_compute_instance.sql-server-windows.name } output "sql-server-windows-external-ip" { value = "NONE" } output "tsql-server-windows-internal-ip" { value = google_compute_instance.sql-server-windows.network_interface.0.network_ip }
  1. SQL Server の管理に使用できる Windows マシンをパブリック ネットワークに作成します。vm-windows-admin.tf という名前のファイルを追加し、次の Terraform コードを貼り付けます。
# VM Windows Admin を作成する resource "google_compute_instance" "windows-admin" { name = "windows-admin-${random_id.instance_id.hex}" machine_type = "e2-standard-2" zone = var.gcp_zone_1 tags = ["allow-rdp"] boot_disk { initialize_params { image = "windows-cloud/windows-server-2016-dc-v20200424" } } network_interface { network = google_compute_network.public-vpc.name subnetwork = google_compute_subnetwork.public-subnet_1.name access_config { } } } output "windows-admin-name" { value = google_compute_instance.windows-admin.name } output "windows-admin-external-ip" { value = google_compute_instance.windows-admin.network_interface.0.access_config.0.nat_ip } output "windows-admin-internal-ip" { value = google_compute_instance.windows-admin.network_interface.0.network_ip } 注: このサーバーはパブリック ネットワークにあるため、RDP で接続できます。その後、プライベート ネットワーク内の SQL Server に RDP でアクセスして管理します。
  1. もう 1 台のマシンを作成します。これは SQL Server への接続に使用できる Linux クライアントです。vm-sql-client.tf という名前の別のファイルを追加し、次の Terraform コードを追加します。
# VM SQL クライアントを作成する resource "google_compute_instance" "sql-client" { name = "sql-client-${random_id.instance_id.hex}" machine_type = "e2-micro" zone = var.gcp_zone_1 tags = ["allow-ssh"] boot_disk { initialize_params { image = "ubuntu-os-cloud/ubuntu-1604-xenial-v20200429" } } metadata_startup_script = "sudo apt-get update;" network_interface { network = google_compute_network.public-vpc.name subnetwork = google_compute_subnetwork.public-subnet_1.name access_config { } } } output "sql-client-name" { value = google_compute_instance.sql-client.name } output "sql-client-external-ip" { value = google_compute_instance.sql-client.network_interface.0.access_config.0.nat_ip } output "sql-client-internal-ip" { value = google_compute_instance.sql-client.network_interface.0.network_ip } 注: これは、SQL Server クライアント ソフトウェアをインストールし、SQL Server データベースへの接続をテストするために使用する Ubuntu Linux マシンです。
  1. プライベート ネットワークから SQL Server への通信を許可するファイアウォール ルールを作成します。vpc-firewall-rules-private.tf ファイルを開き、次のファイアウォール ルールを末尾に追加します。
# パブリック サブネットからの SQL のみを許可する resource "google_compute_firewall" "private-allow-sql" { name = "${google_compute_network.private-vpc.name}-allow-sql" network = google_compute_network.private-vpc.name allow { protocol = "tcp" ports = ["1433"] } source_ranges = [ "${var.subnet_cidr_public}" ] target_tags = ["allow-sql"] }
  1. Terraform を初期化してプランを作成するには、Cloud Shell ターミナルに戻り、次のコマンドを入力します。
terraform init terraform plan
  1. リソースを作成するには、次のコマンドを実行します。
terraform apply -auto-approve

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 クライアント VM とサーバー VM を作成する

タスク 2. データベース サーバーを管理する

  1. Terraform プロセスが完了したら、ナビゲーション メニューナビゲーション メニュー アイコン。)で [Compute Engine] をクリックします。

  2. 複数のマシンが一覧表示されるので、ユーザー名とパスワードを記録しておきます。そのためには、パソコンでテキスト エディタを開き、次のテンプレートを貼り付けます。

Windows 管理者 RDP ログイン ユーザー名: パスワード: SQL Server RDP ログイン 内部 IP: ユーザー名: パスワード: SQL Server ユーザー ユーザー名: パスワード:
  1. windows-admin- マシンを見つけて、[RDP] ボタンのプルダウン矢印をクリックし、[Windows パスワードを設定] を選択します。

  2. ユーザー名を任意の名前に変更し、[設定] をクリックしてパスワードを生成します。

  3. パスワードをクリップボードにコピーし、作成したテキスト ファイルにユーザー名とパスワードを記録します。

  4. 同様に、sql-server-windows- という名前のマシンのユーザー名とパスワードを生成します。必ず、ユーザー名とパスワードをテキスト ファイルに記録してください。また、SQL Server マシンの内部 IP アドレスを見つけて、テキスト ファイルに記録します。

  5. Windows 管理マシンに RDP でログインします。

  6. Windows の [スタート] メニューで、[リモート デスクトップ] ショートカットを選択します。サーバー マネージャーのダッシュボードを閉じます。

  7. SQL Server の内部 IP アドレスを入力し、[接続] をクリックします。次に、記録したユーザー名とパスワードでログインします。

[はい] をクリックすると、SQL Server マシンにログインできます。このマシンでサーバー マネージャーのダッシュボードを閉じます。

  1. SQL Server のユーザー ログインを作成するには、[スタート] メニューをクリックして「ssms」と入力し、Microsoft SQL Server Management Studio のショートカットを選択します。

Management Studio が起動すると、ローカル サーバー名がすでに入力されているはずです。

  1. [接続] をクリックしてログインします。

  2. オブジェクト エクスプローラで、一番上の [サーバー] を右クリックし、[プロパティ] を選択します。

  3. [セキュリティ] タブをクリックし、[SQL Server と Windows の認証モード] を選択します。

  4. [OK] をクリックしてメッセージを読み、[OK] をクリックして閉じます。

  5. SQL Server を再起動するには、オブジェクト エクスプローラで SQL Server をもう一度右クリックし、[再起動] を選択します。プロンプトが表示されたら同意し、サーバーが再起動するまで数秒待ちます。場合によっては、再起動されたことを確認するため、[更新] ボタンをクリックする必要があります。

  6. オブジェクト エクスプローラで、[セキュリティ] をダブルクリックし、[ログイン] をダブルクリックして展開します。

  7. [ログイン] を右クリックし、[新しいログイン] を選択します。

  • [ログイン名] テキスト ボックスにユーザー名を指定します。
  • [SQL Server 認証] を選択します。
  • パスワードを設定し、[パスワード ポリシーを適用する] をオフにします。
  • [OK] をクリックしてログインを作成します。
  1. 先ほど作成した SQL Server ユーザーのユーザー名とパスワードをテキスト ファイルに記録します。

  2. SQL Server マシンへのリモート デスクトップ セッションと、Windows 管理マシンへの RDP 接続を閉じます。

タスク 3. クライアントからデータベースに接続する

  1. Google Cloud コンソールに戻り、Compute Engine サービスを開きます。

  2. sql-client- マシンの横にある [SSH] をクリックします。

  3. このマシンに SQL Server クライアント ソフトウェアをインストールし、作成したばかりのログインをテストします。SSH 接続が確立されたら、次のコマンドを入力します。

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev 注: プロンプトが表示されるたびに [はい] を選択します。
  1. 次のコマンドを入力し、SQL クライアントをパスに含めます。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 クライアントからデータベースに接続する

  1. マシンの IP アドレスと作成した SQL Server ユーザー名を使用して、次のコマンドを入力し、プロンプトが表示されたらパスワードを入力します。
sqlcmd -S 10.2.2.3,1433 -U username

エラーが表示されなければ、クライアントのログインは成功しています。この時点ではデータベースがないため、他に行う作業はありませんが、完全なソリューションが用意されています。データベース サーバーは、一般公開されていない安全なネットワークにあります。データベースの管理に使用できる Windows マシンがパブリック ネットワークにあり、SQL Server ポート経由でデータベースにアクセスできるクライアント マシンがあります。

  1. quit」と入力して sqlcmd を終了し、SSH セッションを閉じます。

  2. Cloud Shell ターミナルに戻り、次のコマンドを入力して、ラボで作成したものをすべて削除します。

terraform destroy -auto-approve

これで完了です。プライベート ネットワークに SQL Server マシンをプロビジョニングしました。次に、データベース サーバーの管理に使用する Windows マシンをパブリック ネットワークに作成しました。また、データベースへの接続に使用する Linux クライアントをパブリック ネットワークに作成しました。最後に、プライベート ネットワークからのみ SQL Server データベースへのアクセスを許可するファイアウォール ルールを設定しました。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Skills から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。