#!/bin/bash
GCEインスタンスと関連リソースをセットアップするスクリプト
--- 変数設定 ---
GCEインスタンスの設定
INSTANCE_NAME="windows-rdp-instance" MACHINE_TYPE="n1-standard-2" IMAGE_PROJECT="windows-cloud" IMAGE_FAMILY="windows-2022" BOOT_DISK_SIZE="50GB" ZONE="us-central1-c" TAG="rdp-tag"
GCPプロジェクトとアカウントの設定
GCP_PROJECT="TODO" GCP_ACCOUNT="TODO"
ファイアウォールルールの設定
FIREWALL_RULE_NAME="allow-rdp" NETWORK="default" RDP_PORT="3389"
--- スクリプト本体 ---
echo "--- GCE Windowsインスタンスのセットアップを開始します ---"
1. GCPプロジェクトの設定
echo "ステップ1: GCPプロジェクトを 'GCP_PROJECT"
2. GCPアカウントの設定
echo "ステップ2: GCPアカウントを 'GCP_ACCOUNT"
3. GCEインスタンスの作成
echo "ステップ3: GCEインスタンス 'ZONE' に作成します..." gcloud compute instances create "$INSTANCE_NAME" \
--machine-type="$MACHINE_TYPE" \
--image-project="$IMAGE_PROJECT" \
--image-family="$IMAGE_FAMILY" \
--boot-disk-size="$BOOT_DISK_SIZE" \
--tags="$TAG" \
--zone="$ZONE"
4. ファイアウォールルールの作成(存在しない場合のみ)
echo "ステップ4: RDP接続を許可するファイアウォールルール 'FIREWALL_RULE_NAME" &>/dev/null ||
gcloud compute firewall-rules create "$FIREWALL_RULE_NAME" \
--direction=INGRESS \
--priority=1000 \
--network="$NETWORK" \
--action=ALLOW \
--rules=tcp:"$RDP_PORT" \
--source-ranges=0.0.0.0/0 \
--target-tags="$TAG"
5. Windowsパスワードのリセット
echo "ステップ5: Windowsのパスワードをリセットします..." echo "インスタンスの準備ができていない場合、このステップは失敗することがあります。" echo "その場合は、数分待ってから再度スクリプトを実行するか、このコマンドを手動で実行してください。" yes | gcloud compute reset-windows-password "ZONE"
echo "--- セットアップが完了しました ---"