家に開発環境が作れない人への提案

# 注意事項

この記事は私の行ったことのメモです。間違ったことなどがあれば、ドンドンコメントください。
**実際の使用については自己責任でお願いします**

# 提案対象

- 家にPCのない人
- 家のPCは共用なのでVisual Studioなどは入れられない人
- いい加減、Visual Studioの環境づくりにうんざりした人

上記の方で、開発環境を持ちたいけど新しいPCを買うのもなという方に向けて書いております。

# きっかけ
私は10年SEをやっていますが、クラウドとは縁遠いところにおり、実際のサービス内容については詳しくは知りませんでした。
最近、自身の開発用PCの調子が悪くなったのですが、新しいPCを買うお金は持ち合わせておりませんでした。
そんなときに[この記事](https://codeiq.jp/magazine/2015/04/23353/)を見て「
え？AzureでVisual Studioの環境作っても大丈夫なの？中学生に勧めているけど、そんなにお得なの？！」と思い、たまたまMicrosoftがAzure20,500円分のキャンペーンを行なっていたため、チャレンジしてみることにしました。

# 必要なもの

- Microsoftアカウント
- 携帯電話・スマホ
- クレジットカード
- とりあえずやってみる勇気

# Azureアカウント作成
Azure用のアカウントを作る必要があります。Microsoftアカウントを持っているとそのアカウントに紐付けされて作成されます。
登録は[このページ](https://azure.microsoft.com/ja-jp/free/)から行います。

# 実際に開発環境を作ってみる
## 作成する環境を選ぶ
0. 登録完了後、ダッシュボード画面が表示されます
￼
![スクリーンショット_2017-03-20_11_28_29.png](https://qiita-image-store.s3.amazonaws.com/0/166866/3d18b258-3fc5-368e-a6f1-4e1511a06fa9.png)

左上の”新規”のボタンを押します。

￼![スクリーンショット_2017-03-20_23_05_34.png](https://qiita-image-store.s3.amazonaws.com/0/166866/3d2ae808-aee6-2fa3-9fc0-1118a30f99cd.png)

上記の画面になったら、「Marketplace を検索」をクリックして”Visual Studio”と入力します。
￼
![スクリーンショット_2017-03-20_23_06_01.png](https://qiita-image-store.s3.amazonaws.com/0/166866/e4688d57-006f-192b-bdf2-8e9cf1b5c547.png)

すると、Visual Studioがインストールされた環境の一覧が表示されますので、適当なものを選択し、作成をクリックします。デプロイモデルの選択はとりあえず”Resource Manager”にしました。

注意：EnterpriseがついているものについてはMSDNへのサブスクリプションが必要になりますので、Windows ServerとVisual Studio Communityの組み合わせを選ぶようにしましょう。
￼

## 開発環境の設定

基本的には[Azure ポータルで初めての Windows 仮想マシンを作成する](https://docs.microsoft.com/ja-jp/azure/virtual-machines/virtual-machines-windows-hero-tutorial)にしたがって作ったつもりです。

### 1. 基本の設定

次のようにしました。
マシンはインターネットで公開されてしまうので、ログイン用のパスワードはパスワード管理ソフトで12桁のものを作りました(要・大文字1文字以上、数字1文字以上、記号1文字以上)

￼![スクリーンショット_2017-03-20_23_07_32.png](https://qiita-image-store.s3.amazonaws.com/0/166866/fa84b919-c3c5-2041-e0ac-82aada55f699.png)

## 2.サイズの設定
わからなかったので安い方にしました。立ち上げぱなしで月2万円かぁ・・・

￼![スクリーンショット_2017-03-20_23_07_58.png](https://qiita-image-store.s3.amazonaws.com/0/166866/d02e79cb-e999-30ac-dbe6-f0c0399c1c2a.png)

## 3.設定の設定
次のようにしました(デフォルトのままです)。
￼
![スクリーンショット_2017-03-20_23_08_50.png](https://qiita-image-store.s3.amazonaws.com/0/166866/0bdc1904-d0c8-1818-2472-6d6e8659cb0b.png)

## 4.概要
作成された環境のまとめが表示されます。これでOKを押すと環境が作成されます。閉じたりすると、それまでの設定は破棄され、仮想環境も作成されません。
￼
![スクリーンショット_2017-03-20_23_08_57.png](https://qiita-image-store.s3.amazonaws.com/0/166866/24c8a925-bca5-380c-d823-fa8eaa74dfa3.png)

これで、仮想環境の完成です。実際の完成までそこそこ時間がかかります。私の場合6分程度だったと思われます。これで、あなたの開発環境が作成されました。

## 作成した環境への接続

作成した環境へログインするにはリモートデスクトップを使います。MacやiOSではMicrosoft Remote DesktopをAppStoreからインストールしてください。
Windowsの方はリモートデスクトップを使用してください。
接続先は次の画面で言えばパブリックIP(右列4パラグラフ目)と書かれている部分を指定することでこのマシンにログインすることができます。
ただし、このIPアドレスは、仮想環境を立ち上げるたびに変わるそうなので、毎回確認してログインしましょう。
![スクリーンショット_2017-03-20_23_09_34.png](https://qiita-image-store.s3.amazonaws.com/0/166866/a061cca2-9a93-71f7-c853-0b397139c531.png)

### 追記
毎回IPを更新するのが面倒くさいなと思っていたら、DNSを設定する方法がありました。

ダッシュボードのマシンから対象のマシンをクリック。「作成した環境への接続」節で示した画面のパブリックIP画面をクリックし、下記の画面に映ります。

<img width="1358" alt="スクリーンショット_2017-04-02_5_55_13.png" src="https://qiita-image-store.s3.amazonaws.com/0/166866/7c8b8652-a812-581a-3411-53b2c6a9bf20.png">

一番下の「DNSラベル」に小文字、数字、ハイフンを入れた名前を登録します。どうやら早い者勝ちらしいです。設定したら、保存ボタンを押します。

すると「(登録したサブドメイン名).(リージョンのサブドメイン).cloudapp.azure.com」とのDNS名が振られます。これをマシン名として、接続すれば、あとはOKです。

## 料金

ためしに今、ウワサのGVFSをコンパイルしてみました(ただし、5回くらいビルドしても失敗して諦めました)。
そのときの使用料金は次の通りになります。実は、この価格、マシンをシャットダウンしただけで停止をしていなかったため、8時間アイドリング状態での価格です。まぁ、こんなものなのかな・・・

![スクリーンショット_2017-03-20_23_33_42.png](https://qiita-image-store.s3.amazonaws.com/0/166866/9ae8d04f-b82f-3ce2-7753-2b4494783242.png)

### 追加

2週間なにもせずに放っておきました。

料金は以下の感じ。ストレージの料金が一番高くなりました(100円程度ですが)。SSDでマシンを1台作ったからこうなるのかな？

<img width="602" alt="スクリーンショット 2017-04-02 6.11.04.png" src="https://qiita-image-store.s3.amazonaws.com/0/166866/b4f8628f-7946-75be-b3f1-8a06f07b65a5.png">


## マシンのシャットダウン(追記)

公開時、何も考えてなかったのですが、マシンを落とすときはマシンをシャットダウンしただけでは不十分です。

マシンをシャットダウンしたあと、ダッシュボード画面に戻り、実行していたマシンを選択します。

"停止中(引き続きコンピューティングの料金は発生)"と物々しい感じで表示されていますので、停止をクリック。
<img width="1359" alt="スクリーンショット_2017-04-02_6_21_13.png" src="https://qiita-image-store.s3.amazonaws.com/0/166866/b69adb8f-822f-efb5-0ed2-2e324c90c291.png">

これでマシン割り当ての解除が完全になされました(多分・・・)。

# 参考
 - [Azure 入門学習資料をまとめてみた](http://nt-d.hatenablog.com/entry/2015/07/06/193021)
 - [Microsoft Azure で仮想マシンを立てたとき、分からなかったことメモ](http://qiita.com/towtow/items/eefb7073998226c44281): 料金など
 - [マイクロソフトアカウントと紐付けしないでAzure Webサイトを作成する
](http://qiita.com/or2/items/f97c6a29be99bba3b2cd): Microsoftアカウント以外を使う方法について