---
title: つまずいて覚える Azure インフラ #1 ネットワークと権限
tags:  #azure入門シリーズ #azure #初心者向け #勉強会 #インフラエンジニア  
author: [しゃま](https://image.docswell.com/user/SyamGRITio)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/DEY4KWQYJM.jpg?width=480
description: Azure を初めて触る人から、業務で使いたい人向けのハンズオン資料です（全4回の第1回）。  伝えたいのは、ネットワークと権限の大事さです。Azure は、最初から全部が使えるわけではありません。最小の権限と構成から始めて、必要になったら機能を足していきます。この資料でも、わざと設定を足りない状態にして、エラーを見てから NSG やロールを足していきます。クォータやリソース プロバイダーのように、使う前に開けておく仕組みも紹介しています。  扱う内容：VNet、NSG、VM、Entra ID と Azure の権限（RBAC）、az ssh、クォータ、リソース プロバイダー、命名規則、片付け。2026年10月時点の情報です。  表紙のタイトル「つくって、壊して、直して学ぶ Azure入門」は、書籍『つくって、壊して、直して学ぶ Kubernetes入門』へのオマージュです。
published: October 13, 26
canonical: https://image.docswell.com/s/SyamGRITio/K27G9E-2026-10-12-213729
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/DEY4KWQYJM.jpg)

しゃま
つくって、壊して、直して学ぶ
Azure入門
第1回 土台をつくる：ネットワークとサーバー
2026.10.11
Azureインフラ勉強会 第1回


# Page. 2

![Page Image](https://bcdn.docswell.com/page/VJNYR9KR78.jpg)

自己紹介
しゃま（西山）
30歳、香川県出身
インフラエンジニア 4年目（2023年夏〜）
フリーランス 2年目（2025年1月〜）
仕事
Azure を中心に、クラウド基盤の設計と構築（業務委託）
アウトプットと発信
エンジニア向けの無料相談、無料エンジニアコミュニティの運営
技術記事（Zenn、note）と X で発信
資格は 29個（学歴がないぶん、資格で補ってきました）
Microsoft（12）：AZ-900、MS-900、AI-900、AZ-104、AZ-204、AZ-500、AZ-700、AZ-400、AZ-305、AI-102、AB-731、Applied Skills（APL-1003）
AWS（11）：CLF、SAA、SOA、DOP、SAP、ANS、SCS、DBS、DAS、MLS、PAS（2024 Japan AWS All Certifications Engineers。順次失効中）
その他（6）：JP1認定エンジニア（V12）、情報セキュリティマネジメント試験、CCNA、G検定、Python3エンジニア認定、LPIC-1
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/YE9PM2VZJ3.jpg)

自己紹介
植物と、ゆっくりする時間が好き
植物の育成
部屋とベランダで、たくさん育てています
自然の中のプライベートサウナ
ゆっくりととのうのが好き
その土地の酒、飯、コーヒー
ゆっくりたしなむのが今年の楽しみ
最近は
結婚パーティーに向けて、妻とダイエット奮闘中
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GE8DL54YED.jpg)

今日かかるお金
1人あたり、3時間でおよそ11円。今日のうちに全部消します
仮想マシン（B2ts_v2）
約2.1円/時
パブリック IP（Standard）
約0.8円/時
OS ディスク（Standard SSD）
約0.5円/時
VNet、NSG
合計
この勉強会のルール
1回100円以内
作ったら3時間以内に消す
RG ごと消す
無料
約3.5円/時
東日本の定価（2026年10月、Azure の料金 API）。無料アカウントのクレジットがあれば、そこから引かれます
・消し忘れると、ずっとかかる
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/LELMLY697R.jpg)

今日の流れ
説明して、ハンズオン。足りない所は、エラーを見てから足す
はじめに
1. RG
2. VNet
3. NSG
4. VM
5〜6. Web
ふりかえり
なぜ今
Azure の土台
ネットワーク
通信の門番
サーバー
az ssh、nginx
みんなで考える
インフラを学ぶか
→ RG を作る
→ VNet を作る
→ NSG を作る
→ VM を作る
→ Web を出す
片付け
当日は 2時間30分（休憩10分）で進めました
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/4JMYMN5VJW.jpg)

AI に頼めば、インフラが立つ時代
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PJR9VD3W79.jpg)

AI は、持っている力を広げる道具
わかっていないまま使うと、ゴミ（AI スロップ）が増えるだけ
AI でインフラを立てるなら、何をしているかの最低限の理解は欠かせない
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/PEXQZ14VJX.jpg)

だから、この勉強会では
自分の中の「解像度」を上げてから、AI に任せる
つくる
足りないと、どうなるか
直す
ポータルで、自分の手で作る
設定が足りないとエラーになる。それ
を見る
どこを見ればいいかを、体で覚える
AI に聞くだけではわからない、実際にエラーを出して自分で直す体験をする回です
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/3EK982Z5ED.jpg)

01
シリーズと今日のゴール
4回でどこまで作るか、今日はどこまでか


# Page. 10

![Page Image](https://bcdn.docswell.com/page/L73W24D175.jpg)

4回終わると、ここまで作れます
AI チャットのアプリを、閉じたネットワークで、権限を絞って動かす
4回の流れ（今のイメージ）
第1回：土台（今日）
第2回：アプリを載せる
第3回：閉じる、権限
第4回：本番に寄せる
中身は変わることがあります
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/87DKZQPKJG.jpg)

今日のゴール
第1回の最後に、これが自分のサブスクにできている
自分で作った VM の Web ページを
、ブラウザで見られる
・実務ではほぼ使わない、簡単な構成
・考えることを減らして、基本と観点に集中する
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/VJPKDLN3E8.jpg)

今日は、意地悪な作り方をします
最初から全部を正しく設定しない。足りないとエラーになるので、そのつど足す
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
入れ物を作る
ネットワークを作る
通信の門番を作る
サーバーを作る
サーバーに入る
Web を出す
・わざと3回つまずく：NSG の関連付け、VM に入るロール、80番の規則
・初めての人には難しく、慣れた人には物足りないかも
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/2EVV1QKNEQ.jpg)

前提条件
Azure のアカウント（個人で作った無料アカウントでよい）があり、次の2つができること
1. ポータルにサインインできる
2. Azure CLI が動く
portal.azure.com を開いてサインイン
この画面が出れば OK
PowerShell、コマンド プロンプト、Mac のターミナルのどれかで
az --version と打って、バージョンが出れば OK
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/57GL2WQ5EL.jpg)

02
Azure の土台
テナント、サブスク、権限


# Page. 15

![Page Image](https://bcdn.docswell.com/page/4EQYP3KLJP.jpg)

Azure の契約は、入口がいくつかある
会社に入ると、もう決まった契約の中で Azure を渡されることが多い
個人で申し込む
会社が直接契約
パートナー経由（CSP）
私たちと同じ
EA、MCA
販売店から買う
Web から申し込む
Microsoft と直接
請求や管理を
無料アカウント、従量課金
請求も権限も自社で持つ
パートナーがまとめる
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/KJ4WY1P571.jpg)

契約が違うと、何が変わる？
現場に入ったら、まず「うちはどの契約か」を確かめる
個人
会社が直接
CSP
請求書は誰が持つ
自分
自社
パートナー
費用を自分で見られるか
見られる
権限があれば見られる
既定では見えない
サブスクを作る人
自分
自社の担当
パートナー
困ったときの相談先
自分で調べる
Microsoft
パートナー
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/LE1Y6G927G.jpg)

テナント、サブスク、リソースグループ
Azure は入れ子の箱。どの箱に何があるかを押さえる
テナント（Microsoft Entra ID）
管理グループ
サブスクリプション
リソースグループ
テナント
組織の ID（ユーザー）の範囲
管理グループ
サブスクをまとめて、同じルールをかける
サブスクリプション
課金と管理の単位
リソースグループ
まとめて作って、まとめて消せる単位
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/GEWGWKQ2J2.jpg)

Microsoft Entra ID とは
Microsoft 365 などで使うアカウントと、その認証、認可をまとめて管理するサービス
Entra ID がやること
Azure がやること
ユーザー、グループ、アプリを管理する
サインイン（認証）と、MFA などの条件
「誰か」を確かめて、トークンを出す
VM、VNet などのリソースを動かす
サブスクは、1つのテナントを信頼する
Azure の権限（RBAC）は Azure 側で付ける
・Azure とは別のサービス。ここが混ざりやすい
・テナントは1つのほうが管理しやすい
・お客さんの環境では、ゲストとして招待されて入ることが多い
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/47ZL5ZW4J3.jpg)

管理グループとは
サブスクをまとめて、ルールと権限を一度にかける入れ物
本番
たとえば
「東日本以外に VM を作らせない」ルールを、本番のサブ
スク全部に一度でかける
ロールも、ここに付ければ下のサブスク全部に引き継がれる
開発
・会社で使うもの。個人の勉強ならなくていい
・ロールやポリシーを、下にまとめてかけられる
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/YJ6W9ZGGJV.jpg)

管理グループは、実際にはこう見える
見方
場所
上の検索で「管理グループ」
見る所
ルートの下に管理グループ、その下にサブスク
・管理グループは、ポリシーや会社のルー
ルで分ける
・お金で分けるならサブスク（この部署は
このサブスク）
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/GJ5MNWVXJ4.jpg)

Azure Policy：上から固めて、危ない設定をできなくする
ポイント
割り当てる所
管理グループ、サブスク、リソースグループ
よくある例
このタグは必ず付ける
よくある例
パブリック IP は作らせない
どうしても要るとき
例外を申請して、許可をもらう
・上で割り当てると、下の全部にかかる
・細かく RG だけにもかけられる
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/9E295Q3Q7R.jpg)

テナントは、ここで見る
テナント（ディレクトリ）の名前と ID は、Entra ID の概要に出ている
設定値
場所
Microsoft Entra ID → 概要
見る所
テナント ID、プライマリ ドメイン
・初期ドメインは 〇〇
.onmicrosoft.com
・会社のドメインを使うテナントもある
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/D7Y4KW1YEM.jpg)

実務では、会社がどう分けているかを読む
テナント、管理グループ、サブスク、RG の使い方は、会社ごとに違う
テナント
会社や事業ごと
現場によっては、複数のテナントをまたいで作業する
管理グループ
本番、開発など
お堅い会社でなければ、外部の人には見えないことが多い
サブスクリプション
案件ごと
「このサブスクはこの案件」と分けている
リソースグループ
チームや用途ごと
多くの案件は、ここから下で作って構築する
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/VENYR92RJ8.jpg)

案件に入ったら、最初に確かめること
「どの箱の、どこまで触れるか」を最初に知る
1
どのテナントか
2
どこまで見えるか
3
自分のロールは何か
ユーザー名の @ の後ろのドメインで見当がつく
（テナントの初期ドメインは 〇〇.onmicrosoft.com）
管理グループ、サブスク、RG のどこまで見えるか
（ポータル右上でディレクトリを切り替えられる）
見えている所での、自分のロール（IAM で確かめる）
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/Y79PM21ZE3.jpg)

権限は2種類ある
Entra ID が「誰か」を決め、Azure が「何ができるか」を決める
Entra ID のロール
Azure のロール（RBAC）
ユーザー、グループなど
ディレクトリの中身を管理する
例：グローバル管理者
VM、VNet などのリソースを管理する
例：所有者、共同作成者
今日の後半で使う
・サブスクの所有者でも、Entra ID の管理者ではない
・Entra ID のグローバル管理者でも、そのままでは Azure のリソースは触れない
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/G78DL53Y7D.jpg)

Entra ID の権限と Azure の権限は、別もの
公式にも、はっきりこう書いてある
Microsoft Entra のロール割り当てによって Azure リソースにアクセス権が付与されることはなく、
Azure のロール割り当てによって Microsoft Entra ID にアクセス権が付与されることはありません。
Entra ID の［ロールと管理者］
サブスクの［アクセス制御 (IAM)］→［役割］
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/L7LMLYV9JR.jpg)

Entra ID にもライセンスがある
Microsoft 365 と同じく、ユーザーごとの月額。上の版ほど守る機能が増える
Free（今日の私たち）
P1（Premium P1）
P2（Premium P2）
ユーザー、グループの管理
サインイン、MFA など基本の機能
条件付きアクセス
カスタム ロール など
PIM（特権 ID 管理）
ID 保護（危ないサインインを止める）な
ど
・会社によっては P1、P2 を買って、セキュリティを固めている
・Entra ID の画面に「P1 または P2 が必要」と出たら、ライセンスの話
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/4EMYMNGVEW.jpg)

PIM：高い権限は、使うときだけ申請する
ポイント
PIM とは
Privileged Identity Management（特
権 ID 管理）
ふだん
「使える資格」だけを持っておく
使うとき
時間と理由を書いて申請し、有効にする
対象
Microsoft Entra ロールと、Azure リソースの
ロール
必要なもの
Entra ID P2 などのライセンス
・本番では、PIM で申請してから作業す
る現場が多い
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/PER9VDZWJ9.jpg)

MFA（多要素認証）は必須
アカウントを作るときに設定したはず。今は、これがないと Azure を操作できない
2024年10月〜
2025年10月1日〜
Azure ポータル、Entra 管理センター
Azure CLI、PowerShell、IaC ツール
での操作
での作成・更新・削除
・パスワードが漏れても、それだけでは入れないようにする
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/P7XQZ19VEX.jpg)

ハンズオン 1：リソースグループを作る
1. RG
2. VNet
設定値
サブスクリプション
自分のサブスク
リソース グループ
rg-bity-001
リージョン
(Asia Pacific) Japan East
3. NSG
4. VM
5. az ssh
6. nginx
命名規則は、最初に決める
略語-案件-用途-環境-連番（例：rg-bity-001）
環境名は3文字にそろえる（dev、stg、prd）
連番を付けるなら末尾に
名前はあとから簡単に変えられない
できたら
rg-bity-001 が一覧に出ている
今日作るものは、全部この中に入れる
公式の略語：learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-bestpractices/resource-abbreviations
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/37K982P57D.jpg)

03
ネットワーク
VNet、サブネット、NSG


# Page. 32

![Page Image](https://bcdn.docswell.com/page/LJ3W24X1J5.jpg)

IP アドレスと「/16」「/24」
IP は住所。「/」のあとの数字は、住所のまとまりの大きさ
10.0.0.0/16（VNet）
覚えること
約6万5千個の住所の大きなまとまり
数字が小さいほど、まとまりは大きい
/16 の中を /24 で区切る
計算は覚えなくていい
10.0.0.0/24
10.0.1.0/24 …
約250個の区画
ほかの区画
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/8JDKZQ2KEG.jpg)

VNet とサブネット
Azure の中に作る、自分専用のネットワーク
VNet：vnet-bity-001（10.0.0.0/16）
ポイント
VNet は大きな敷地、サブネットは区画
区画ごとにルール（NSG）を付けられる
サブネット：snet-bity-vm-001（10.0.0.0/24）
VM はサブネットの中に置く
・IP は住所、/24 は区画の大きさ
・サブネットは5個の IP が使えない
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/VEPKDL1378.jpg)

Tips：サブネットでは、IP が5個使えない
先頭の4個と最後の1個は Azure が使う
/24 なら、使えるのは 251 個
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/27VV1QYN7Q.jpg)

ハンズオン 2：VNet を作る
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
名前
vnet-bity-001
リージョン
Japan East
セキュリティ
触らない
アドレス空間
10.0.0.0/16（既定のまま）
既定のサブネットの名前
snet-bity-vm-001
サイズ
/24（既定のまま）
・新しい VNet のサブネットは、既定で
外に出られない（プライベート）
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/5JGL2W957L.jpg)

ポート番号
IP が建物の住所なら、ポートは部屋番号
80
22
443
HTTP
SSH
HTTPS
Web ページを見る
サーバーに入って操作する
暗号化した Web（今日は使わない）
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/47QYP3WLEP.jpg)

NSG：通信の門番
決めた通信だけを通す。上から順に見て、最初に当たった規則で決まる
・既定の規則は消せない。上に足して上
書きする
・VNet の中どうしは通る。外からは全部
止める
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/KE4WY1K5J1.jpg)

NSG は、作っただけでは門番にならない
サブネット（か NIC）に関連付けて、はじめて通信を止める
作っただけ
関連付けた
規則は書いてあるが、どこにも立っていない門番
通信には何も起きない
サブネットの入口に門番が立つ
その中のリソース全部にかかる
・今日は、わざと関連付けずに進めて、あとでエラーを出す
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/L71Y6GX2JG.jpg)

ハンズオン 3：NSG を作る（関連付けない）
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
リソース グループ
rg-bity-001
名前
nsg-bity-vm-001
リージョン
Japan East
・作るだけ。サブネットにはまだ付けない
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/G7WGWKN2E2.jpg)

ハンズオン 3：22番（SSH）の規則を足す
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
場所
設定 → 受信セキュリティ規則 → ＋追加
ソース
My IP address
サービス
SSH
優先度
100
名前
allow-ssh-myip
・22番は自分の IP だけに開ける
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/4JZL5Z34E3.jpg)

Tips：22番は自分の IP だけに開ける
SSH の規則の送信元は「自分の IP」にする
「どこからでも（0.0.0.0/0）」は開けない
なぜ
22番を全部に開けると、世界中から総当たりでログインを試される
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/YE6W9ZXGEV.jpg)

04
サーバーを作る
VM、パブリック IP、拡張機能


# Page. 43

![Page Image](https://bcdn.docswell.com/page/GE5MNWXXE4.jpg)

パブリック IP と、外へ出る通信
入ってくる通信だけでなく、出ていく通信もある
パブリック IP は
入ってくる（80、22）
VM の NIC に付けるリソース
VNet の中ではなく、入口の住所
自分の PC
パブリック IP
VM
出ていく（apt でパッケージを取る）
・パブリック IP がないと、どうなる？
・（入れないし、外にも出られない）
43


# Page. 44

![Page Image](https://bcdn.docswell.com/page/97295QXQJR.jpg)

答え：入れないし、外にも出られない
入口がなく、新しい VNet では出口も既定で閉じている
入れない
外にも出られない
自分の PC から VM への入口がない
80番も22番も届かない
新しい VNet のサブネットは、既定で外に出られない
apt も失敗する
2026年3月31日より後の API で作る新しい VNet から、この動きになった
44


# Page. 45

![Page Image](https://bcdn.docswell.com/page/DJY4KW8Y7M.jpg)

外に出る道の選択肢
「既定で出られる」は新しい VNet ではなくなった。あとは明示的に道を作る
既定の送信アクセス（なくなった）
新しい VNet では使えない
VM にパブリック IP
今日はこれ。一番簡単
NAT Gateway
本番でよく使う
ロードバランサーの送信規則
ロードバランサーを使っているとき
ファイアウォール経由
行き先を絞りたいとき
45


# Page. 46

![Page Image](https://bcdn.docswell.com/page/V7NYR9QRE8.jpg)

NAT Gateway と ファイアウォール
外に出る先を絞る必要がなければ NAT Gateway、絞るならファイアウォール
NAT Gateway
ファイアウォール
良い：設定が簡単。出口の IP が固定される
良い：IP 1つで 64,512 の同時接続
弱い：通信の中身は見ない。行き先を絞れない
良い：行き先（FQDN）で絞れる。ログが残る
弱い：高い（Azure Firewall Standard は約199円/時＋
処理料）
弱い：ルートテーブルの設定も要る
46


# Page. 47

![Page Image](https://bcdn.docswell.com/page/YJ9PM2DZ73.jpg)

VM を作る前に：プロバイダーとクォータ
Azure は「必要なときに、必要な機能を有効にして使う」仕組み
リソースプロバイダー
クォータ（上限）
サブスクごとに登録する
ポータルで作るときは、たいてい自動で登録される
登録には共同作成者か所有者の権限が要る
サブスクごと、リージョンごとに、作れる量の上限がある
上限に当たると VM が作れない
上げるには申請する（Microsoft.Quota の登録が要る）
・上限を上げても、それだけではお金はかからない。かかるのは使った分だけ
・全部が最初から使えるわけではない。使うものを少しずつ開けていく
・RG だけ渡された人は、自分では登録できないことがある
47


# Page. 48

![Page Image](https://bcdn.docswell.com/page/GJ8DL55YJD.jpg)

（作れない人だけ）VM のサイズが選べないとき
設定値
1. 開く
上の検索で「クォータ」→ マイ クォータ
2. 絞る
プロバイダー：Compute、リージョン：Japan
East
3. 探す
Standard Bsv2 ファミリ vCPU
4. 増やす
右の鉛筆 → 新しい上限：2 → 送信
・みんな作れたら飛ばす
・無料試用のサブスクは、上限を上げら
れない
48


# Page. 49

![Page Image](https://bcdn.docswell.com/page/LJLMLYY9ER.jpg)

（クォータの画面で求められたら）プロバイダーを登録する
設定値
1. 開く
サブスクリプション → リソース プロバイダー
2. 絞る
名前で Microsoft.Quota
3. 登録
選んで、上の［登録］
4. 待つ
状態が Registered になれば OK
・登録には、サブスクの共同作成者か所
有者が要る
49


# Page. 50

![Page Image](https://bcdn.docswell.com/page/47MYMNNV7W.jpg)

VM に入る方法は、3つある
今日は3つ目。鍵もパスワードも使わない
パスワード
SSH の鍵
Entra ID（az ssh）
覚えやすいが、漏れやすい
総当たりで破られることも
パスワードより安全
鍵のファイルの管理が要る
VM ごとにばらばらになる
いつものアカウントでサインイン
MFA がかかる
ロールで入れる人を決める
・ポータルは鍵かパスワードがないと作れないので、鍵は作るだけ作る
50


# Page. 51

![Page Image](https://bcdn.docswell.com/page/P7R9VDDWE9.jpg)

ハンズオン 4：VM を作る（基本）
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
仮想マシン名
vm-bity-001
リージョン
Japan East
イメージ
Ubuntu Server 24.04 LTS
サイズ
Standard_B2ts_v2
認証の種類
SSH 公開キー（ほかは既定）
パブリック受信ポート
なし
・鍵は作るけど使わない（ログインは az
ssh）
・受信ポートは「なし」。NSG はサブネット
で管理する
51


# Page. 52

![Page Image](https://bcdn.docswell.com/page/PJXQZ11V7X.jpg)

ハンズオン 4：VM を作る（ネットワーク）
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
仮想ネットワーク
vnet-bity-001
サブネット
snet-bity-vm-001
パブリック IP
新規作成 → pip-bity-001
NIC の NSG
なし
・NSG はサブネットか NIC の、どちらか
一方に
52


# Page. 53

![Page Image](https://bcdn.docswell.com/page/3JK98225JD.jpg)

Tips：NSG はサブネットか NIC の、どちらか一方に
VM の作成画面では「NIC のネットワーク セキュリティ グループ：なし」にする
両方に付けると、両方で許可しないと通らない
なぜ
どちらで止まっているのかが、わかりにくくなる
53


# Page. 54

![Page Image](https://bcdn.docswell.com/page/LE3W2441E5.jpg)

マネージド ID とは
VM やアプリに付ける、Azure の中の身分証
今日の使い道
身分証を見せる
Entra ID ログインの仕組みが、VM のマネージド ID を使う
だから自動でオンになる
VM
Entra ID
ポイント
パスワードやキーを持たずに認証できる
システム割り当て：VM と一緒にでき、一緒に消える
第3回の使い道
アプリが Storage や AI に、キーなしでつなぐ
54


# Page. 55

![Page Image](https://bcdn.docswell.com/page/8EDKZQQK7G.jpg)

ハンズオン 4：VM を作る（管理）
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
Microsoft Entra ID でログイン
オン
システム割り当てマネージド ID
自動でオンになる
自動シャットダウン
オン、午前1:00
タイムゾーン
大阪、札幌、東京
・Entra ID ログインを選ぶと、マネージド
ID も自動でオン
55


# Page. 56

![Page Image](https://bcdn.docswell.com/page/V7PKDLL3J8.jpg)

ハンズオン 4：VM を作る（確認と作成）
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
確認する所
パブリック IP の名前、Entra ID ログイン
作成
秘密キーのダウンロードとリソースの作成
・作れないときは、クォータかサイズの在
庫を疑う
・秘密キーは使わないので、片付けで消
す
56


# Page. 57

![Page Image](https://bcdn.docswell.com/page/2JVV1QQNJQ.jpg)

VM ができたら：拡張機能を見る
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
場所
vm-bity-001 → 拡張機能とアプリケーション
見る所
AADSSHLoginForLinux が Provisioning
succeeded
・拡張機能：VM の中にあとから足す
小さなアプリ
・AADSSHLoginForLinux が入ってい
れば OK
57


# Page. 58

![Page Image](https://bcdn.docswell.com/page/5EGL2WW5JL.jpg)

わざとエラー①：何も届かない
ブラウザで http://（パブリック IP）、ターミナルで az ssh を試す
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
・待たされて失敗するなら、ネットワークを
疑う
・NSG を作っただけで、付けていない
58


# Page. 59

![Page Image](https://bcdn.docswell.com/page/4JQYP33L7P.jpg)

直す：NSG をサブネットに関連付ける
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
場所
vnet-bity-001 → サブネット → snet-bityvm-001
ネットワーク セキュリティ グループ
nsg-bity-vm-001
最後に
保存
・関連付けて、はじめて門番になる
59


# Page. 60

![Page Image](https://bcdn.docswell.com/page/K74WY115E1.jpg)

プライベート エンドポイントのネットワーク ポリシー
・PE に向かう通信に、NSG とルート テー
ブルをかけるかどうか
・既定は無効
60


# Page. 61

![Page Image](https://bcdn.docswell.com/page/LJ1Y6GG2EG.jpg)

05
サーバーに入って、Web を出す
az ssh、ロール、nginx


# Page. 62

![Page Image](https://bcdn.docswell.com/page/GJWGWKK272.jpg)

これから：az ssh で VM に入る
NSG を付けたので、22番は自分の IP から届くようになった
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
・Entra ID でサインインして入る
・ここで2つ目のエラーが出る
62


# Page. 63

![Page Image](https://bcdn.docswell.com/page/4EZL5ZZ473.jpg)

SSH と az ssh
今日はパスワードも鍵も使わず、Entra ID の証明書で入る
①
②
③
Entra ID でサインイン
SSH 用の証明書をもらう
22番で VM に入る
az login した人の ID で
az ssh が自動でやる
VM がロールを確かめる
・鍵やパスワードは漏れる。Entra ID なら MFA がかかり、ロールを外せばすぐ入れなくなる
63


# Page. 64

![Page Image](https://bcdn.docswell.com/page/Y76W9ZZG7V.jpg)

管理の操作と、データの操作
VM を作れる人と、VM に入れる人は、わざと分けてある
管理の操作
データの操作
VM を作る、消す、設定を変える
所有者・共同作成者でできる
VM に入る（ログイン）
「仮想マシンの管理者ログイン」などが要る
・所有者なのに入れない、をこのあと見る
64


# Page. 65

![Page Image](https://bcdn.docswell.com/page/G75MNWWX74.jpg)

Tips：az の既定のサブスクを確かめる
サブスクが複数あると、az が別のサブスクを見ていることがある
az account show で確かめてから打つ
65


# Page. 66

![Page Image](https://bcdn.docswell.com/page/9J295QQQER.jpg)

わざとエラー②：所有者なのに入れない
NSG は付けたので、今度は VM まで届く。でも入れない
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
コマンド
az ssh vm -g rg-bity-001 -n vm-bity001
・認証は通って、認可で弾かれている
・publickey と出るが、鍵の問題ではな
い
66


# Page. 67

![Page Image](https://bcdn.docswell.com/page/DEY4KWWYJM.jpg)

VM に関係するロールは、3つ
名前が似ているので、まちがえやすい
仮想マシンの管理者ログイン
VM に入れる。入ったあと sudo が使える
仮想マシンのユーザー ログイン
VM に入れる。sudo は使えない
仮想マシン共同作成者
VM を作る、止める、設定を変える。Entra ID で入る権限はない
・今日は nginx を入れるので、管理者ログイン
67


# Page. 68

![Page Image](https://bcdn.docswell.com/page/VJNYR99R78.jpg)

直す：VM に入るロールを付ける
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
場所
vm-bity-001 → アクセス制御 (IAM) → ＋
追加 → ロールの割り当ての追加
ロール
仮想マシンの管理者ログイン
メンバー
自分
・今日は sudo を使うので、管理者ログ
イン
68


# Page. 69

![Page Image](https://bcdn.docswell.com/page/YE9PM22ZJ3.jpg)

ロールはどこに付ける？（スコープ）
上で付けたロールは、下に引き継がれる
管理グループ
サブスクリプション
下に引き継ぐ
リソースグループ
リソース（VM など）
・今日は最小権限で VM に付けた。VM がたくさんあるなら RG に付ける
69


# Page. 70

![Page Image](https://bcdn.docswell.com/page/GE8DL5MYED.jpg)

直す：付けたロールを確かめる
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
見る所
仮想マシンの管理者ログイン、スコープ：このリ
ソース
・最小権限なら VM に付ける
・VM がたくさんあるなら RG に付ける
70


# Page. 71

![Page Image](https://bcdn.docswell.com/page/LELMLY397R.jpg)

Tips：RG の所有者なら何でもできる、は勘違い
所有者が持つのは「管理の操作」
VM に入る「データの操作」は、別のロールが要る
なぜ
権限が足りないエラーは、まず「どの操作か」を見る
71


# Page. 72

![Page Image](https://bcdn.docswell.com/page/4JMYMNDVJW.jpg)

ハンズオン 5：az ssh で入る
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
コマンド
az ssh vm -g rg-bity-001 -n vm-bity001
待つ
ロールを付けてから数分
・Welcome to Ubuntu が出たら成功
72


# Page. 73

![Page Image](https://bcdn.docswell.com/page/PJR9VD4W79.jpg)

これから：nginx を入れる
VM の中で、Web サーバーを動かす
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
・apt でインターネットからパッケージを取
る
・外に出られるのは、パブリック IP がある
から
73


# Page. 74

![Page Image](https://bcdn.docswell.com/page/PEXQZ12VJX.jpg)

ハンズオン 6：nginx を入れる
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
1. パッケージの一覧を新しくする
sudo apt-get -y update
2. nginx を入れる
sudo apt-get -y install nginx
3. 動いているか見る
systemctl status nginx
・コマンドはコピペでいい
・update はおまじないくらいでいい
74


# Page. 75

![Page Image](https://bcdn.docswell.com/page/3EK982M5ED.jpg)

これから：80番で見る
nginx は動いた。でも、まだブラウザからは見えない
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
・NSG に 80番の規則がない
・使う直前に、80番を開ける
75


# Page. 76

![Page Image](https://bcdn.docswell.com/page/L73W24Y175.jpg)

ハンズオン 6：80番（HTTP）の規則を足す
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
場所
nsg-bity-vm-001 → 受信セキュリティ規則
→ ＋追加
ソース
Any
サービス
HTTP
優先度
110
名前
allow-http
・使う直前に開ける。先に開けておかな
い
76


# Page. 77

![Page Image](https://bcdn.docswell.com/page/87DKZQ5KJG.jpg)

ハンズオン 6：80番で見る
1. RG
2. VNet
3. NSG
4. VM
5. az ssh
6. nginx
設定値
ブラウザ
http://（パブリック IP）
・Welcome to nginx! が出たら完成
77


# Page. 78

![Page Image](https://bcdn.docswell.com/page/VJPKDLG3E8.jpg)

nginx を止めて比べる
「待たされる」か「すぐ拒否される」かで、疑う場所が変わる
待たされて失敗（わざとエラー①）
すぐ拒否（nginx を止めたとき）
通信が途中で止められている
→ NSG などのネットワークを疑う
届いているが、相手が受けていない
→ アプリ（nginx）を疑う
sudo systemctl stop nginx → ブラウザで確かめる → sudo systemctl start nginx
78


# Page. 79

![Page Image](https://bcdn.docswell.com/page/2EVV1Q6NEQ.jpg)

片付け：リソースグループごと消す
設定値
場所
rg-bity-001 → リソース グループの削除
入力
rg-bity-001（名前をコピーして貼る）
最後に
削除
・RG ごと消すと、中身がまとめて消える
・NetworkWatcherRG と秘密キーのフ
ァイルも確かめる
79


# Page. 80

![Page Image](https://bcdn.docswell.com/page/57GL2WN5EL.jpg)

命名規則は、最初に決める
あとから変えられない名前が多い。案件の最初に決めておく
公式の略語
rg、vnet、snet、nsg、vm、pip
案件の名前
bity
用途（サブネットなど）
vm、pe、aca
環境名（3文字）
dev、stg、prd
連番（末尾）
001
例：rg-bity-001、snet-bity-vm-001
80


# Page. 81

![Page Image](https://bcdn.docswell.com/page/4EQYP3QLJP.jpg)

06
ふりかえり
みんなで考える、まとめ、次回


# Page. 82

![Page Image](https://bcdn.docswell.com/page/KJ4WY1N571.jpg)

みんなで考えましょう
自分ならどう答えるか、考えてみてください
NSG を作ったのに届かなかったのは、なぜ？
所有者なのに VM に入れなかったのは、なぜ？
Web ページが見えないとき、どこから見る？
82


# Page. 83

![Page Image](https://bcdn.docswell.com/page/LE1Y6G527G.jpg)

みんなで考えましょう（答え）
自分の答えと比べてみてください
NSG を作ったのに届かなかったのは、なぜ？
NSG をサブネットに関連付けていなかったから。作っただけでは門番にならない
所有者なのに VM に入れなかったのは、なぜ？
VM に入るロール（仮想マシンの管理者ログイン）がなかったから。所有者は管理の操作だけ
Web ページが見えないとき、どこから見る？
待たされるなら NSG（ネットワーク）。すぐ拒否なら nginx（アプリ）
83


# Page. 84

![Page Image](https://bcdn.docswell.com/page/GEWGWK52J2.jpg)

まとめ
今日のゴール
自分で作った VM の Web ページを、ブラウザで見られた
つまずいたときは
待たされるなら NSG、入れないならロール、すぐ拒否ならアプリを疑う
84


# Page. 85

![Page Image](https://bcdn.docswell.com/page/47ZL5ZN4J3.jpg)

次回：アプリを載せる
用意した Python のアプリを、Container Apps で動かす
次回やること
Python のアプリと、前に置く nginx
Container Registry
組み込み認証（Easy Auth）
Foundry、ストレージ アカウント
閉域にはしないので VM は使わない
85


# Page. 86

![Page Image](https://bcdn.docswell.com/page/YJ6W9Z8GJV.jpg)

参考リンク
テナントとサブスクの関係
learn.microsoft.com/entra/fundamentals/how-subscriptions-associated-directory
リソースプロバイダー
learn.microsoft.com/azure/azure-resource-manager/management/resource-providers-and-types
NSG の仕組み
learn.microsoft.com/azure/virtual-network/network-security-group-how-it-works
既定の送信アクセス
learn.microsoft.com/azure/virtual-network/ip-services/default-outbound-access
Entra ID で Linux VM に SSH する
learn.microsoft.com/entra/identity/devices/howto-vm-sign-in-azure-ad-linux
命名の略語
learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations
86


