はじめてのMicrosoft Azure(仮想マシン)
↓前回の記事
はじめてのMicrosoft Azure(ポータルログイン) - LinuxユーザーがイジるはじめてのAzure
はい、では前回の続きの記事を書きます。
前回はAzure Portalへのログインを中心に記載しました。ここでは一旦ゴールとして定めた仮想マシンのを作る、という範囲を記載します。
既に先走って仮想マシンを立てようとされた方は、非常に違和感を感じたと思います。
仮想マシン(クラシック)と、Virtual Machinesと2つ、似たようなものが並んでいます。まずここでどちらを操作すればよいかに迷われると思いますが、お薦めを先に言うとVirtual Machinesの方から仮想マシンを作成しましょう。
Tips.
「Microsoft AzureがWindows Azureと呼ばれていた時代に利用されていた仮想マシンの環境が、仮想マシン(クラシック)と呼ばれている環境になります。従来型をASM(Azure Service Manager)と呼んでおり、新しい環境をARM(Azure Resource Manager)と呼んでいます。すぐにASM環境がなくなることはないと思いますが、今後新しい機能やサービスはARM環境下で準備されていくことが予想されますので、これから仮想マシンを立てる方はVirtual MachinesのARM環境で利用されることをお薦めします。」
では早速ARM環境で仮想マシンを作成しましょう。
Virtual Machinesをクリックすると右側に新たなボードが出てきます。最初は何も作っていないため、ボードの左上にある「追加+」のアイコンをクリックします。そうするとたくさんあるOSイメージのどれを作成するかを選ぶ画面に来ますので、検索フォームにCentOS-basedと入れてみましょう。
CentOSにもいくつかのバージョンが用意されているのがわかります。せっかくなので1番新しい7.2を選びましょう。CentOS-based 7.2の行をクリックします。
※勝手にLinuxサーバーにしましたが、私がLinux好きなのでそうしています。といいますか、Azureの記事でCentOSを中心に記載する記事が少ないなと思ったので、あえてそうしています。
1番下にデプロイモデルの選択とありますね。冒頭で説明した通り、デフォルトのままリソースマネージャーで「作成」ボタンをクリックしましょう。
ここからの説明が大変そうですね。順を追って説明しましょう。
まず左側にある1,2,3,4は、すべて終わらせる必要がある項目、っと思ってください。終わらないと仮想マシンは作成できません。
では1から。
○名前
仮想マシンの名前、つまりノード名となります。
○ユーザー名
この仮想マシンへログインする際に作成されるCentOS内のuserとなります。ちなみにrootアカウントは作成できません。後で確認できますが、ここで作成したユーザーがroot権限でコマンドを実行したい時はsudoコマンドで打つことになります。
○認証の種類
Linuxユーザーの多くはSSHログインする際に公開キーでログインするのが普通ですので、あれか、、っと思われる方も多いと思いますが、なにやら入力を求められています・・。ご想像通りSSHのキーを自分で用意しなければいけない&X509形式で、という少しだるい作業がここで入ります。以下のドキュメントを参考に自作で証明書を作成しましょう。
【windowsOSの環境下で「azureのCentOSを作成しログインする」方法】
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-linux-ssh-from-windows/
うまくSSHキーが作成できれば、公開キー(秘密キーではなく)のファイルをメモ帳で開き、中身の文字列をそのままコピペし、Azureポータルに戻って張り付けましょう。ちゃんと形式があっていれば、入力フィールドの右側側面にグリーンのチェックマークがつきます。
ここは触らなくてOKです。無償試用版のサブスクリプションになっていることを確認しましょう。
○リソースグループ
冒頭でAzure Resource Manager(ARM)に触れましたが、ここではそのリソースグループ名を入れます。このリソースグループという概念は、仮想マシンだけでなくネットワークリソースやストレージリソースなど、コンピューティングリソース以外のリソースも全てこのグループで管理する、というグループ名の概念になります。この概念をわかりやすく記載されている記事がありますので、こちらをご参考ください。
https://www.kzmx.net/azure/311/
※その1からその4までありますが、概念的な把握はその3まで読むとわかります。
○場所
ここではこれから作成する仮想マシンが配置されるリージョンを選択します。日本は東日本と西日本と2つのリージョンが現在提供されています。
一通り入力が終わったらOKをクリックして2のサーバーサイズ選択にうつります。
最初に表示されるサイズ(スペック)はお勧めのスペックですので、右上にある「すべて表示」をクリックしましょう。既にCPUのコア数やメモリサイズなど選定に必要な情報はパネルに記載されています。各シリーズの説明は以下を参考にしてください。
https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/
あわせてSLAについても確認しておきましょう。
https://azure.microsoft.com/ja-jp/support/legal/sla/virtual-machines/v1_0/
今回は実験的に仮想マシンを作成しますので1台立てるだけですが、商用として利用する場合はちゃんと目を通しておきましょう。(同じ可用性セットにデプロイした 2 つ以上のインスタンスがある場合、というのがポイントですが、可用性セットの説明は後程します)
最後にもう1つ、ここで知っておくとよいポイントがあります。AシリーズやDシリーズなど、いくつかサーバースペックのモデルがありますが、各スペック事に追加できるNICの数やアタッチできるディスクの数に制限があります。事前にサーバー設計がされている場合は、以下のサイトにある「Microsoft Azure IaaS リファレンス アーキテクチャ ガイド」を参考にスペックを選びましょう。
とりあえずここではA1 Standardを選びましょう。
2が終わりましたので、3にうつります。
ここではストレージアカウントとネットワークの設定を入れます。既にデフォルト値がいくつか設定されていますが、ちゃんと理解しながら適切な設定を入れていきます。
○ディスクの種類
StandardはHDD、Premium(SSD)はSSDです。これはサーバーのローカルディスクのディスクに何を利用するか、という意味ですね。残念ながら今回作成するA1 StandardのスペックではPremium(SSD)は選択できません。DS1 Standard等に変更すれば利用できます。デフォルト値のままStandardが水色の背景になっていることを確認して次にいきます。
○ストレージアカウント
これから作成される仮想マシンはVHD形式でAzure Storageに自然と格納されます。このAzure Storageはストレージアカウントという単位で用意されるストレージ空間となります。今は特に気にする必要はありませんが、1ストレージアカウントは最大でも500TBまで、とクォータ制限があることだけ覚えておきましょう。ここではそのストレージアカウントの名前を任意な文字列で入れます。合わせて「種類」という項目で冗長化方式を選ぶことができますので、ここでは「L ローカル冗長」としておきます。「L ローカル冗長」とはLRSとも呼ばれ、同じデータセンター内にこのサーバーを3つ複製して持つ(VHDデータのトリプルミラー)、という意味になります。「G Geo冗長」はLRSに加えて異なるデータセンターにもさらに3つ複製する、つまり6つ持つGRSと呼ばれます。「R Read-Access Geo冗長」はデータの置き場としてはGRSと同じ6つですが、有事の際にアクセス経路が遮断されたとしても、異なるデータセンターへReadアクセスできる、といった事業継続性に向けた冗長化方式となります。以下、詳細に説明されていますので興味がある方は目を通してみてください。
https://azure.microsoft.com/ja-jp/documentation/articles/storage-redundancy/
○ネットワーク
Virtual Networkとあります。その名の通り仮想ネットワークとなります。vNETと略されて呼ばれることが多いです。Azureでは仮想マシンを作成する際に、自分の任意なネットワークセグメントを切ることができます。まずはそのVirtual Networkの名前を入れます。次にアドレス空間に以下のセグメントで切ってみましょう。
192.168.0.0/24
※192.168.0.0 - 192.168.0.255なので256個のアドレスを意味する範囲で指定していますが、実際は192.168.0.4からアドレスはふられますので、実際には252個のアドレスが利用できる設定内容となります。
次にサブネット名を入れます。任意な文字列でOKですが、わかりやすいようにここではsubnet1と入れておきましょう。そしてサブネットアドレス範囲には以下を入れます。
192.168.0.0/27
サブネットは1つだけ切るので、192.168.0.0 - 192.168.0.31までの計28個(192.168.0..4からなので)のアドレスを利用できることになります。もちろんVirtual Networkで指定したアドレスの範囲を超えた設定は入れられません。
次にパブリックIPアドレスの設定を入れます。インターネットからのアクセスが不要なサーバーであれば「なし」を選択します。ここではせっかくなので作りましょう。名前を入れ、「静的」を選びましょう。動的の場合は、例えば仮想マシンを再起動した際にパブリックIPアドレスが都度変わりますが、静的であれば変わることはありません。
次に、ネットワークセキュリティグループの設定を入れます。NetworkSecurityGroupですのでNSGと略されることが多いです。概念としてはAzureが提供するファイアウォール機能です。デフォルトでは22port(SSHログインポート)のみ受信許可の設定が入っていますので、そのままでもかまいません。
次は監視の診断です。ストレージアカウントを指定することでこれから用意するサーバーのリソースステータスを定期的に見てくれます。有効にしておきましょう。
最後に可用性セットです。ここはONにしておきましょう。障害ドメインと更新ドメインに対する数を選択できるようになっていますが、とりあえずここではデフォルトのまま設定しておきます。
障害ドメイン(Fault Domain:FD)はデータセンター内のラックをイメージして頂くと想像しやすいですが、これから作成するサーバーが同じラックに集約しないように複数選んでおく、という概念です。単一物理障害によるサービス影響を極力下げるためのもの、とお考えください。更新ドメインはAzureでメンテナンス(OS updateとか)がされた場合でもサービスの影響を低くするためのユニットです。こちらも複数選んでおくことがよいでしょう。
3まで登録が終われば最後の4は確認になります。
特に手戻りがなければこのまま仮想マシンの作成をしましょう。
画面右上にある鈴アイコン(通知)に、デプロイが開始されました、なるメッセージが出てきたと思います。基本的に処理を非同期で操作した場合はこの鈴アイコンのメッセージを見ておくとよいでしょう。(エラーの時もここでわかります)
いかがでしょうか。左側にあるリソースグループをクリックし、先ほど作成した仮想マシン一式が以下のように見えていますか。
概要>リソース の部分にあるアイコンにマウスポインタをあてると、それぞれがどのリソースで用意したものかがわかります。(ぱっと見わからないので、わかりやすい名前で入れておくことをお薦めします)
作成した仮想マシンがありますのでクリックしましょう。(上の図ではaktest001)
ここで割り当てられたパブリックIPアドレスが確認できます。
このIPアドレスをコピーし、ターミナルソフト(Teraterm)などでSSHログインしてみてください。SSHキーに秘密鍵を入れ、ユーザー名・パスワードは先ほど作成したものを入れてください。
以上で仮想マシンの作成ができたと思いますが、既にお気づきのように仮想マシンを作成する際には、ネットワークの設定やストレージの設定など多くの設定を入れる必要があります。ARMモデルでは、これら仮想マシンを取り巻く周りの環境を1つのグループとして管理できる、ということがわかったと思います。
次回は、せっかくLinuxサーバーが立ち上がったので、ディスクをアタッチしマウントする方法やAzure CLIと呼ばれるLinuxOSでAzureを操作するコマンドラインについて記載しますね。
*1:本記事は2016/3に記載したものです。ご覧になられたタイミングによっては見え方や操作方法が異なる場合がございます。