🪅

40 分くらいで作る Azure Stack HCI ラボ環境

2023/08/28に公開

Azure Stack HCI とは?

Azure Stack HCI は、Microsoft のハイブリッド環境向けソリューションの 1 つです。Azure Stack HCI を使用すると、オンプレミス インフラストラクチャと Azure クラウド サービスを組み合わせたハイブリッド環境で、仮想化したワークロードをホストすることができます。

Azure Stack HCI を使用すると、例えば以下のようなワークロードを実行できます。

https://learn.microsoft.com/ja-jp/azure-stack/hci/overview

Azure Stack HCI を試す方法

Azure Stack HCI を試すための正攻法は、Microsoft のハードウェア パートナーから Azure Stack HCI がプリインストールされたシステムを購入したり、検証済みマシンを購入して Azure Stack HCI をインストールしたりすることです。
けれども、Azure Stack HCI に興味があるのでひとまず試してみたい、という段階では、こうした物理ハードウェアを用意するのはなかなか難しいと思います。

もう少し気軽に試す方法としては、Microsoft Azure などクラウド環境の IaaS VM 上で Azure Stack HCI を動かす方法があります。この方法による Azure Stack HCI のラボ環境はいくつかあります。

Azure IaaS VM 上で Azure Stack HCI を動かすことができる代表的なラボ環境には以下があります/ありました。

しかしながら、これら既存の Azure Stack HCI ラボ環境もいくつかの理由から気軽に利用しやすいとは言い難いです。

気軽に利用しにくい理由の例:

  • デプロイに数時間を要する
  • 要求スペックが高く、短期間試すだけでも高価な費用が発生しやすい
  • 多くのシナリオをサポートしているがゆえに環境の構成が複雑で、初学者が入門するための環境として、または、カスタマイズして独自の検証を行うためのベース環境として扱い難い

HCI Lab

既存ラボ環境の課題をなるべく緩和して、より気軽 & 手軽に Azure Stack HCI を試せるようにすることを目指したのが HCI Lab です。

HCI Lab の特徴:

  • 最短 30 分程度でデプロイできる
  • 目的に合わせて VM スペックを選択でき、比較的小さい VM サイズでもとりあえず動かすことはできるため、過剰な費用が発生しにくい
  • 比較的シンプルな構成を維持しているため、入門や独自検証のベース環境として取り扱いやすい

HCI Lab は入れ子になった仮想化が有効な 1 台の Azure IaaS VM 上の複数台 (最少 4 台) の Hyper-V VM で構成されています。
HCI Lab では、デプロイ時のオプションによっては、HCI クラスターの作成までデプロイ時に完了させることができます。この記事では Azure Stack HCI を実行するノードで作成したクラスターのことを HCI クラスターと呼称しています。

https://github.com/tksh164/hci-lab

HCI Lab のデプロイ手順

HCI Lab は Azure サブスクリプションがあれば利用でき、Azure portal から通常の Azure サービスをデプロイするのと同様の手順でデプロイできます。

1. HCI Lab のデプロイ開始

Deploy to Azure をクリックして Azure portal を開きます。

Deploy to Azure

2. 基本タブ

入力項目は、通常の Azure IaaS VM を作成する時とほぼ同じです。
VM サイズは既定値よりも小さいサイズを使用できますが、今回は既定値の VM サイズを使用します。

3. HCI Lab ホスト VM の詳細タブ

HCI Lab ホスト (Azure IaaS VM) に関する構成を指定します。今回はすべて既定値を使用します。

4. ラボの構成タブ

ラボ環境やラボ環境を構成する Hyper-V VM に関する構成を指定します。
ラボ仮想マシン (Hyper-V VM) の UI 言語を日本語 (ja-JP) に変更し、タイム ゾーンも日本標準時の (UTC+09:00) Osaka, Sapporo, Tokyo に変更します。その他は既定値を使用します。

5. 確認と作成タブ

内容を確認して、作成ボタンをクリックします。

6. デプロイ

その時々で多少変化しますが、今回の構成の場合、デプロイにかかる時間は 40 分程度です。

7. リモート デスクトップ接続を許可

デプロイ完了後の状態では、HCI Lab ホスト (Azure IaaS VM) へのリモート デスクトップ接続は許可されていません。

手元のマシンからデプロイした HCI Lab ホスト (Azure IaaS VM) にリモート デスクトップ接続できるようにするために VM の Just-In-Time アクセスを有効にしたり、ネットワーク セキュリティ グループに受信セキュリティ規則を作成したりして、リモート デスクトップ接続を許可する必要があります。

リモート デスクトップ接続を開始できる期間を制限して、よりセキュアに利用できるため、VM の Just-In-Time アクセスを使用するのがお勧めです。VM の Just-In-Time アクセスは Azure サブスクリプションで Microsoft Defender for Servers Plan 2 を有効にすると利用できます。

VM の Just-In-Time アクセスを有効にする例

https://learn.microsoft.com/ja-jp/azure/defender-for-cloud/just-in-time-access-usage

VM の構成から Just-In-Time VM アクセスを有効にしておき、接続する際に接続から接続元 IP アドレスを制限してアクセス権を要求します。要求承認後、一定期間はリモート デスクトップ接続を開始することができます。

ネットワーク セキュリティ グループに受信セキュリティ規則を作成する例

https://learn.microsoft.com/ja-jp/azure/virtual-network/tutorial-filter-network-traffic#create-security-rules

HCI Lab では、サブネットに関連付けられたネットワーク セキュリティ グループがデプロイ時に作成されています。
そのネットワーク セキュリティ グループに手元マシンの IP アドレスから HCI Lab ホスト (192.168.0.4) へのリモート デスクトップ接続 (TCP 3389) を許可する受信セキュリティ規則を追加します。

8. HCI Lab ホストにリモート デスクトップ接続

任意のリモート デスクトップ クライアントを使用して HCI Lab ホスト (Azure IaaS VM) に接続します。

接続先の DNS 名は VM の概要に表示されている DNS 名からコピーできます。

接続に使用する資格情報はデプロイ時に基本タブで入力したユーザー名とパスワード (Azure IaaS VM のユーザー名とパスワード) です。

なお、ラボ仮想マシンの UI 言語として日本語 (ja-JP) を選択したため Hyper-V VM は日本語環境になっていますが、Azure Marketplace イメージを使用している HCI Lab ホスト (Azure IaaS VM) は英語環境です。

9. HCI Lab を試してみる

HCI Lab ホストのデスクトップには Windows Admin Center にアクセスできる Windows Admin Center アイコンがあります。このアイコンを開くことで HCI Lab ホスト上から HCI クラスターにアクセスできます。

Windows Admin Center にアクセスするための資格情報は、下表の通りです。

項目 説明
ユーザー アカウント HCI\Administrator
パスワード HCI Lab ホスト (Azure IaaS VM) と同じ

10. HCI Lab をもっと試してみる

HCI Lab ホストのデスクトップにあるその他のアイコンから、さらに HCI Lab を試してみることができます。

Management tools server アイコンから一連の管理ツールがインストールされているマシンにリモート デスクトップ接続できます。HCI クラスター上に何らかのワークロードをデプロイして本格的に試したい場合には、この管理ツール マシンにリモート デスクトップ接続して作業することになります。

HCI Lab のネットワーク構成やその他の構成情報など詳細については HCI Lab tour で確認できます。

まとめ

HCI Lab を使用すると、Microsoft のハイブリッド環境向けソリューションの 1 つである Azure Stack HCI のラボ環境を比較的手軽に短時間で Azure 上にデプロイすることができます。

これにより、Azure Stack HCI 自体の展開に必要な手間を減らし、Azure Stack HCI を前提とした各種ハイブリッド ワークロードのデプロイや検証に集中できます。

Discussion