Virtual Machines
Virtual Machines はいわゆる仮想マシンのサービスです
クラウドのサービスの中では、最もとっつきやすくわかりやすいサービスといえるでしょう
この記事では主に他クラウドの仮想マシンを使ったことがある方を対象に、AzureのVirtual Machinesの特長とFAQをまとめたいと思います
(Virtual Machinesも他のAzureサービスと同様、日進月歩でサービスが更新されていますので本記事は2017年3月時点の情報であることをご了承ください)
Azure Virtual Machinesの特長
豊富なサイズ(スペック)
Azureでは仮想マシンのスペックが選択できますが、CPUやメモリ、その他のシステム仕様を事前に定義したものを「サイズ」と呼んでいます
サイズは特徴によってA、D、F、Gなどのアルファベットで始まるシリーズで分類されており、さらにそのシリーズ内でスペックの違いがあります
例えばAシリーズではA0 ~ A11まで、GシリーズはG1~G5まで準備されているというイメージで、数字が大きくなると性能や拡張性(接続できるディスクの数やネットワークインタフェースカードの数など)が上がります
サイズは負荷が高まってきたときなど必要な時に、ポータルやコマンドを使って柔軟に変更することができます(スケールアップ、スケールダウン)
※AシリーズもA8以上はHPC向けの高性能モデルとなります
※利用できるサイズはリージョンによって異なります
サイズやシリーズの最新の一覧はドキュメントをご確認ください
Linux仮想マシンのサイズ
Windows仮想マシンのサイズ
なお、課金は分単位で計算されますので、負荷がない時は細目にサイズを小さく変更したり、停止(deallocate)して課金自体を停止しておけば節約が可能です(注意点)
高いCPU性能
Virtual Machines のサイズには、上記の通り割り当てられているCPUコア数が明記されていますが、現在発表されているサイズではHyper Threadingを無効化しており、物理コアを割り当てています
そのため他社仮想マシンの同等表記のスペックと比較しても、高いCPU性能を出せる可能性があります
またAzureの中でも多くのサイズがラインナップされており、CPUの性能値が比較しづらいので、AzureではACU(Azure Compute Unit)の概念を用意しており、サイズのCPU性能比較をしやすくしています
リソースマネージャー(Azure Resource Manager)による構成
リソースマネージャーは、Azureの基盤となっている重要な要素の1つであり、Virtual Machinesやその他のAzureのコンポーネントを再利用したり、細やかな権限管理を実現するために欠かせない技術です
Virtual Machinesなどクラウドのコンポーネントの構成要素をリソースとしてとらえ、それぞれ独立して管理することができます
AzureのVirtual Machinesは、本体の仮想マシンに加え、ディスク、ネットワークインターフェース、パブリックIPアドレス、ファイアウォール(NSG)等それぞれ独立した複数のリソースが組み合わされて1つのVirtual Machinesを構成しています
Virtual Machines作成時の構成リソースイメージ
コマンドやAPIによる管理
ポータルだけでなく、コマンドやWeb APIによる操作も可能です
Virtual Machinesの起動、停止、作成の他、ロードバランサ等の操作など基本的な操作に加え、ポータルではできない細やかな設定もできます
現在はPowerShellに加え、クロスプラットフォームで動作するAzure CLIも利用可能です
2017年2月末にはAzure CLI 2.0が正式リリースされました
その他
その他にも
- Red Hat LinuxやWindows等有償OSの仮想マシンがライセンス込みの料金(分単位)で利用可能
- Azureマーケットプレイス からすでにアプリケーションが構成済みのVirtual Machines(例:WordPressがセットアップ済みのサーバ)が利用可能
など迅速にさまざまなサーバの利用を開始するための仕組みが用意されています
便利な機能
Virtual Machines は標準で多彩な機能を備えていますが、独断で便利な機能をピックアップしてご紹介します
バックアップ
Virtual Machines に対して、オンラインでの定期バックアップを設定できます
増分バックアップができるため、保存されるストレージのデータ量(料金)を節約しながら、
いざ戻したいときには、簡単な手順で別のVirtual Machines として復旧することができます
自動シャットダウン
例えばVirtual Machines を勤務時間だけしか使わず、それ以外は停止しておきたい等の要望に対してスケジュールされた自動シャットダウンの機能を提供します
業務用のサーバやPC等の用途に適しており、シャットダウン忘れによる意図しない課金を防ぐことができます
Azure Virtual Machines を使うときのFAQ
Q. ポータルでVirtual Machines のほかに、仮想マシン(クラシック)というメニューがありますが、これはなんですか?
A. 仮想マシン(クラシック)は第1世代の仮想マシンのことで、ASM 仮想マシンと記載されることもあります
本稿で説明している Virtual Machines は第2世代であり、仮想マシン バージョン2、ARM 仮想マシンと呼ばれたりします
それぞれ仮想マシンを構築できますが、内部構造は異なっており、仮想マシン(クラシック)はリソースマネージャーをベースとしていません
予想される通り第2世代であるVirtual Machines の方が機能が豊富であり、リソースマネージャーによる管理(再利用など)が可能ですので、新しく仮想マシンを作られる際は Virtual Machines から作られることをお奨めします
※なお本記事では、Virtual Machines バージョン2について記載しています
仮想マシン(クラシック)の場合は仕様が違う場合がありますので、ご注意ください
Q. Virtual Machines を消したのに、そのVirtual Machines で使っていたパブリックIPアドレスやネットワークインタフェースなどが消えません
A. Virtual Machinesの削除の仕方によっては、関連リソースが消えない場合があります
上記で説明した通り、仮想マシンは複数のリソース(パブリックIPアドレスやネットワークインタフェースやディスクまたはストレージアカウント等)が組み合わさって構成されています
ポータルでVirtual Machinesのブレード(メニュー)で削除しても、いわゆる構成リソースの1つである仮想マシンだけ消され、その他のリソースは消えませんので手動で消す必要があります
この面倒な作業をなくすコツとしては、Virtual Machinesを作成する際に構成するリソースは標準では同じリソースグループに入るため、そのリソースグループを丸ごと削除するのが簡単で確実に消す方法の1つです
ただし、他のVirtual Machinesやその他のリソースが利用しているリソース(仮想ネットワークなど)を削除しないように注意してください
可用性セットを使っている場合は同じリソースグループに複数のVirtual Machinesのリソースが属しているので、特に注意しましょう
リソースグループの削除ボタン
Q. Virtual Machines を停止したのですが、課金が続いているようです
A. Virtual Machines の課金を停止するには、deallocate(割り当て解放)状態にする必要があります
Virtual Machines の停止状態には、stop(動作停止)、deallocate(リソース割り当て解放、課金を停止)があります
ポータルで「停止」ボタンを使って停止すると、deallocate 状態になります
しかし、Azure CLIで仮想マシンを停止して課金を止めたい場合は、stopではなく、deallocate を使ってください(わかりにくいですね・・・)
$ az vm deallocate -g ubuntushkawan -n ubuntushkawan
{
"endTime": "2017-03-14T06:24:52.964365+00:00",
"error": null,
"name": "c1ece408-2f99-4b1c-9918-56c4ae58e98c",
"startTime": "2017-03-14T06:22:51.759683+00:00",
"status": "Succeeded"
}
リソース解放状態にしても、データを保持しているストレージ(Storage Account)や静的パブリックIPアドレスなどは課金される場合がありますのでご注意ください
Q. ポータルで停止、Azure CLIでdeallocate の後、起動するとパブリックIPアドレスが変更されています
A. 標準ではパブリックIPアドレスは動的割り当てとなります
固定したい場合はパブリックIPアドレスの設定で、事前に静的(固定)割り当ての設定が必要です
静的パブリックIPアドレスはリージョン内で最初の5個まで無料(Load Balancer等で使ってもカウントされます)ですがそれ以上は課金対象となりますので、パブリックIPアドレスを静的に割り当てたシェルホストを踏み台にしたり、ロードバランサでアドレス変換(ポート転送)でVirtual Machines にアクセスする等、上手に節約してください
以上です
今回は他社の仮想マシンを使ったことがある方への入門編ということで、いくつか特長と注意点をピックアップしてみました