-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzureTrialEnvironment
Azure の評価環境を入手する(Win 10 Pro の Gen2)環境
※ 最近、確認した所、Win 10 Pro で Gen2 が使えず、かつ、別途ライセンスが必要になっていた。
補足(本ページの位置付け): 本ページは
**「1 人で、手早く、安く、開発用の VM を 1 台立てる」**ための記録である。
段階が上がるにつれ、次のページに引き継がれる。
段階 ページ 1 人・評価用に 1 台 本ページ 正式に契約する(無料枠を超える) AzureのPoC環境を契約する 権限・バックアップまで整える AzureのPoC環境を構築する 繰り返し作れるようにする Azure上に素早く環境を構築する 組織で運用する Azure Subscriptionの管理@エンプラ
Azure 無料アカウントを使うなど。
おすすめ
- 高性能な開発環境
D4s_v3
補足(最新化:現在の選択):
Dsv3シリーズは現在も利用できるが、
世代が進んでおり、同価格帯でより新しい世代を選べる。
シリーズ 位置付け Dsv3本文の推奨。Intel Broadwell/Skylake 世代 Dsv5/Dasv5現行世代。 Dasは AMD 版で同性能で安いことが多いDpsv5Arm64(Ampere Altra)。さらに安いが、x64 前提のツールは動かない Bsシリーズバースト可能。常時負荷が低い開発用途では最も安い ただし、
Hyper-Vを動かす(入れ子構造の仮想化)目的であれば
対応シリーズが限られるため、後述の「第 2 世代 VM」の項に注意する。なお、開発用途で最も効くのはシャットダウン運用であり、
サイズ選択より効果が大きい(後述)。
冗長化構成の場合は、可用性オプションを検討する。
- 参考
- Microsoft Docs > Azure Virtual Machines > VM の Azure 可用性オプション
補足: 評価環境(1 台)では
「インフラストラクチャ冗長は必要ありません」で構わない
(後掲の構成例もそうなっている)。
本格的な構成についてはAzureの高可用性設計、
Azureの冗長化を参照。
- これは、
- 廉価らしい。
- 今の所、リージョンが限定的
- 制限事項
- ピーク時に「停止 / 割当解除」される。
- 割当解除なので再割当が可能。
- VHD もディスクに残るので。
- 参考
- Microsoft Docs > Azure Virtual Machines > Azure スポット VM を使用 (プレビュー) する
- あなたの Azure 利用料金がもっと安くなるかも?!
Spot VM や RI など、コスト削減の方法をご紹介 | Azure相談センター - SB C&S
https://licensecounter.jp/azure/blog/topics/azure-cost-spotvm-ri.html
補足(スポット VM は GA 済み。ただし開発用途には向かない場合がある): 本文の
「(プレビュー)」は当時のもので、**現在は一般提供(GA)**されている。
最大 90% 引きになることもあり、価格面の魅力は大きい。ただし、本文が正確に指摘するとおり
**「ピーク時に停止 / 割当解除される」**という性質が本質的な制約である。
- 追い出しは30 秒前の通知のみ(Scheduled Events 経由)。
- 作業中に落ちるため、対話的な開発作業には向かない。
- 一方、中断しても再実行すればよい処理(バッチ、ビルド、
レンダリング、テスト実行)には非常に適する。開発 VM で使うなら、
- 「停止 / 割当解除」ポリシー(削除ではなく)を選ぶ、
- 作業データを OS ディスクに置かない(別ディスクや Git に逃がす)、
- 最大価格を「従量課金と同じ」にして追い出され頻度を下げる
といった前提を置く必要がある。
開発用なら、Standard SSD か。
- 参考
- Microsoft Docs > Azure Virtual Machines > Azure IaaS VM 用のディスクの種類の選択 - マネージド ディスク
補足: 選択肢は現在 4 種類ある。
種類 位置付け Ultra Disk 極めて高い IOPS。DB 用途 Premium SSD (v2) 本番の標準。v2 は容量と性能を独立に指定できる Standard SSD 本文の推奨。開発用途の既定 Standard HDD 最安。アクセスが稀なデータ向け 注意点として、VM サイズによっては Premium SSD を選べない
(sが付かないシリーズは Premium 非対応)。
D4s_v3のsは Premium Storage 対応を意味する。また、停止(割当解除)してもディスクの課金は続く。
シャットダウン運用で安くなるのはコンピューティング分のみである点は
費用見積りで誤解しやすい。
ストレージ・アカウントの種類
- 基本的に、汎用 v2 アカウントを選択。
- 以下も指定可能。
- パフォーマンス・レベル(Standard、Premium)
- レプリケーション(LRS、ZRS、GRS/RA-GRS、GZRS/RA-GZRS)
- 参考
- Microsoft Docs > Azure Storage
- ストレージ アカウントの概要
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-account-overview - データの冗長性 - Azure Storage
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-redundancy
- ストレージ アカウントの概要
- Microsoft Docs > Azure Storage
補足(レプリケーションの読み方): 記号は
**「どこまでコピーするか」+「読めるか」**で分解できる。
記号 意味 LRS Local。同一データセンター内に 3 重 ZRS Zone。可用性ゾーンを跨いで 3 重 GRS Geo。別リージョンにも複製(ただし平常時は読めない) **RA-**G(Z)RS Read Access。副リージョンを読み取り可能にする 評価環境なら LRS で十分であり、
上位を選ぶとその分課金される。
診断用ストレージのような使い捨て用途で GRS を選ぶ必要はない。
基本、第 2 世代 VM を選択すれば良い模様。
コレ(Gen2)を指定しないと Hyper-V が使用できない。
- 参考
-
Azure 仮想マシンで「第 2 世代仮想マシン」のサポートがようやく
プレビューで登場:Microsoft Azure 最新機能フォローアップ(80) - @IT
https://www.atmarkit.co.jp/ait/articles/1905/27/news011.html上記のドキュメントでは、VBS はサポートされていないことになっていますが、
筆者が確認した限り、DSv3、ESv3、FSv3 など、「入れ子構造の仮想化」
(Nested Virtualization)をサポートするシリーズで展開し、
Hyper-V の役割を有効化すれば、VBS が実行状態になりました(画面4)。 -
Microsoft Azure
- Introducing the new Dv3 and Ev3 VM sizes | Azure Blog and Updates
https://azure.microsoft.com/en-us/blog/introducing-the-new-dv3-and-ev3-vm-sizes/ - Nested Virtualization in Azure | Azure Blog and Updates
https://azure.microsoft.com/en-us/blog/nested-virtualization-in-azure/
- Introducing the new Dv3 and Ev3 VM sizes | Azure Blog and Updates
-
Microsoft Docs
- 第 2 世代 VM に対する Azure のサポート
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/generation-2\ https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/generation-2 - Hyper-V で Generation 1 または 2 の仮想マシンを作成するか。
https://docs.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v
- 第 2 世代 VM に対する Azure のサポート
-
補足(Gen2 と入れ子構造の仮想化は別の話): 本文は
「Gen2 を指定しないと Hyper-V が使用できない」としているが、
正確には2 つの条件が独立に必要である。
条件 何のために要るか 入れ子構造の仮想化に対応した VM シリーズ VM の中で Hyper-V を動かす( Dv3/Ev3以降。Dv2などは不可)第 2 世代 VM(Gen2 / UEFI ブート) VBS / セキュア ブート / Trusted Launch を使う つまり、Hyper-V を動かすだけなら Gen1 でも可能な場合がある一方、
VBS(仮想化ベースのセキュリティ)や Windows 11 のゲストを
扱うには Gen2 が要る、という関係にある。なお、現在は Gen2 が既定であり、Trusted Launch も既定で有効である。
迷ったら Gen2 でよい、という本文の結論は変わらない。また、冒頭の赤字(Win 10 Pro で Gen2 が使えず、別途ライセンスが必要)は、
Windows クライアント OS を Azure 上で動かす場合のライセンス条件を
指したものである。現在は
- Windows 10/11 の Azure 上での利用は
Windows 365 / Azure Virtual Desktop の権利、または
Visual Studio サブスクリプション(開発・テスト用途)が前提- サーバ OS(Windows Server)なら従量課金で普通に使える
という整理になる。
開発用途で単に VM が欲しいだけなら、
Windows Server を選ぶのが手続き上いちばん簡単である
(Azure Virtual Desktop(AVD) も参照)。
製品の詳細
Standard D4s v3
xx.xxx JPY/時間
シャットダウン運用すれば、xx.xxx JPY * 5h * 20d = x,x00 JPY/月位に抑えられる。
補足(この式が本ページで最も実用的な情報):
5h × 20d = 100 時間/月という前提が要点である。
VM を常時起動すると24h × 30d = 720 時間/月になるため、
実に 7 分の 1 以下になる。ただし、次の 2 点に注意が要る。
注意点 内容 停止だけでは課金が止まらない ポータルの「停止」=割当解除(Deallocated)でなければコンピューティング課金は続く。OS 内から shutdownしただけでは「停止済み」止まりで課金され続けるディスクとパブリック IP は課金が続く 割当解除してもマネージド ディスク、静的パブリック IP、Bastion などは課金される したがって、
- 自動シャットダウン(後掲の構成例で「オン」になっている)を必ず設定する、
- 予算アラートを設定する(AzureのPoC環境を契約する)
の 2 つを最初にやっておくのが確実である。
詳細はAzureの課金を参照。
- Windows
基本
サブスクリプション
...
リソース グループ
(新規) hoge
仮想マシン名
hoge
地域
東日本
可用性オプション
インフラストラクチャ冗長は必要ありません
ユーザー名
hoge
パブリック受信ポート
RDP
Windows ライセンスを既にお持ちの場合
いいえ
Azure スポット
いいえ
ディスク
OS ディスクの種類
Standard SSD
マネージド ディスクを使用
はい
エフェメラル OS ディスクを使用する
いいえ
ネットワーク
仮想ネットワーク
(新規) hoge-vnet
サブネット
(新規) default (10.0.0.0/24)
パブリック IP
(新規) hoge-ip
高速ネットワーク
オフ
この仮想マシンを既存の負荷分散ソリューションの後ろに配置しますか?
いいえ
管理
ブート診断
オン
OS のゲスト診断
オフ
Azure Security Center
Basic (無料)
診断ストレージ アカウント
(新規) hogediag
システム割り当てマネージド ID
オフ
自動シャットダウン
オン
詳細
拡張機能
なし
クラウドの初期化
いいえ
近接通信配置グループ
なし
- Linux
基本
サブスクリプション
...
リソース グループ
hoge
仮想マシン名
hoge
地域
西日本
可用性オプション
インフラストラクチャ冗長は必要ありません
認証の種類
SSH 公開キー
ユーザー名
AzureUser
キー ペア名
hoge_key
パブリック受信ポート
SSH
Azure スポット
いいえ
ディスク
OS ディスクの種類
Standard SSD
マネージド ディスクを使用
はい
エフェメラル OS ディスクを使用する
いいえ
ネットワーク
仮想ネットワーク
hoge-vnet
サブネット
default (10.0.0.0/24)
パブリック IP
(新規) hoge-ip
高速ネットワーク
オン
この仮想マシンを既存の負荷分散ソリューションの後ろに配置しますか?
いいえ
管理
ブート診断
オン
OS のゲスト診断
オフ
Azure Security Center
Basic (無料)
診断ストレージ アカウント
hogediag
システム割り当てマネージド ID
オフ
自動シャットダウン
オン
バックアップ
無効
詳細
拡張機能
なし
クラウドの初期化
いいえ
近接配置グループ
なし
補足(この構成例で見落としやすい点): 構成例の
「パブリック受信ポート: RDP / SSH」は、インターネットに直接 3389 / 22 を開ける
という意味である。手軽だが、
- 総当たり攻撃の標的になる(Azure の IP レンジは常時スキャンされている)、
- 認証情報が破られれば即座に侵入される
ため、評価目的以外では推奨できない。
現在の定石は次のいずれかである。
手段 内容 Azure Bastion ポータル経由で RDP/SSH。パブリック IP 自体が不要(Azure Bastion) Just-in-Time VM アクセス 必要な時だけ NSG を開ける(Defender for Cloud の機能) NSG で送信元 IP を限定 最低限これだけでも入れる(Network Security Group (NSG)) AzureのPoC環境を契約するが
「1 人作業環境は Azure Bastion」としているのはこの理由による。なお、Linux 側で「認証の種類: SSH 公開キー」を選んでいるのは正しく、
パスワード認証は選ぶべきではない。
補足(最新化:「Azure Security Center」は改称された): 構成例に現れる
Azure Security Center は、Microsoft Defender for Cloud に改称された
(2021 年)。「Basic (無料)」相当は現在
**無料の「基本的な CSPM」**にあたり、
有償プランを有効化すると脆弱性スキャンや JIT アクセスが使えるようになる。
Azure Resource Manager テンプレート(deploymentTemplate)を取得できる。
補足(この一手間が「素早く環境を構築する」への入口): ポータルで VM を作る際、
最後の確認画面に「Automation のテンプレートをダウンロードする」という
リンクがある。ここから、いま作ろうとしている構成そのものの
ARM テンプレートが取得できる。つまり、
1回目:ポータルで作る → テンプレートを保存 2回目以降:テンプレートをデプロイする(数分・手作業ゼロ)という流れに移行できる。
「同じ環境を何度も作り直す」評価・PoC 用途では効果が大きい。
詳細はAzure上に素早く環境を構築するを参照。なお、現在は ARM テンプレート(JSON)より
Bicep(ARM に変換される DSL)が推奨されている。
既存の JSON はaz bicep decompileで変換できる。
Azure ポータルからも、PowerShell からも、できるもよう。
- 参考
- Microsoft Docs - Azure Virtual Machines
- Azure で Windows VM のサイズを変更する
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/resize-vm - クイック スタート - Azure portal で VM を作成する
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-portal\ https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/quick-create-portal
- Azure で Windows VM のサイズを変更する
- Microsoft Docs - Azure Virtual Machines
補足(サイズ変更が失敗する典型例): 「できるもよう」とあるが、
実際には次の制約で弾かれることがある。
制約 内容 ハードウェア クラスタが違う 変更先シリーズが現在のクラスタに無い場合、**VM を停止(割当解除)**しないと変更できない 可用性セット内 セット内の他 VM も同じクラスタに載っているため、全台停止が要ることがある Premium 対応の有無 Premium ディスクを付けた VM は s付きシリーズにしか変更できないクォータ超過 vCPU クォータに引っかかる(Azureのクォータ) 実務上は
**「まず停止(割当解除)してからサイズ変更する」**のが確実である。
https://github.com/OpenTouryoProject/DxCommon/blob/master/AzureIaC/SingleVM/Windows.md
https://github.com/OpenTouryoProject/DxCommon/blob/master/AzureIaC/SingleVM/Linux.md
Tags: 移行, インフラストラクチャ, クラウド, Azure
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。