日商エレクトロニクスのAzureエンジニア担当 渡邊です。
新年あけましておめでとうございます。今年もAzureなどの情報を発信していきますので、よろしくお願いします。
さて、新年1回目(既に1月も終わりかけてますが。。。)ですので、初心に戻ってみたいと思います。今回は以前の記事で言っていたように仮想マシンの作り方含めたIaaS環境の構築をご紹介します。私がAzureを勉強し始めた時と比べてもかなり変化を感じています。以前の仮想マシン作成は過去記事にもありますので、見比べていただくとどのような変化があったのかわかると思います。
※ここで紹介している内容は2019年1月時点のものです。Azureは常に変化しますので常に最新の情報を参照してください。



1.IaaS環境構築

1.1.主な構成要素

Azure上のIaaS環境は主に[Compute]、[Storage]、[Networking]の3つで構成されています。
Computeでは仮想マシン(VM)が用意されており、WindowsやLinuxのテンプレートが用意されており、簡単にサーバーを用意することができるようになっています。また、SQLなども用意されていることから開発の環境も簡単に構成することができます。OSやSQLのライセンスは料金の中に含まれており、それぞれを管理する必要もないです。
StorageではVMでの使用が推奨されている[管理ストレージ]やAzure上のストレージとして活用可能なAzure Filesのような[クラウドストレージ]が用意されています。今回は簡単なIaaS環境の構成を行うため管理ストレージを使用します。
NetworkingではVMなどをデプロイし接続する[仮想ネットワーク(vNet)]やVPNやExpressRouteで使用するGatewayなどが用意されています。今回はvNetを作成し、そのvNet上にVMをデプロイしていきます。
これらの要素を使用して今回は以下のような環境を構成します。[:]の後は各要素へ今回つける名前です。

1.2.IaaS以外の構成要素

実際に今回の環境を構築するには、上記のIaaS要素に加えてさらに以下の要素が必要となります。
・リソースグループ
・ネットワークインターフェイス(NIC)
・パブリックIPアドレス
・ネットワークセキュリティグループ(NSG)
これらの要素は以下のように関連付けられています。

Azureのリソースは1つのリソースグループ内に関連付けられます。ストレージはVMに直接アタッチされ、OSディスク内のVHDを参照しています。また、データなどは基本的にデータディスクで読み書きされます。
vNetなどはVMに直接関連付けされておらず、NICに集約されています。NICとvNet内に作成するSubnetを接続することでvNet内の他のVMと通信を行えます。また、NICとパブリックIPとを接続することで外部からVMへ到達可能となり、NSGによりポートやIPによる通信の制御を行うことができます。NSGはNICとSubnetにそれぞれ設定することができます。

2.AzureポータルからIaaS環境を構築

では実際に環境をAzureのポータルから作成していきます。

2.1.リソースグループの作成

まずIaaS環境を構成するリソースを入れるリソースグループを作成します。Azureポータルへログインし、[リソースグループ]を選択して、[+追加]をクリックします。

[基本]タブで使用するサブスクリプションを選択し、[リソースグループ]に使用できる名前を入力します。[リージョン]は[東日本]とします。[次へ:タグ]をクリックします。

[タグ]はそれぞれのリソースなどにタグ付けを行い、何に使われているのかなどを分類することができるようになっています。各リソースの作成時に出てきますが、今回は使用しないため[確認および作成]をクリックし、問題なければ[作成]をクリックします。これでリソースグループが作られます。

2.2.vNet・Subnetの作成

Azureポータルの左メニューから[仮想ネットワーク]を選択し、[+追加]をクリックします。

vNetとSubnetの名前、アドレス空間を設定します。アドレス空間ではプライベートIPの任意のIPを使用することができます。ただし、以下の5つのアドレス範囲は指定できません。
・224.0.0.0/4(マルチキャスト)
・255.255.255.255/32(ブロードキャスト)
・127.0.0.0/8(ループバック)
・169.254.0.0/16(リンクローカル)
・168.63.129.16/32(内部DNS)
入力し終わったら[作成]をクリックします。これでvNet・Subnetが作成されます。

2.3.VMの作成

Azureポータルの左メニューから[Virtual Machines]を選択し、[+追加]をクリックします。

以前はVM作成画面もvNet作成画面のような見た目でしたがガラッと変更されています。[基本]タブではVMの[OS]や[サイズ]、[管理者アカウント]などを設定します。AzureではVMのスペックはCPUやMemoryの大きさをそれぞれ選択するのではなく、[サイズ]というCPU、Memoryのセットから選択します。[サイズ]の頭文字(AやD等)により用途が異なるため、用途に合ったVMをMSのサイトを確認して選択してください。また、[受信ポートを選択]でWindowsであれば[3389]、Linuxであれば[22]など、必要となるポートを選択しておくと自動的にNSGで許可の設定がされます。

ちなみに[サイズを変更します]を選択すると一覧が表示されるため、検索などで絞って必要なサイズを選択してください。

次にアタッチするディスクの設定を行います。管理ディスクの種類として現在は[Premium SSD]、[Standard SSD]、[Standard HDD]が用意されています。今回は検証のため[OSディスクの種類]では[Standard HDD]を選択します。データディスクを作成するために[新しいディスクを作成し接続する]をクリックします。

[新しいディスクを作成する]ブレードが開くため、[32GB]の[Standard HDD]を作成します。

[OK]を押すと元のブレードが表示され、[LUN]や[ホストキャッシュ]の設定ができます。注意点としてデータディスクでは[書き込み]のホストキャッシュは選択しないようにしてください。書き込みがされずにキャッシュのみで持っている状態で障害が発生した場合などにデータ消失が起こる可能性があります。

次にネットワークを選択します。先ほどvNetを作成しておいたのでそれを選択します。また、ここでパブリックIPの作成も行います。

次に[管理]タブでは[ブート診断]などの機能のオン・オフを設定します。VMのメトリックを詳しく取得するためには[OSのゲスト診断]をオンにする必要があります。また、[自動シャットダウン]をオンにすることで余計な課金が発生するのを防ぐことも可能です。

[ゲストの構成]タブではAzureで用意されている拡張機能をデプロイ時に導入しておくことが可能です。

最後に[確認及び作成]をクリックして[検証に成功しました]と表示され、それぞれの項目が問題ないことを確認したら[作成]をクリックします。これで今回のIaaS環境の構築は完了です。

3.構築環境の確認

今回構築したリソースグループ内には以下のようなリソースが存在しています。ストレージアカウントに関してはブート診断で使用されるため作成されています。

また、vNetの[ダイアグラム]を見るとそのvNetにあるリソースがどのように接続されているのかを見ることができます。今回の構成がNICを中心に紐づいていることがわかります。ストレージに関してはVMに紐づくため表示されていません。複数のVMなどをデプロイしてどのような構成になっているのかなどを見たい場合はこの[ダイアグラム]を活用してみてください。

4.まとめ

今回はAzure上にIaaSの環境を構築しました。UIや設定の項目などは都度変更になっていくため、どのようにリソースが紐づいているのかを知っておいていただければと思います。なお、現在の環境はクラシックとは異なったリソースの構成のため、リソースの種類や紐づき方も今後変わっていく可能性もあります。新しい環境などが発表されたらまた情報発信していこうと思います。
また、現在のAzureテンプレートから展開するOSは英語表記となっています。日本語として使用する場合の設定は過去ブログにあるため、そちらを参照してください。今回の様なIaaS環境を構築するだけであれば30分もかかりません。簡単なサーバーの検証などを行いたい場合など是非Azure IaaSを活用してみてください。

この記事を書いた人

渡邊真悟
渡邊真悟
オンプレエンジニアとして活動するはずが、気が付いたらクラウドに飲み込まれていたエンジニア
新しいことに取り組むのが苦手だった自分を変え、常に最新の情報を取り入れられるように日々奮闘しています。
Azureの機能検証や、Azure Stackも担当していることからハイブリッド環境の検証もお届け出来ればと思っています。
こんな検証ができないか、等ありましたら是非当社までご連絡ください!