GCPを使って10分でWindows環境にリモートデスクトップする！

**「Macを使ってるんだけど、Windowsを触れる環境が欲しい！だけど、VirutalBox ＋ Vagrantは面倒！」**

GCPでWindowsVMを構築し、リモートデスクトップしてWindows環境を触れる方法を紹介します。

# 手順
**1. Google Compute Engineでインスタンス作成**
**2. RDPアプリをインストール**
**3. インスタンスへの接続**

※インスタンスの稼働時間によってお金がかかります。
（もちろん、GCPの無料枠内がある方は無料でいけます。）

# 1. Google Compute Engineでインスタンス作成
GCP(Google Cloud Platformr)への登録がお済みでない方は[こちら](https://console.cloud.google.com/?hl=ja)から！

[VMインスタンス](https://console.cloud.google.com/compute/instances?hl=ja&_ga=2.61897892.-963203057.1550505405)のページを開きます。

開くと下記のようなページに遷移するので、**[作成]**を押下します！
<img width="1200" alt="vmインスタンス作成.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/13158500-597f-6b24-b23e-e0518b4945cf.png">

## 作成するインスタンスの設定
**名前**に任意のインスタンス名を入力してください。（あとから変更できません。）
<img width="1200" alt="インスタンス情報入力1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/650b134b-c165-d972-a3b7-d1729159ce0c.png">

**ブートディスク** を **Windows Server 2012 R2 Datacenter** を選択します。
**[ファイアウォール]** で、**[HTTP トラフィックを許可する]** を選択します。
**管理、セキュリティ、ディスク、ネットワーク、単一テナンシー** を押下します。
<img width="1200" alt="インスタンス情報入力2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/67f43426-ae85-c576-6c37-b5712133c91e.png">

## プリエンティブの設定
プリエンティブを**オン**にします。
`24時間で必ずインスタンスが停止するため、消し忘れで高額請求といったことがなくなります。`
<img width="1200" alt="インスタンス情報入力3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/f55ae2ed-b328-e1a2-a45b-4e9a0d8086f1.png">

情報を入力し終えたら、**[作成]**を押下して、暫く待ちます。

# 2. RDPアプリをインストール
リモートデスクトップを簡単にできるRDPのアプリを追加します！
[こちら](https://chrome.google.com/webstore/detail/chrome-rdp/cbkkbcmdlboombapidmoeolnmdacpkch?hl=ja)からアプリの追加ページ飛べます！

## Chromeウェブストアでアプリを追加する
画像は、 **「アプリを起動」** となっていますが、未インストールの場合、 **[Chromeに追加]** となります。

<img width="1200" alt="RDP.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/5c7d9a75-f7e1-58e3-183c-03b5341cf198.png">

すぐにインストール完了となります。

# 3. インスタンスへの接続

## IPの静的化

このままだと、インスタンスを起動するたびにIPが変わってしまうため、動的IPを静的にします。
[こちら](https://console.cloud.google.com/networking/addresses/list)のURLをクリックすると、外部IPアドレスというページに飛びます。
こちらに先程作成したプロジェクトのIPアドレスが**「エフェメラル」**というタイプを、**「静的」** に変更してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/b19d2f30-b0d5-efd0-55dc-34fbc2b2efa6.png)


## Windowsのパスワードを設定
**[Windows パスワードを設定]**を押下します。
押下するとユーザーIDが表示され、次にパスワードが表示されます。
パスワードはコピーしておきます。
`※一度しかパスワードは表示されないので、忘れたら再度[Windows パスワードを設定]を押下します。`
コピーしたあと、**[RDP]**ボタンを押下します。
<img width="1200" alt="インスタンス詳細.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/a0a9b3b7-1386-1a60-4644-8f71a019fd23.png">

自動で、下記イメージのような画面が開くはずです。
<img width="1200" alt="RDP接続.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/227ebc74-a2fe-682d-68c3-2490476201e1.png">

※そもそも開かない場合は、RDPのアプリ追加が終わっていません。
※パスワード入力画面が表示されない場合は、[こちら](# ハマったところ)へ


接続が **成功** していれば、windowsのおなじみの画面が開くはずです！
<img width="1200" alt="window.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106459/7398b3c6-0883-2d66-0e99-138f3ad62b5b.png">


# ハマったところ
インスタンス接続時に**RDPから接続ができなくて困りました**！
接続できなかった原因は、ファイアーウォールの設定でした。詳細は[こちら](https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-rdp?hl=ja)です。

下記コマンドを実行すれば、アクセスできると思います。

```bash
gcloud compute firewall-rules create allow-rdp --allow tcp:3389
```

# まとめ
今回、**10分でWindows環境**を用意する方法をご紹介しました。
**VirtualBox + Vagrant**だともっと時間かかるはず。
お金の心配がない方は是非、お試しください！