Azureのコンピューティングサービス — 仮想マシン・App Service・Functionsの選び方
この章の目次開く
アプリケーションを動かす計算資源——それが コンピューティングサービス です。Azureには「仮想マシンを丸ごと借りる」から「コードの実行時間だけ借りる」まで、粒度の異なる選択肢が揃っています。
この章では、AZ-900で問われる主要なコンピューティングサービスを、仮想マシン・コンテナー・サーバーレス の3分類で整理し、シナリオに応じた選び方を身につけます。
学習者仮想マシンとコンテナーと関数…どれも「プログラムを動かす場所」だよね。何を基準に選べばいいの?
先生第4章のIaaS/PaaSと同じ軸で考えられます。「どこまで自分で管理したいか」と「起動の身軽さ」のトレードオフ です。仮想マシンは重いが自由、関数は軽いが制約あり。この軸を持って各サービスを見ていきましょう。
コンピューティングの3分類 — VM・コンテナー・関数
まず全体像です。3つのタイプは「仮想化する範囲」が違います。
| 仮想マシン | コンテナー | 関数(サーバーレス) | |
|---|---|---|---|
| 仮想化の単位 | ハードウェアごと(OSを含む) | アプリと依存関係だけ | コード(関数)だけ |
| 起動時間 | 分単位 | 秒単位 | ミリ秒〜秒 |
| OSの管理 | 利用者 | 不要(ホストOSを共有) | 不要 |
| 分類 | IaaS | IaaS〜PaaS | PaaS(サーバーレス) |
| 向いている用途 | 既存システムの移行、OSレベルの自由が必要な処理 | マイクロサービス、環境の可搬性重視 | イベント駆動の短い処理 |
仮想マシンはOSごと 借りるので何でもできますが、OSの起動を待ち、OSの面倒を見る必要があります。コンテナーはOSを共有 してアプリだけを隔離するので軽量です。関数はコードだけ を預け、実行環境のことは完全に忘れられます。
仮想マシン (Azure Virtual Machines)
Azure Virtual Machines (VM) は、クラウド上の仮想的なコンピューターです。OSを選び、ソフトウェアを自由にインストールできる、IaaSの代表格です。
VMを構成するリソース
VMを1台作ると、実は複数のリソースがセットで作られます。試験でも「VMに必要なリソース」として問われます。
- 仮想ディスク — OSとデータの保存先
- ネットワークインターフェイス (NIC) — 仮想ネットワークへの接続口
- 仮想ネットワーク(VNet)とサブネット — VMが所属するネットワーク(第7章)
- (必要に応じて)パブリックIPアドレス — インターネットからの接続用
VMの可用性を高める2つの仕組み
1台のVMは、ホストの障害やメンテナンスで止まることがあります。Azureには複数台で守る仕組みが2つあります。
可用性セット (Availability Set) — 同じデータセンター内で、VMを 別々の電源・ネットワーク系統(障害ドメイン) と 別々の再起動グループ(更新ドメイン) に分散します。ラック単位の障害や計画メンテナンスで全滅するのを防ぎます。
Virtual Machine Scale Sets (VMSS) — 同じ構成のVMを負荷に応じて自動で増減 させる仕組みです。台数が変わっても負荷分散され、スケーラビリティと可用性を同時に確保できます。
Azure Virtual Desktop
Azure Virtual Desktop (AVD) は、クラウド上のWindowsデスクトップをリモートで使えるサービスです。手元の端末には画面だけが転送されるため、データを端末に残さずに どこからでも業務環境を使えます。リモートワークやBYOD(私物端末の業務利用)のシナリオで登場します。
コンテナー — 軽量で持ち運べる実行環境

コンテナーは、アプリと依存ライブラリをひとまとめにパッケージ化する技術 です(代表的なツールがDocker)。OSごと仮想化しないため、秒単位で起動し、開発環境と本番環境の差異をなくせます。
Azureでコンテナーを動かす主なサービスは3つです。
| サービス | 特徴 | 向いている場面 |
|---|---|---|
| Azure Container Instances (ACI) | 1コンテナーを最速・最小構成で実行 | 単発のバッチ、検証 |
| Azure Container Apps | サーバーレスなコンテナー実行環境。自動スケール対応 | マイクロサービス、Webアプリ |
| Azure Kubernetes Service (AKS) | コンテナーオーケストレーターKubernetesのマネージド版 | 大規模・複雑なコンテナー群の運用 |
「とにかく1個動かすならACI、アプリとして運用するならContainer Apps、Kubernetesを本格運用するならAKS」という粒度感で押さえておけば、AZ-900レベルでは十分です。
App Service — WebアプリのためのPaaS
Azure App Serviceは、Webアプリ・REST APIをホストするためのPaaS です。コードをデプロイするだけで、OS・ミドルウェアのパッチ適用、負荷分散、自動スケールまでをAzureが引き受けます。
- .NET、Java、Node.js、Python、PHPなど主要な言語をサポート
- GitHubと連携した自動デプロイ(CI/CD)が数クリックで設定できる
- 「開発チームはアプリのコードだけに集中したい」という第4章のPaaSシナリオの模範解答
学習者WebアプリならVMにもコンテナーにも載せられるよね?わざわざApp Serviceを選ぶ理由って何だろう。
先生「できるか」ではなく「管理コストがどれだけ減るか」で選びます。VMならOS管理、コンテナーならイメージ管理が残りますが、App Serviceは コードを置くだけ。逆にOSレベルの特殊な設定が必要ならApp Serviceでは足りません。試験の問題文で「管理の手間を最小に」とあればApp Serviceが正解筋です。
Azure Functions — イベント駆動のサーバーレス
Azure Functionsは、「イベントが起きたときだけコードを実行する」サーバーレスサービス です。
- HTTPリクエスト、タイマー、ファイルのアップロード、キューへのメッセージ到着などを トリガー に関数が起動
- 実行された 回数と時間だけ に課金され、待機中は原則無料
- サーバーのプロビジョニングも管理も不要
「画像がアップロードされたらサムネイルを生成する」「毎晩バッチでレポートを集計する」のような、散発的・短時間の処理 に最適です。逆に、常時稼働し続けるWebサイト本体には向きません。
シナリオで選ぶ — 試験の定番パターン
この章の総仕上げとして、出題パターンをシナリオで確認します。
| シナリオ | 選ぶべきサービス |
|---|---|
| オンプレのWindowsサーバーをOSの構成そのままクラウドへ移行 | 仮想マシン |
| アクセス急増に応じてVMの台数を自動で増減させたい | Virtual Machine Scale Sets |
| OS管理なしでWebアプリをデプロイしたい | App Service |
| Kubernetesでコンテナー群を運用したい(管理は楽にしたい) | AKS |
| ファイルが届いたときだけ変換処理を実行し、コストを最小化 | Azure Functions |
| 社給以外の端末から安全に社内デスクトップ環境を使わせたい | Azure Virtual Desktop |
ポータルで試してみよう — VM作成画面の「見学」
仮想マシンは 作成すると課金が始まる ので、ここでは作成画面を 見るだけ にします。それでも学びは多い操作です。
- ポータル上部の検索ボックスに「Virtual Machines」と入力して選択する
- 「+ 作成」→「Azure 仮想マシン」 をクリックする
- 作成画面で次の項目を眺める
- イメージ — Windows ServerやUbuntuなど、選べるOSの一覧
- サイズ — 「すべてのサイズを表示」を開くと、CPU/メモリの組み合わせごとに 月額の見積もり が並ぶ
- 可用性オプション — この章で学んだ「可用性ゾーン」「可用性セット」がここで選べる
- 確認したら 作成せずにページを閉じる
まとめ
- コンピューティングは VM(OSごと)・コンテナー(アプリだけ)・関数(コードだけ) の3分類で、右へ行くほど軽量・管理レス
- VMの可用性は 可用性セット(障害・更新ドメインの分散)と VMSS(自動スケール)で高める
- コンテナーは ACI(単発) / Container Apps(アプリ運用) / AKS(Kubernetes) の3段階
- App Service はWebアプリ向けPaaSで「管理の手間を最小に」のシナリオの答え
- Azure Functions はイベント駆動・実行時間課金のサーバーレス
次の章では、これらのコンピューティングリソースをつなぐ 仮想ネットワーク(VNet)・VPN Gateway・ExpressRoute を学びます。