
こんにちは! やましー@データ活用クラウドエンジニア(@yamashi18041) です。
私がAzureを扱い始めて1年と半年が立ちますが、初めて扱った当時、設定項目が何を意味しているのか分かりませんでした。
またドキュメントを読んでもどの設定項目に対応した説明なのかさっぱり。
調べる内に設定項目の意味は分かっても、どんな値を設定するべきかわからないそんな状況でした。
ということで、今回は初心者だったころの私に向けて、「こんなふうに説明がされているサイトがあればもっと早く理解できたのに」と思う構成で書いてみます。
本記事の構成は、仮想マシンの作成画面を引用しながら、それぞれの設定項目について細かく解説していこうと思います。
仮想マシン作成時の設定項目は大きく6項目あります。

今回の記事では「基本」の項目を解説したいと思います。その他の項目については次回をお楽しみに。
この記事では以下のような読者を想定しています。
- Azureの仮想マシンを立てたことがあるけどもう少し細かく知りたい
- Azureの仮想マシンの設定項目について知りたい
- Azureの仮想マシンのサイズの選び方を知りたい
逆に仮想マシンはバリバリ使いこなしてますよって方は適当に読み流していただければと思います。
仮想マシンをまだ作ったことがないよ~って方は一度こちらの記事を参考に作成してみることをお勧めします。
仮想マシン作成時の基本項目の設定項目一覧
今回解説する基本設定項目の一覧です。
- プロジェクト詳細
- サブスクリプション
- リソースグループ
- サブスクリプション
- インスタンス詳細
- 仮想マシン名
- 地域
- 可用性オプション
- インフラストラクチャ冗長は必要ありません
- 可用性ゾーン
- 可用性セット
- イメージ
- Windows Server
- Windows Client
- Linux
- Azure スポットインスタンス
- サイズ
- 管理者アカウント
- 認証の種類
- SSH公開キー
- パスワード
- 認証の種類
- 受信ポート規則
- パブリック受信ポート
- なし
- 選択したポートを許可する
- HTTP(80)
- HTTPS(443)
- SSH(22)
- RDP(3389)
- パブリック受信ポート
- ライセンス
結構盛りだくさんですね。
「プロジェクト詳細」項目

プロジェクト詳細では
- サブスクリプション
- リソースグループ
を設定していきます。
サブスクリプション

サブスクリプションとはマイクロソフトがAzureの利用料金を請求する単位です。
サブスクリプションは会社に一つだけある場合もあれば、会社内で複数、部門ごとに持っている場合もあります。

イメージ図の赤枠部分がサブスクリプションです。
テナント(ディレクトリ)の中にサブスクリプションが存在します。
仮想マシンの作成段階ではすでにあるものを使うと思うので管理者にどのサブスクリプションを使えばよいか確認すればよいかと思います。
リソース作成後の変更は可能です。ただし手順は複雑で、料金の請求先も変わってくるので指定するサブスクリプションは極力間違えないようにしましょう。
サブスクリプションやテナントについてより詳細に知りたい方は以前書いた記事を読んでみてください。
リソースグループ

リソースグループとはリソースをまとめるためのグループです。
Azureでは仮想マシンやストレージなどを作成するとその一つひとつをリソースと呼びます。
リソースは複数のリソースグループに属することはできず、必ず一つのリソースグループに属さなければなりません。

リソースグループを削除するとそこに含まれるリソースも一括で削除できます。なので、ライスサイクルが同じリソースをまとめるような使い方をします。
テスト環境や本番環境などの環境ごとやサブシステムごとにリソースグループを作ることが多いと思います。
仮想マシンを作成するタイミングで新規リソースグループを作成することもできますが、通常リソースグループは先作っておき、仮想マシンを作成するタイミングで作っておいたリソースグループを選択します。
仮想マシンが所属するリソースグループの変更は可能です。
「インスタンス詳細」項目

インスタンスの詳細では
- 仮想マシン名
- 地域
- 可用性オプション
- 可用性セット
- 可用性ゾーン
- イメージ
- Azureスポットインスタンス
- サイズ
を設定していきます。
仮想マシン名

仮想マシン名を識別するための名前を付けます。
名前はリソースグループ内で同じ名前を付けることができないので注意してください。
また、搭載するOSによって長さの制限があります。
- Windows:1-15文字
- Linux:1-64文字
仮想マシンの名前は2つの意味を持っています。
1つはリソースとしての名前、もう一つはホスト名としての名前です。ホスト名はOS内の設定ですが、こちらに設定した値が反映されます。
リソースとしての仮想マシン名の変更はできません。Azureではリソースの名前の変更はできないので慎重に決定しましょう。
どうしても変更したい場合は、仮想マシンはディスクとコンピュートは別のリソースと管理されているので、仮想マシンを作り直すときに旧仮想マシンのディスクを使うことで、仮想マシンのリソース名の変更することができます。
命名規則は以下のサイトを参考にしてみてください。

地域

仮想マシンをどこの地域(リージョン)のデータセンターに作成するのかを選択します。
クラウドとはいえ仮想マシンを動かすためには物理的なマシンを使う必要があり、どこの地域(リージョン)のデータセンターあるマシンにするかを選びます。
Azureはリージョン毎に使用可能なサービスが異なります。
仮想マシンについても使用可能なスペックがリージョン毎に違うので事前に調べておきましょう。
地域の選び方はいくつか方針があります。
- データを国内に置いておきたい
- 使いたいサーバーのスペックがあるか
- 自分から近い(レイテンシが低い)場所にしたい
- 料金が安いリージョンにしたい
日本にはリージョンが2つあります。
- 東日本(東京、埼玉)
- 西日本(大阪)
西日本は東日本に比べて使用可能なサービスが若干少ないので注意してください。
リソースの地域は後からを移動することは可能です。ただし、移動先のリージョンでサービスが提供されている必要があるなど、前提条件や制限が多くあり、かなりリスクを伴いますので慎重にリージョンを決定することをお勧めします。移動に関しては以下のサイトを参考にしてみてください。

可用性オプション

可用性オプションでは仮想マシンの可用性について3つの中から選ぶことができます。
- インフラストラクチャ冗長は必要ありません
- 可用性ゾーン
- 可用性セット
仮想マシンにこの可用性オプションを使うことで複数の仮想マシンを作ったときに、違う電源やデータセンターに分散して配置することで、ホストコンピューターの更新や、にコントロールすることができます。
可用性オプションを有効にすることで料金がプラスされるわけではありませんが、ロードバランサーなどを用意する必要があたり、同じ役割を持つサーバーを2台以上作成しない可用性オプションの恩恵は得られません。その分サーバー代金はかさみます。
インフラストラクチャ冗長は必要ありません
このオプションは仮想マシンを複数作成するときに、障害ドメイン、更新ドメインによる分散配置はしない場合はこちらを選びます。
可用性ゾーン

可用性ゾーンとはリージョン内が3つのゾーンに分かれていて、どこのゾーンに仮想マシンをデプロイするかをコントロールすることができます。
それぞれのゾーンには電源、冷却手段、ネットワークを備えていて、1つまたは複数のデータセンターで構成されています。

ゾーンを分けて配置することのメリットは停電や災害などデータセンターレベルで障害が発生した場合、その他のゾーンには影響が出にくいことにあります。
また、仮想マシンはホストコンピューターの上にゲストとして用意されていますが、ホストコンピューターやハードウェアのメンテナンスが行われるときに、通常はゲストのダウンタイムが発生しますが、違うゾーンで同時にメンテナンスが行われることがないので、必ずいずれかのゾーンの仮想マシンは稼働し続けています。
これによりユーザーはシステムとして完全に仮想マシンを停止させることなく運用を続けることができます。
注意しなければならないのはゾーンを分けて仮想マシンを配置しても、冗長構成を組むのはユーザーの責任となります。ロードバランサー等を用意して冗長構成を組む必要があります。
可用性セット

可用性セットとはデータセンター内のサーバーラックを分散して仮想マシンをデプロイすることをコントロールすることができます。
可用性セットの場合データセンター全体的な障害から保護することはできませんが、サーバーラックごとの障害やメンテナンスによるダウンタイムを分散することができます。

可用性セットの場合も冗長構成を組むのはユーザーの責任となり、可用性セットそのものに冗長構成機能はないのでロードバランサー等を用意して冗長構成を組む必要があります。
イメージ

仮想マシンのOS(DBなどのミドルウェアやソフトウェアが同梱されているものもある)を指定します。
動作確認済みのイメージをマーケットプレイスから選ぶことができます。マーケットプレイスにはLinux(CentOSなど)だとしても料金がかかるものもなるので事前に確認をしておいたほうが良いです。
または、ユーザー自身が作成したカスタムイメージを選択することもできます。Windowsは日本語化したイメージは用意されていないので、一度日本語化したカスタムイメージを作っておくと便利です。
AzureでサポートするOSは以下の3種類です。
- Windows Server
- Windows Client(windows 10)
- Linux
Azure スポットインスタンス

スポットインスタンスを有効にすると仮想マシンを最大90%OFFで使用できるようになります。
ただし、これはそのリージョンの物理マシンに余裕がある場合にのみ使用可能で、物理マシンがひっ迫してくると突然「割り当て解除」や「削除」されます。
そのため、テスト環境や開発環境、または大規模な分散システムの一部にするなど、やり直しがきく処理の使用に適しています。
作成後に変更することはできません。
サイズ

仮想マシンのサイズとはスペックのことを指します。
Azureでは仮想マシンのスペックは、CPU、メモリ、一時ディスクサイズ、I/Oなどの組み合わせでシリーズとサイズからカタログ形式となっており、その中から選択します。

- Aシリーズ:開発とテストに適したエントリ レベルの経済的な VM。旧型
- Bシリーズ:経済的なバースト対応 VM
- Dシリーズ:最も汎用でメモリとCPUのバランスが取れている
- Eシリーズ:メモリ重視
- Fシリーズ:CPU重視
- Gシリーズ:コア数とメモリの最大サイズ
- Hシリーズ:HPC用 Infiniband
- Lシリーズ:ストレージ最適化
- その他シリーズ:GPU搭載などがある。
仮想マシンのシリーズ、サイズはかなりの数があり、どのように選べばよいか少し解説してみます。
迷ったらまず汎用のDシリーズから選びます。
そして運用をしていく中で継続的にサイズを見直して、より適切なサイズに変更していく。これができるのもクラウドの利点の一つですね。
サーバーを運用している中でメモリが足りなければEシリーズを検討し、CPUが足りなければFシリーズを検討するのがよいかと思います。
また、CPUを選ぶ際コア数だけではなく、Azure コンピューティング ユニット (ACU)というCPUそのものの性能を数値化した尺度があるのでそちらも参考にシリーズを決定すると良いでしょう。
さらに、CPUとメモリ以外にもかなり重要なディスクI/O性能があります。こちらはディスクと併せて検討する必要があります。standardモデルのディスクは500IOPSが限界となっています。この限界を超えるpremiumモデルのディスクを装着可能な仮想マシンのサイズは限られているので留意しておきましょう。
仮想マシン作成後に変更することは可能ですが、シャットダウンが必須となります。
管理者アカウント

管理者用のアカウントを作成します。
認証の種類
LinuxとWindowsとでそれぞれアクセス方法が異なるのでアカウントの認証方法も変わってきます。
Linuxの場合はSSHによる公開鍵認証またはパスワード認証を選ぶことができます。
Windowsの場合はリモートデスクトップのユーザー名とパスワードによる認証のみです。
SSH公開キー

SSHの公開鍵認証方式です。公開キーの登録は次の3つの方法により登録ができます。

- 新しいキーペアの生成
- Azureに格納されている既存のキーを使用する
- 既存の公開キーを使用
「新しいキーペアの生成」は仮想マシンを作成するタイミングでポータル上で公開鍵と秘密鍵のペアを作成して登録することができます。
「Azureに格納されている既存のキーを使用する」はすでにAzureに登録済の公開鍵(以前仮想マシンを作成したさに登録した公開鍵)を使用します。
「既存の公開キーを使用」は公開鍵をすでに用意してある場合に公開鍵の文字列を登録します。
パスワード

WindowsまたはLinuxで認証の種類をパスワードにした場合、パスワードによる認証方式となります。
受信ポートの規則

受信ポートの規則では、ネットワークセキュリティーグループ(NSG)の設定を行います。
NSGとはAzureにおけるFirewallのような役割を果たす機能で、パケットフィルタリング機能を持っています。
ここの設定では外部からの受信ポートとして以下の4つのポートをオープンすることができます。

- HTTP(80)
- HTTPS(443)
- SSH(22)
- RDP(3389)
ここでの設定ではすべてのIPアドレスからの接続を許可するためセキュリティー強度は低いので、一時的なテスト用としての設定であるということを意識しておくと良いかと思います。
別途実運用に耐えるためのVPNなどと併せて、NSGをしっかり検討しましょう。
また、NSGリソースは仮想ネットワークのサブネットに対して関連付ける方法と、仮想マシン一台一台のネットワークインタフェース(NIC)に関連付ける方法がありますが、ここでの設定は仮想マシンのNICに関連付けられた状態でデプロイされます。
さらに、NSGの名前についても、「仮想マシン名-nsg」という名前でデプロイされるので注意が必要です。名前はあとから変更できません。
NSGの設定値は仮想マシン作成後に変更可能です。
NSGについては次回以降別の記事で解説したいと思います。
ライセンス

ライセンスはWindowsを使用するときに設定が現れる項目です。
通常、AzureではWindowsの仮想マシンを作成する場合、コンピュートとWindowsOSのライセンスそれぞれが従量課金されます。
このオプションでは、オンプレミスですでにWindowsを稼働させていてライセンスを持っている場合に、そのオンプレの仮想マシンをクラウドに上げる場合などでWindowsのライセンス費用を従量課金で新たに払わなくてよいというオプションになります。
まとめ

今回は仮想マシン作成における基本項目について、一つ一つ詳細に説明してみました。
仮想マシンの設定項目は、非常にボリュームがあり大変かと思いますが、少しずつ操作をしながら慣れていっていただければと思います。
次回は「ディスク」の設定項目について説明してみたいと思います。
最後までご覧いただきありがとうございました。
以上、やましー@データ活用クラウドエンジニア(@yamashi18041)でした。