Azure VM を使って簡易公開 Web サーバー構築手順【初心者向けガイド】

AzureVMでインフラを構築するエンジニア

はじめに

Microsoft Azure(アジュール)は、クラウド上で仮想マシン(VM)を構築できる柔軟なプラットフォームです。今回は、Azure VM 上に Nginx を使って簡易的な Web サーバーを構築し、外部公開する手順をご紹介します。

この記事は、これから Azure を活用してみたい方や、クラウド上でサーバー構築を試してみたい方を対象としています。

今回はシンプルに構築を行うため、SSL(HTTPS)化は対象外とします。


1. Azure 仮想マシン(VM)はIaaS

Microsoft Azure では様々なクラウドサービスが提供されていますが、仮想マシン(VM)は「IaaS」に該当します。
IaaS とは、インフラをクラウド上で提供するサービスのことです。
具体的には、サーバーやストレージ、ネットワークなどの基盤はクラウドが管理しますが、OS やアプリケーションの設定・運用はユーザーが行います。
つまり、VM を使えば自分専用のサーバー環境を手軽に構築できるということです。

オンプレミスIaaSPaaSSaaS
⑨ データ自分で管理自分で管理自分で管理アプリ上で入力したデータや設定の範囲のみ
(保存場所・バックアップはクラウド管理)
⑧ アプリケーション自分で管理自分で管理自分で管理クラウド管理(利用のみ)
⑦ ランタイム(例:Node.js, Python)自分で管理自分で管理クラウド管理クラウド管理
⑥ ミドルウェア(例:Webサーバー[Apache / Nginx / Tomcat], DB[MySQL / PostgreSQL])自分で管理自分で管理クラウド管理クラウド管理
⑤ OS(例:Red Hat Enterprise Linux, Ubuntuなど)自分で管理自分で管理クラウド管理クラウド管理
④ 仮想化自分で管理クラウド管理クラウド管理クラウド管理
③ サーバー(ハードウェア)自分で管理クラウド管理クラウド管理クラウド管理
② ストレージ自分で管理クラウド管理クラウド管理クラウド管理
① ネットワーク自分で管理クラウド管理クラウド管理クラウド管理


2. 構成概要

構成要素内容
Azure VMUbuntu Linux(22.04 LTS)
WebサーバーNginx
ファイアウォールUFW(Uncomplicated Firewall)
ネットワーク制御NSG(Network Security Group)

作業時間の目安はおよそ2〜3時間です。


3. 事前準備


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

リソースグループとは、Azure上で関連リソースをまとめて管理するための「入れ物」です。プロジェクト単位や開発・テスト・本番のような環境単位などユーザーが自由に作成できます。

  1. Azure ポータルにログイン https://portal.azure.com/#home
  2. 左メニューから「リソース グループ」→「作成」
  3. 以下の設定で作成します。
項目設定値
リソースグループ名rg-vm-handson(任意でOK)
リージョンJapan East(もしくはJapan West)


5. 仮想マシン(VM)の作成

次に、Azure上に Ubuntu ベースの仮想マシンを作成します。今回は学習・検証用の最小構成です。

  1. 「仮想マシン」→「作成」→「Azure 仮想マシン」を選択
  2. 基本タブと管理タブに以下の設定を行います。

基本タブ

項目設定内容
リソースグループrg-vm-handson(手順4で作成したリソースグループ名)
仮想マシン名vm-nginx-demo(任意)
リージョンJapan East(またはJapan West)
イメージUbuntu Server 22.04 LTS
サイズStandard_B1s(1 vCPU / 1 GiB RAM)
認証の種類SSH 公開鍵
ユーザー名azureuser
受信ポートSSH(22)、HTTP(80)

なお、作業中にリージョンを誤って「East US」を選択しVMを作成しようとしたら
「割り当てに失敗しました。このゾーンには要求されたVMサイズのために十分な容量がありません。」というエラーになってしまいました。
この場合、該当のサブスクリプションに対してそのリージョンで VM を作成するためのキャパシティが不足している可能性があります。
リージョンを変更するか、 Azure サポートに連絡することで対応しましょう。
今回はリージョンは「Japan East」または「Japan West」を選択します。

管理タブ

  • 自動シャットダウン:有効(19:00 JSTなど)
  • ブート診断:有効(推奨)

自動シャットダウンを有効にすることで、使用していない時間帯に VM をシャットダウンして費用を削減することが可能です。

最後に「確認および作成」をクリックし、検証後「作成」を実行。数分でVMがデプロイされます。


6. ネットワーク構成の確認(NSG)

AzureポータルでVMの「接続」>「SSH」

受信ルールに以下があることを確認

  • Allow 22 (SSH)
  • Allow 80 (HTTP)

※ 不要なポートが開いていないことを必ず目視確認。

※ 今回は省略化のため特に制限なく SSH ポートを公開していますが、通常は IP アドレス制限や VNet からの接続のみを許可する設定を行うべきです。


7. SSH接続でログイン

VMのデプロイが完了したら、AzureポータルでVMの「接続」>「SSH」を選択し、表示されるコマンドをコピーしてターミナルから接続します。

ssh -i ~/.ssh/<秘密鍵ファイル> azureuser@<パブリックIP> 

初回は「yes」を入力して続行します。

  • 接続できること
  • uname -a が返ること


8. パッケージリストのアップデート

sudo apt update && sudo apt upgrade -y

9. Nginx のインストール

sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx


10. ファイアウォール(UFW)の設定

Ubuntuの簡易ファイアウォール「UFW」を有効化して、HTTP 通信を許可します。

sudo ufw allow OpenSSH
sudo ufw allow "Nginx Full"
sudo ufw enable
sudo ufw status


11. ブラウザで動作確認

Azure ポータルで VM の「パブリック IP アドレス」を確認し、ブラウザからアクセスします。

http://<パブリックIPアドレス> 

「Welcome to nginx!」と表示されれば、成功です 。


12. HTMLファイルを差し替えて、表示確認

コンソールからHTMLファイルを書き換えて、ブラウザで表示確認してみます。

sudo tee /var/www/html/index.html >/dev/null <<'HTML'
<!doctype html>
<html lang="ja">
<head><meta charset="utf-8"><title>My First Azure VM Site</title></head>
<body>
  <h1>Azure VMで公開に成功しました!</h1>
  <p>このページは Ubuntu + Nginx で提供されています。</p>
</body>
</html>
HTML

このように表示確認されると成功です。


13. まとめ

今回は、Azure VM を使って Ubuntu + Nginx の Web サーバーを構築し、外部公開する手順を紹介しました。手軽に試せるのでご興味のある方はぜひお試しください。


弊社のご紹介

弊社ではAzure構築・導入支援サービスを提供しております。

マイクロソフト出身、 Azure 認定資格を保持するエンジニアが Azure に関するアドバイスや、環境構築などのご支援をいたします。

200を超えるAzureのサービスの中から、どのようなサービスを利用すれば良いのか、どういう組み合わせで利用できるのか、ランニングコストはどれくらいかかるのかなど、様々な角度から生じるお客様の疑問にお答えし、弊社にて Azure 環境の構築や Azure の導入をサポートします。

Azure をより活用し、最適な構成を構築するご支援をいたしますので、ご検討の方はお気軽にお問い合わせください。

「Azure」に関連する記事

株式会社ウィズワンダー 採用情報 - エンゲージで詳細をご確認ください