【EC2】MacでEC2を利用しWindowsサーバを構築してみた

#はじめに
Macを使っている方で、
「インストールしたソフトが使えない」みたいな状況ないですかね・・・？
「Windowsでは使えるのにMacでは使えない」みたいな状況ないですかね・・・？

そんな壁に直面した結果、色々調べて解決したので、
その時の情報を記事にしようと思いました。

解決策としては、下記のような解決策があります。
**・Boot Camp
・Virtual Box
・VPS**　などなど

###Boot Camp
Boot Campは、Apple社が提供するソフトで、
Windowsの仮想環境を利用することができるらしいです。

ちなみに、年間9000円程かかりますし、容量を結構使います。

### Virtual Box
Virtual BoxもMacにインストールし、Virtual Box内にWindowsの環境を構築する感じです。
こちらは無料ですが、容量を結構使うのと、処理が少し遅いっぽいです。

###VPS
VPSは、Virtual Private Serverの略だった気がします。
色々な企業が提供しているサーバを利用する感じです。

Private Serverと言うくらいなので、自分専用のサーバを使うことができます。

こちらの料金は、月額1000円〜10000円程度だと思います。
それと、初期費用で数千円かかる企業もあります。


##今回の作戦

今回は上記の選択肢にない、EC2でWindowsサーバを構築する作戦を取りました！

EC2とは、AWS（Amazon Web Service）という、
Amazon社が提供しているCloud Serviceの中の一つのサービスです。

ちなみに、構築するとかカッコつけたことを書いていますが、
構築自体はものすごく簡単で、基本的に選択肢から設定を決めていくだけです。

EC2を利用するメリットとしては以下があげられます。

**・構築にかかる時間が短縮できる**

VPSを利用するよりは手間がかかりますが、Boot CampやVirtual Boxよりは恐らく楽です。

**・スペックの変更が柔軟に対応できる**

画面上で設定するだけでハードディスクやメモリの増設が簡単に行えます。

**・冗長化が簡単にできる**

こちらは、個人で利用する場合はあまり気にしなくてもいいかもしれませんが、
他のサービスと併用することにより、冗長構成を取ることも簡単にできます。

**・コストが他より低い**

無料のVirtual Boxにはどうしても勝てませんが、
Boot CampやVPSよりは安く抑えることができると思います。

しかし、これは利用する頻度によるので、一概には言えないですけど。。。

私の場合は、平日のみの利用で、平日も１・２時間しか利用しません。
なので、それ以外の時間は、サーバを停止することにより料金が発生しません。

最初は、無料利用枠もあり、その枠に収まる利用頻度なら無料で利用できます。


##EC2でWindowsサーバの構築

まず、AWSを利用するためのアカウントが必要なので、そちらの作成を行います。

公式ページの、「[AWS アカウント作成の流れ](https://aws.amazon.com/jp/register-flow/)」をご覧ください。
そんなに難しい内容ではないので簡単に進められると思います。

###サービス選択

上タブの検索欄に**EC2**と入力し、一覧表示された物の中から、EC2を選択します。
![スクリーンショット 2021-09-19 0.47.23.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/c14a4ae9-0a10-cd74-27e3-dbafd5fbd1ce.jpeg)

次のような画面になるかと思います。
以下の画面が表示されない方は、左タブより、**インスタンス**を選択してください。
![スクリーンショット 2021-09-19 0.48.58.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/3dfd8af4-b982-7f1d-e1e5-8cd8bc709ee2.jpeg)


なお、私の場合は、「api-server」というインスタンスを以前作成したので、
そのインスタンスが表示されていますが、皆さんは何も表示されていないと思います。


###インスタンス作成

先ほどから「インスタンス」と言っていますが、
いわゆる**仮想サーバ**のことだと思ってくださって大丈夫です。

では、インスタンスの作成を行います。
画面右上から、**インスタンスの起動**をクリックします。
![スクリーンショット 2021-09-19 0.53.08.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/f77a5b84-4c2e-327d-612f-3e0c360c0ec3.jpeg)

**マシンイメージの選択**画面が表示されるので、検索欄に「Windows」と入力します。
すると、さまざまなバージョンのWindows OSが表示されますのでどれか選択してください。

今回は、特に利用したいバージョンもなく、Windowsならなんでもいいので、
無料利用枠の対象である一番上のものを選択しました。
![スクリーンショット 2021-09-19 0.55.03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/fc58c8ca-e25a-a9e4-6ec3-586c94feb05f.jpeg)

続いて、**インスタンスタイプの選択**を行います。

インスタンスタイプは、かなりの数存在しますので説明は省きますが、
タイプによって性能が違うという認識で大丈夫です。

今回は、利用したいソフトを利用できるだけのスペック（低スペックで十分）なので、
無料利用枠の対象である、**t2.micro**を選択したいと思います。

選択後、右下の次のステップボタンをクリックします。
![スクリーンショット 2021-09-19 0.58.23.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/7f728acd-cbb9-180e-33bd-a7495ed181a6.jpeg)

**インスタンスの詳細設定**ですが、特にいじる必要はないので、次のステップへ。
必要に応じて各自でいじってください！

**ストレージの追加**ですが、今回は特にストレージを追加したいわけではないので、
私はそのまま次のステップにいきます。
容量が足らなさそうでしたら、各自追加を行なってください。

**タグの追加**ですが、特に必要ないのでステップへ。
タグの追加を設定すると、サービス利用量の請求画面などで、
タグで絞り込みできたりするらしいですが、個人利用者には必要ないですね・・・。

**セキュリティグループの設定**では、少し設定をいじります。
すでに、タイプが「RDP」となっている項目が追加されていると思います。

こちらのソースを、**カスタム**から**マイIP**に変更してください。
すると、右側に自分のIPアドレスが表示されると思います。
![スクリーンショット 2021-09-19 1.09.24.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/96d1b940-a3de-8bf2-a08f-878a162fa4bc.jpeg)
こちらの設定ですが、何を行なっているかというと、
どのような通信がこのインスタンスに接続できるかのフィルターをかけています。

今回の場合は、**RDP**というプロトコルで、
**ポート範囲**は3389のみ、**ソース**（送信元）は自身のIPアドレスのみになります。
つまり、あなたが今繋いでいる環境からしかRDP接続できません。

RDPとは、Remote Desktop Protocolの略だった気がします。
説明は少し難しいのですが、簡単に言うと遠くのサーバにリモートで接続する機能です。

最低限の設定は完了したので、**確認と作成**をクリックします。
設定した内容で問題なさそうなら**起動**をクリックします。

キーペアを作成するように言われます。
「新しいキーペアの作成」を選択し、RSAを選択。
キーペア名は任意の名前で大丈夫なので、分かりやすいものにしてください。

入力後、ダウンロードを行い、インスタンスの作成をクリックします。
![スクリーンショット 2021-09-19 1.22.59.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/b192006a-ce1b-10e1-f871-6d18dbd5da66.jpeg)


###RDP接続
インスタンスの作成はできましたので、RDPで接続していこうと思います。
まず、**App Store**から**Microsoft Remote Desktop**をインストールしてください。

最初のインスタンス一覧の画面を見ると、
新しくインスタンスが追加されていると思います。

左のチェックボックスにチェックを入れてから、
右上の「アクション」をクリックし、**接続**をクリックします。
（ちなみに、Nameの欄の「-」のあたりをクリックすると名前を付けれます。）
![スクリーンショット 2021-09-19 1.34.35.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/39759a82-d2a6-5028-b591-2d67d76733ae.jpeg)

**インスタンスに接続**という画面が表示されるので、
**RDPクライアント**のタブを選択します。

この時表示れている、**Public DNS**は、この後必要になるのでコピーしておきましょう。
コピー後に、パスワードの取得をクリックします。
![スクリーンショット 2021-09-19 1.44.42.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/8101f4b0-fae2-6df9-d45f-12809a7f4d5d.jpeg)

ファイルアップロード画面が表示されるので、
先ほどダウンロードしたキーペアのpemファイルをアップロードし、
パスワードの複合化を行います。

すると先ほどの画面に戻り、パスワードが表示されるので、
その内容をコピーしておきます。（スクショ撮るの忘れてました。。）

先ほどインストールした、Remote Desktopを起動し、
真ん中の**Add PC**ボタンをクリックします。
![スクリーンショット 2021-09-19 1.51.13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/eb22c1ec-997a-b562-2c61-2b7ce53b0899.jpeg)

PC追加画面になるので、先程コピーしたPublic DNSをPC nameに貼り付けて追加します。
するとこんな感じでサーバが追加されます。
![スクリーンショット 2021-09-19 1.54.24.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/e0d0db33-9566-b7e6-a4d4-d5b6759470ba.jpeg)

サーバをダブルクリックすると、ログインするユーザとパスワードを聞かれるので、
ユーザは**Administrator**で、パスワードは、先ほどコピーしたものを貼り付けます。

Continueを押していくとログインできました！
![スクリーンショット 2021-09-19 1.58.13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/51051f42-7380-401f-a9c7-7cf9c39ec0b9.jpeg)

###さいごに

どうでしょうか。
無事にWindowsサーバに接続できたと思います。

毎回ユーザとパスワードを入力するのが面倒な人は、
Remote Desktopの編集画面からユーザの追加が行えるので、
Administratorを追加すればすぐにログインできるようになります。

では、皆さん良いWindowsライフを！