目次
- はじめに
- Azure VMを使用する際のメリット・デメリット
- 基本用語
- システム構成図
- 構築前の事前準備
- 構築手順
- 実際に構築する
- リソースを削除する
はじめに
Azure VMを作成して、自宅IPアドレスからのみ接続できるようにします。
この記事は非エンジニアの大学生や研究者が理解できるように書いたため、とても丁寧に書いています。
それなりにクラウドを使える又はIT技術に自信のある方はAzureの公式サイトを眺めたほうが早いです。
この記事では下記のような状況を想定しています。
- 研究で必要なソフトがLinuxのみで動かせるが、自分はWindows(Mac)しか持っておらず、Windows(Mac)上でLinuxを動かすにはPCのスペックが足りない。
- 研究で必要なソフトがWindowsのみで動かせるが、自分はMacしか持っていない。
- あるソフトを動かすのにPCのスペックが足りていないが、研究室にも良いスペックのPCがない。
Azure VMを使用する際のメリット・デメリット
- メリット
PCを買うより安くソフトを動かすことができる。
スペックを簡単に変えられるため、お試しでソフトを入れて触ることができる。
作成したリソースの削除が簡単にできる。 - デメリット
長期・継続的にソフトを使用する場合はコストが嵩む。
機密度の高いデータを研究に使用する際は取り扱いに注意が必要な可能性がある。
ちなみに、おおよそのコストはこちらで計算できます。
VMコストの目安は24時間で$5.38です。スペックが上がる又は通信量が多くなるとコストが高くなります。
VMは起動している間課金されますが、停止している間は課金されません(従量課金制)。
基本用語
-
Azureとは
Microsoftが提供するクラウドサービスです。
クラウドについてはこちらの記事などが参考になりますが、特に知らなくても大丈夫です。 -
VMとは
VMはAzureが提供するVirtual Machineの略で、仮想サーバーのことです。
自分が使用できるPCが1台増えると思ってください。
構成図
今回は下記のようなシステムを構築します。最低限のセキュリティを担保したいので、NSGを作成し、自分のIPアドレスからのみ接続できるように構築します。
(Azureのアイコンが使えないので図が見苦しいです。ご容赦ください。)
構築前の事前準備
-
まずはAzureへ登録する
こちらを参考に登録できます。
コストがかかるので、サポートプランは不要にしておいたほうが良いです。
今回はAzure Portalから操作するので、Azure登録後に下記サイトをブックマークしておいてください。
https://portal.azure.com/#home -
コストアラートを設定する
学生が研究で使用する場合は私費で支払う場合が多いと思うので、コストアラートは設定しましょう。
こちらを参考に設定していきます。
①ポータルメニュー→「コストの管理と請求」を選択する。
②「予算」→追加を選択する。
③下記の項目を記入する。
名前: 一意に記入する
金額: 許容できるコストを記入する。$単位なので注意が必要である。
④「次へ」を選択
⑤下記の項目を記入する。
警告条件: 予測、実測がある。VMを使用する程度なら実測で良い気がする。
予算の割合: 80%くらいに設定すると到達前に知らせてくれるので良いかもしれない。
アラートの受信者: 自分のメールアドレスを記入する。
言語: 自分が理解できる言語を選択する。
⑥「作成」を選択する
⑦「予算」ブレードを選択し、作成したものが表示されることを確認する。
構築手順
1. サブスクリプションを作成する
2. リソースグループを作成する
3. VNet/Subnetを作成する
4. NSGを作成する
5. パブリックIPアドレスを作成する
6. VMを作成する
実際に構築する
1.サブスクリプションを作成する(デフォルトのサブスクリプションがある場合は省略可)
こちらを参考に設定していきます。
①ホームの検索バーで「サブスクリプション」を検索し、選択する。
②「追加」を選択する。
③サブスクリプション名のみ記入し、残りはデフォルトのまま、「レビューと作成」→「作成」を選択する。
④サブスクリプションに新しく作成したサブスクリプションが追加されたことを確認する。表示までにしばらく時間がかかることがある。作成したサブスクリプションが見当たらない場合は「サブスクリプション==グローバルなフィルター(写真では「すべて」になっている)」を選択し、左下のチェックボックスを外すと表示される場合がある。
2.リソースグループを作成する
こちらを参考に設定していきます。
①ホームの検索バーで「リソースグループ」を検索し、選択する。
②「作成」を選択する。
③下記の項目を記入する。下記以外の項目はデフォルトのままで問題ない。
項目 | 内容 |
---|---|
サブスクリプション | 工程1で作成したサブスクリプションを選択する。 |
リソースグループ | 一意のリソースグループ名を記入する。 |
リージョン | どこでも問題ないが、日本国内なら東日本か西日本が良い。 |
③「確認及び作成」→「作成」を選択する。
④リソースグループに新しく作成したリソースグループが追加されたことを確認する。
3.VNet(=仮想ネットワーク)/サブネットを作成する
こちらを参考に設定していきます。
①ホームの検索バーで「VNet」を検索し、「仮想ネットワーク」を選択する。
②「作成」を選択する。
③基本タブで下記の項目を記入する。下記以外の項目はデフォルトのままで問題ない。
項目 | 内容 |
---|---|
サブスクリプション | 工程1で作成したサブスクリプションを選択する。 |
リソースグループ | 工程2で作成したリソースグループを選択する。 |
名前 | 一意のVNet名を記入する。 |
リージョン | どこでも問題ないが、日本国内なら東日本か西日本が良い。 |
④IPアドレスタブで下記の項目を記入する。下記以外の項目はデフォルトのままで問題ない。
項目 | 内容 |
---|---|
IPアドレス | デフォルトのままでも問題ないが、VMを一つ立てるだけであれば/27で十分足りる。 |
サブネットの追加→サブネット名 | 一意のサブネット名を記入する。 |
サブネットの追加→サブネットアドレス範囲 | IPアドレスレンジの中で自由に定める。/28とか。 |
⑤「確認及び作成」→「作成」を選択する。
⑥仮想ネットワークに新しく作成した仮想ネットワークが追加されたことを確認する。
IPアドレスレンジとは???という方は下記のサイトなどを読んでみると良いと思います。
https://milestone-of-se.nesuke.com/nw-basic/ip/ip-address/
下記サイトで簡単にレンジを計算できます。
https://note.cman.jp/network/subnetmask.cgi
4.NSG(=ネットワークセキュリティグループ)を作成する
初心者にとって、ここの理解が一番難しいと思います。
やっていることは、「他の人からアクセスされないように、自分のIPアドレスからのみ接続できるように設定する」「アウトバウンド通信はInternet向けのHTTPS通信又はHTTP通信のみ開ける」の2点です。
こちらを参考に設定していきます。
①ホームの検索バーで「リソースグループ」を検索し、選択する。
②「作成」を選択する。
③下記の項目を記入する。下記以外の項目はデフォルトのままで問題ない。
項目 | 内容 |
---|---|
サブスクリプション | 工程1で作成したサブスクリプションを選択する。 |
リソースグループ | 工程2で作成したリソースグループを選択する。 |
名前 | 一意のNSG名を記入する。 |
リージョン | どこでも問題ないが、日本国内なら東日本か西日本が良い。 |
③「確認及び作成」→「作成」を選択する。
④NSGに新しく作成したNSGが追加されたことを確認する。
⑤作成したNSGを選択する。
⑥受信セキュリティ規則を選択し、「追加」を選択する。
⑦下記の項目を記入する。
[Linuxの場合]
項目 | 内容 |
---|---|
ソース | IPアドレス |
ソースIP アドレス/CIDR 範囲 | 自宅PCのIPアドレスを記入する |
ソースポート範囲 | * |
宛先 | 任意 |
サービス | SSH |
アクション | 許可 |
優先度 | 100 |
名前 | 一意の名前 |
自分のIPアドレスがわからない場合は下記サイトで調べることができる。
https://www.cman.jp/network/support/go_access.cgi
[Windowsの場合]
項目 | 内容 |
---|---|
ソース | IPアドレス |
ソースIP アドレス/CIDR 範囲 | 自宅PCのIPアドレスを記入する |
ソースポート範囲 | * |
宛先 | 任意 |
サービス | RDP |
アクション | 許可 |
優先度 | 100 |
名前 | 一意の名前 |
自分のIPアドレスがわからない場合は下記サイトで調べることができる。
https://www.cman.jp/network/support/go_access.cgi
⑧「追加」を選択し、受信セキュリティ規則に規則が追加されたことを確認する。
⑨ ⑥から⑧を下記の値で繰り返す。
項目 | 内容 |
---|---|
ソース | Any |
ソースポート範囲 | * |
宛先 | Any |
サービス | Custom |
プロトコル | Any |
アクション | 拒否 |
優先度 | 4096 |
名前 | 一意の名前 |
LinuxとWindowsで必要規則が異なりますが、下記のようになっていればOK。
⑩送信セキュリティ規則を選択し、「追加」を選択する。
下記規則を追加する。
項目 | 内容 |
---|---|
ソース | 任意 |
ソースポート範囲 | * |
宛先 | サービスタグ |
宛先サービスタグ | Internet |
サービス | HTTPS |
アクション | 許可 |
優先度 | 100 |
名前 | 一意の名前 |
⑪「追加」を選択し、送信セキュリティ規則に規則が追加されたことを確認する。
⑫ ⑩から⑪を下記の値で繰り返す。
項目 | 内容 |
---|---|
ソース | Any |
ソースポート範囲 | * |
宛先 | Any |
サービス | Custom |
プロトコル | Any |
アクション | 拒否 |
優先度 | 4096 |
名前 | 一意の名前 |
[Linuxの場合、下記も追加する] ※WindowsでもHTTP通信を許可したい場合は追加する。
項目 | 内容 |
---|---|
ソース | 任意 |
ソースポート範囲 | * |
宛先 | サービスタグ |
宛先サービスタグ | Internet |
サービス | HTTP |
アクション | 許可 |
優先度 | 101 |
名前 | 一意の名前 |
LinuxとWindowsで必要規則が異なりますが、下記のようになっていればOK。
⑬「サブネット」を選択する。
⑭「関連付け」を選択する。
⑮VNet/Subnetを作成するの際に作成したVNetとSubnetを選択し、OKを選択する。
⑯「サブネット」にサブネットが追加されたことを確認する。
5.パブリックIPアドレスを作成する
パブリックIPアドレスは作成から削除するまでの間コストがかかります。1ヶ月$3ほどです。
コストを気にする場合、VMを使用しない期間はパブリックIPアドレスを削除することもできます。
こちらを参考に設定していきます。
①ホームの検索バーで「パブリックIP」を検索し、選択する。
②「作成」を選択する。
③下記の項目を記入する。下記以外の項目はデフォルトのままで問題ない。
項目 | 内容 |
---|---|
サブスクリプション | 工程1で作成したサブスクリプションを選択する。 |
リソースグループ | 工程2で作成したリソースグループを選択する。 |
名前 | 一意のパブリックIPアドレス名を記入する。 |
リージョン | どこでも問題ないが、日本国内なら東日本か西日本が良い。 |
③「確認及び作成」→「作成」を選択する。
④パブリックIPアドレスに新しく作成したパブリックIPアドレスが追加されたことを確認する。
VMを作成する/ログインする
[Linuxの場合]
こちらを参考に設定していきます。
①ホームの検索バーで「VM」を検索し、選択する。
②「作成」→「Azure仮想マシン」を選択する。
③「基本」タブで下記の通り設定する。
イメージとサイズは要件に従って設定する。パブリック受信ポートはNSGで制御しているので設定不要である。
ここで定めたユーザー名はメモしておく。
④「ディスク」タブで下記の通り設定する。OSディスクはStandard HDDで十分なはず。
⑤「ネットワーク」タブで下記の通り設定する。
仮想ネットワーク、サブネット、パブリックIPアドレスは先程作成したものを使用する。
⑥「管理」タブはデフォルトのままにしておく。料金が怖い場合は自動シャットダウンをONにする。
⑦「Monitoring」「詳細」タブはデフォルトのままにしておく。
⑧「確認及び作成」→「作成」を選択する。
⑨新しいキーの組の生成ウィンドウで「秘密キーのダウンロードとリソースの作成」を選択する。
⑩Virtual Machineに新しく作成したVMが追加されたことを確認する。
⑪Linux VMへの接続を確認する。自宅PCがWindowsの場合は下記手順に従う。
Windows Poweshellを開く。
下記コマンドを叩く。
ssh -i ~/Downloads/[ダウンロードしたpemファイル名].pem [VM作成時に指定したユーザー名]@[VMのパブリックIPアドレス]
Linux, Macの場合は手順が異なる。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/linux/quick-create-portal?tabs=ubuntu#connect-to-virtual-machine
⑫動作確認のためにこちらに従い、Linux VMにNGINX Web サーバーをインストールする。
Ubuntuの場合は下記のようになる。
⑬動作確認のために、ブラウザからVMのパブリックIPへアクセスする。下記のようなサイトが表示されればOK。
⑭これでLinux VMの構築は完了した。使用後はVMの電源Downを忘れないようにする。
[Windowsの場合]
こちらを参考に設定していきます。
①ホームの検索バーで「VM」を検索し、選択する。
②「作成」→「Azure仮想マシン」を選択する。
③「基本」タブで下記の通り設定する。
イメージとサイズは要件に従って設定する。パブリック受信ポートはNSGで制御しているので設定不要である。
ここで定めたユーザー名はメモしておく。
④「ディスク」タブで下記の通り設定する。OSディスクはStandard HDDで十分なはず(写真はStandard SSDになってます)。
⑤「ネットワーク」タブで下記の通り設定する。
仮想ネットワーク、サブネット、パブリックIPアドレスは先程作成したものを使用する。
⑥「管理」タブはデフォルトのままにしておく。料金が怖い場合は自動シャットダウンをONにする。
⑦「Monitoring」「詳細」タブはデフォルトのままにしておく。
⑧「確認及び作成」→「作成」を選択する。
⑨Virtual Machineに新しく作成したVMが追加されたことを確認する。
⑩自宅PCからRDP接続するために、リモートデスクトップ接続を開く。
⑪「オプションの表示」を選択する。
⑫「コンピューター」にVMを作成する際に使用したパブリックIPアドレス、「ユーザー名」にVMを作成した際に定めたユーザー名を記入する。
⑬「接続」を選択する。
⑭「パスワード」にVMを作成した際に定めたパスワードを記入する。
⑮「はい」を選択する。
⑯Windowsのデスクトップが表示されれば成功。画面中央上部のIPアドレスバーの×を押すことでRDPを切断することができる(Shut Downではないので注意)。
⑭これでWindows VMの構築は完了した。使用後はVMのShut Downを忘れないようにする。
これでVMの用意が完了しました。あとは使用したいソフトなどをVMにダウンロードし使用してください。
補足
※WindowsからLinux VMにRDPしたい場合は下記のサイトが参考になりそうです。RDPする場合はNSGの受信セキュリティ規則でTCP3389を許可してください。
https://www.kenschool.jp/blog/?p=4600
※Macから各VMへRDPする場合は下記のサイトが参考になりそうです。
https://www.onamae-desktop.com/guide/rdp/howto-rdp/78/
リソースを削除する
各リソースはリソースグループという上位分類群に含まれています。
リソースグループを削除すると、今回作成したリソースは全て削除できます。
作業完了後はリソースグループごと削除することをおすすめしますが、念のため各リソースごとに削除する方法も記載します。
リソースごとに削除したい場合
①リソースグループを検索する。
②削除したいリソースが含まれるリソースグループを選択する。
③削除したいリソースを選択する。
④「削除」を選択して削除する。
リソースが他のリソースに関連付けられていて削除できない場合は関連付けを解除することで削除できます。
全部まとめて消したい場合
①リソースグループを検索する。
②削除したいリソースが含まれるリソースグループを選択する。
③「リソースグループの削除」を選択する。
④リソースグループ名を記入し、「削除」を選択する。
⑤リソースグループが削除されたことを確認する。
ちなみに、NetworkWatcherRGも削除してください。これは今回の作業を進める上で自動生成されるものです。