Azure Stack HCIの始め方

現在、小規模な企業や大規模な企業でも、適切なIT戦略とクラウドへの進化の方法についての問題に直面しています。良いニュースは、マイクロソフトが適切な製品、Azure Stack HCIを提供していることです。

このチュートリアルでは、Azure Stack HCIを使用して始める方法を説明します。仮想テスト環境を構築し、Azureにオンボードするための4ノードクラスターをインストールします。

さあ、Azure Stack HCIでVMを展開する準備を始めましょう!

前提条件

このチュートリアルは実演を含みます。一緒に進むために、以下のものを持っていることを確認してください:

  • A client or server operating system with Hyper-V enabled. (Windows 10 or 11) – This tutorial uses Windows 10.
  • 少なくとも4つのコアを持つ32GB RAMのプロセッサ(4ノードの代わりに2ノードのみをプロビジョニングする場合、16GB RAMで十分です)

Azure Stack HCIとは何ですか?

ダイブする前に、Azure Stack HCIとは何でしょうか?Azure Stack HCIは、ハイパーコンバージドインフラストラクチャ(HCI)フェイルオーバークラスタを提供します。このクラスタは、仮想化されたWindowsおよびLinuxワークロードとそのストレージをオンプレミスのハイブリッド環境にホストします。したがって、この環境はクラウド内のサービスにも接続されています。

このインフラストラクチャを説明する最も簡単な方法は、以下の図解によるものです。つまり、HCIは変換された圧縮されたハードウェアスタックであり、簡素化された中央集権的な管理インターフェースを持っています。

Demonstrating the transformation path from NCI to HCI

LABの準備とWindows Serverの親ディスクの作成

ほとんどの場合、クラウドのみのアプローチは実用的ではありません、特にデータ保護の観点からは。また、利用されていないべき高品質のハードウェアがまだ存在する場合もあります。このような状況では、ハイブリッドソリューションであるAzure Stack HCIが適切な選択肢になることがあります。

この主張を検証するためには、デモ環境を作成することでProof-Of-Concept(POC)を構築する必要があります。しかし、最初に以下の基本要件を満たす必要があります:

  • 適切なフォルダ構造といくつかのソフトウェア。
  • 必要な仮想マシン(VM – ドメインコントローラ、いくつかのAzure Stack HCIノード、Windows Admin Center(WAC)ゲートウェイサーバー)の親ディスク。

Windows Serverの親ディスクを作成するには:

1. ダウンロードしたアーカイブ(MSLab)のファイルをマシン上のフォルダに展開します。

2. 展開後、お好きなコードエディタでLabConfig.ps1ファイルを探して開きます。

Opening the LabConfig file

3. 次に、以下のコードでLabConfig.ps1ファイルのスクリーンショットに示されたマークされた領域を変更します。

以下のコードは、ドメイン管理者の名前(’LabAdmin’)と対応するパスワード(’P@$$w0rd!’)を指定しています。

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='P@$$w0rd!'; Prefix = 'MSLab-'; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@()}
Specifying Domain-Admin’s name and password

元のLabConfig.ps1ファイルには、ヘルプセクションに多くのよくコメントされた例が含まれており、ファイルをカスタマイズすることがより簡単になります。

4. 今、管理者としてPowerShellを開き、必要なフォルダ階層と必要なソフトウェアを作成するために、1_Prereq.ps1 スクリプトファイルを実行します。

スクリプトの実行は、必要な権限で実行されていない場合には自動的に再起動されます。この動作は、このチュートリアルで表示されるすべての実行されたスクリプトに適用されますが、明示的にその他の場合が指定されていない限り。

Creating the required folder hierarchy and putting the required software in place

5. 次に、2_CreateParentDisks.ps1スクリプトを実行して、ラボに必要なすべてのディスクイメージを準備します。

テレメトリデータをMicrosoftに送信しないようにするには、Nを入力し、プロンプトが表示されたらEnterキーを押します。また、Microsoftにラボデータを処理させても問題ない場合は、出力で説明されている別の選択を行うこともできます。

Preparing all needed disk images

6. 次に、正しいWindows ISOイメージファイルを選択します。この場合、英語のWindows Server 2022イメージファイルを選択し、[開く]をクリックします。

Selecting a Windows Server ISO Image

7. 最新のISOイメージをすでにダウンロードして使用しているため、Windows Server Updates(*.msu)のプロンプトが表示された場合は[キャンセル]をクリックします。

スクリプトは現在、後でVM展開に必要になるWindows Server 2022の親ディスクを作成します(約15〜30分)。

Skipping Windows Server Update

8. 最後に、Yを入力してEnterキーを押して不要なファイルとフォルダをクリーンアップします。

クリーンアップが完了したら、もう一度Enterキーを押してスクリプトの実行を終了します。

Cleaning up unnecessary files and folders

これで、LABParentDisksの2つの新しいフォルダ、3つのPowerShellスクリプト、およびログファイルがMSLabフォルダの下に表示されるはずです。

Verifying MSLab resource files and folders

Azure Stack HCIの親ディスクの作成

Windows Server 2022の親ディスクを作成することで、ラボの骨組みの一部を準備しました。ただし、Azure Stack HCIノード展開用の親ディスクがまだありません。

Azure Stack HCIの親ディスクを作成するには、次の手順を実行します:

1. ParentDisksフォルダに移動し、CreateParentDisk.ps1スクリプトを実行します。

2. 次に、正しいAzure Stack HCI ISOイメージを選択し、[開く]をクリックします。

Selecting an Azure Stack HCI OS ISO Image

3. 最新のISOイメージを既にダウンロードして使用しているため、[アップデートパッケージファイル(*.msu)]のプロンプトが表示された場合は、[キャンセル]をクリックします。*.msu

Selecting an Azure Stack HCI OS Update file

4. VHDの名前とサイズを求められた場合、Enterキーを押します。

指定がない場合、VDH名はAzSHCI21H2_G2.vhdx、サイズはデフォルトで60 GBが使用されます。

Using default VHD name and size

5. Enterキーを押してスクリプトの実行を終了します。

Finishing the script execution

6. 最後に、MSLab/ParentDisksフォルダに移動して、以下に示すようにAzure Stack HCI21H2_G2ディスクファイルが存在することを確認します。

Checking if all necessary files are available

Hyper-VへのVM展開

必要なVMをラボに出荷する準備が整いました。まあ、ほぼです。 LabConfig.ps1ファイルにいくつかのパラメータと設定を設定する必要があります。

1. LabConfig.ps1ファイルを開き、以下のコードでコンテンツを調整して、VMの展開を構成します。

ラボはブラックボックスではないため、ドキュメントの構造と格納されている設定の短い説明があります。各パラメータブロックは、各VM(DC、HCIノード、WACゲートウェイ)に割り当てられており、より良い概要を提供します。

さらに、各パラメータの機能を説明するために記載されています。

# DC + Lab-Environment

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='P@$$w0rd!'; Prefix = 'MSLab-' ; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@()}

# DomainAdminName - ドメイン管理者名
# AdminPassword - ドメイン管理者のパスワード
# Prefix - VM 名に含まれる接頭辞
# DCEdition='4' - 使用されるWindowsエディション(4 = データセンター)
# Internet=$true - リモートアクセスサービス(RAS)を有効にする
# AdditionalNetworksConfig=@() - 追加のネットワーク構成の配列
# VMs=@() - VM 配列

# HCI ノード(ドメインに参加する前)
1..4 | ForEach-Object {$VMNames="AzSHCI" ; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'AzSHCI21H2_G2.vhdx' ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 4GB; MGMTNICs=4 ; NestedVirt=$true}}

# VMName - VM 名
# Configuration = 'S2D' - Storage Space Direct(S2D)をサポートするVM
# ParentVHD - 親ディスク
# HDDNumber - 接続されるディスクの総数
# HDDSize - ディスクサイズ
# MemoryStartupBytes - 起動メモリ
# MGMTNICs - NICの合計数
# NestedVirt - ネストされた仮想化が有効になっている

# Windows Admin Center Gateway
$LabConfig.VMs += @{ VMName = 'WACGW' ; ParentVHD = 'Win2022Core_G2.vhdx' ; MGMTNICs=1 }

# VMName - VM 名
# ParentVHD - 親ディスク
# MGMTNICs - NICの合計数

2. 次に、Deploy.ps1スクリプトを実行して、VMの展開手順を開始します。

展開中に、以下のスクリーンショットに示すようなエラーが発生する場合があります。これらのエラーは、ドメインコントローラ内でActive Directoryの可用性をテストする結果ですが、無視して問題ありません。

Deploying VMs

3. VMが展開されたら、Aを入力してEnterキーを押して、すべてのラボVMを開始します。

開始したら、スクリプトの実行を完了するためにEnterキーを押してください。

Starting VMs

4. 最後に、必要なインフラストラクチャが作成されたことを確認するために、Hyper-V Managerに切り替えます。

下の画像では、すべてのラボマシンが実行されています。

Inspecting the delivered infrastructure

WACゲートウェイの設定

VMを展開し、必要なソフトウェアコンポーネント、Windows Admin Center(WAC)を提供する準備が整いました。

1. Hyper-V Managerで、MSLAB-DC VMのVMプロパティに移動し、統合サービスセクションのゲストサービスを有効にします。

有効にしたら、設定を確認するために[適用]をクリックしてください。

Enabling Guest services

2. 次に、MSLAB-DC VM(ドメインコントローラ)に切り替えて、PowerShellを介して以下のスクリプトを実行し、必要なインストールパッケージをダウンロードしてターゲットマシンに転送します。

$GatewayServerName="WACGW"
# Windows Admin Centerが存在しない場合はダウンロード
if (-not (Test-Path -Path "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi")){
    Start-BitsTransfer -Source https://aka.ms/WACDownload -Destination "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi"
}

# PSセッションを作成し、インストールファイルをリモートサーバーにコピーする
Invoke-Command -ComputerName $GatewayServerName -ScriptBlock {Set-Item -Path WSMan:\localhost\MaxEnvelopeSizekb -Value 4096}
$Session=New-PSSession -ComputerName $GatewayServerName
Copy-Item -Path "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi" -Destination "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi" -ToSession $Session

# Windows Admin Centerをインストール
Invoke-Command -Session $session -ScriptBlock {
    Start-Process msiexec.exe -Wait -ArgumentList "/i $env:USERPROFILE\Downloads\WindowsAdminCenter.msi /qn /L*v log.txt REGISTRY_REDIRECT_PORT_80=1 SME_PORT=443 SSL_CERTIFICATE_OPTION=generate"
} -ErrorAction Ignore

$Session | Remove-PSSession

# 証明書を信頼されたルート証明書に追加
start-sleep 10
$cert = Invoke-Command -ComputerName $GatewayServerName -ScriptBlock {Get-ChildItem Cert:\LocalMachine\My\ |where subject -eq "CN=Windows Admin Center"}
$cert | Export-Certificate -FilePath $env:TEMP\WACCert.cer
Import-Certificate -FilePath $env:TEMP\WACCert.cer -CertStoreLocation Cert:\LocalMachine\Root\
Deploying WAC

3. ドメインコントローラを使用して、Webブラウザを開き、https://wacgwに移動して展開を検証します。 この時点で、最初に定義または共有された資格情報を使用してサインインします。

サインインしたら、ブラウザは WAC の概要ページにリダイレクトされ、そこですべてのオンボード済みシステムのリスト(ステップ4)が表示されます。

Signing in to WAC

4. 現在、ゲートウェイがwacgw.corp.contoso.com [Gateway]として作成されたことを確認してください。以下に示すように。

Verifying the WAC functionality

5. さらに、以下のコードをドメインコントローラ(MSLAB-DC VM)から直接実行して、WAC と Azure Stack HCI ノード間で制約付きKerberos委任を確立します。

このコードにより、リモートサーバに接続する際に資格情報を入力するプロンプトが表示されなくなります。

$GatewayServerName="WACGW"
#リソースベースの制約付き委任を構成
$gatewayObject = Get-ADComputer -Identity $GatewayServerName
$computers = (Get-ADComputer -Filter {OperatingSystem -eq "Azure Stack HCI"}).Name

foreach ($computer in $computers){
    $computerObject = Get-ADComputer -Identity $computer
    Set-ADComputer -Identity $computerObject -PrincipalsAllowedToDelegateToAccount $gatewayObject
}
Setting up Kerberos constrained delegation

Azure Stack HCI クラスタの設定

WACのセットアップが完了したら、肝心な部分に移る準備が整いました。クラスタを作成する準備が整いました。

Azure Stack HCI クラスタの設定:

1. ドメインコントローラの WAC で、「追加」をクリックし、ポップアップウィンドウで「サーバクラスタ」を検索し、「新しいクラスタの作成」をクリックします。

Initiating creating a new cluster

2. 次に、クラスタのタイプとして Azure Stack HCI、サーバの場所として「すべてのサーバを1つのサイトに」を選択し、「作成」をクリックして新しいクラスタを作成します。

Creating the new cluster

3. 「次へ」をクリックして、このステップ(1.1)をスキップしてください。既に必要条件を確認し、Azure Stack HCIの評価シナリオ用にカスタマイズされた環境にいます。

Checking the prerequisites

4. プロンプトが表示されたら、初期に定義/共有された資格情報を使用して入力してください。

Providing credentials

5. クラスタに含めるすべてのサーバ/ノードを追加します。このチュートリアルでは4ノードのデモ環境を使用しています。同等のセットアップを行っている場合、4つのノードも追加する必要があります。

以下に示すノードを1つずつ入力し、それぞれに「追加」をクリックしてください。

# ホストリスト
azshci1.Corp.contoso.com
azshci2.Corp.contoso.com
azshci3.Corp.contoso.com
azshci4.Corp.contoso.com

ノードを追加したら、「次へ」をクリックして続行します。

A green check mark appears if the node was found successfully, as shown below.

Adding nodes

6. 次に、このステップ(1.3)をスキップするために「次へ」をクリックしてください。すべてのノードはすでに事前にプロビジョニングされたドメインのメンバーです。

Skipping joining a domain

7. すべてのノードに必要なコンポーネントをインストールするために、「機能のインストール」をクリックしてください。

Installing features to all nodes

以下は、インストールされる機能のリストです。

Verifying the features to be installed

Hyper-Vに対して「未インストール」の警告が表示されましたか?続けて読んで、その修正方法を確認してください。

すべてが正常にインストールされたときには、追加されたノードの横に緑のチェックマークが表示されます。

Getting bugs on features installation

8. 次のコマンド(ドメインコントローラ上)を実行して、「未インストール」エラーを修正してください。このコマンドは、利用可能なすべてのノードに不足している機能(Hyper-V)をインストールします。

$Servers="AzSHCI1","AzSHCI2","AzSHCI3","AzSHCI4"
Invoke-Command -ComputerName $Servers -ScriptBlock {Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -Online -NoRestart}
Enabling Hyper-V on all nodes

すべてがうまくいけば、次のメッセージが表示されます。

A restart is not required at this point but will be performed later.

Enabling Hyper-V

9. WACに戻り、「更新」をクリックしてすべての機能がインストールされているか確認してください。それであれば、「次へ」をクリックして続行します。

Verifying installed features

10. 保留されている更新をチェックし、それらをインストールするために更新ボタンをクリックします。

Installing updates

各ノードに更新配布の通知が表示されます。

Verifying deployment information for each node

11. すべてのノードが更新され、準備完了モードになった後、次に進むには次へをクリックします。

Verifying all updates are installed

12. 統合システムがない場合(仮想化されたテストラボのみ)、次をクリックして続行します。統合システムとは、特定のベンダー(HPE、Dellなど)によって作成され、Azure Stack HCIオペレーティングシステムを実行するように明示的に設計された事前構成されたシステムです。

現在、利用可能なハードウェアの更新をチェックして実行されますが、結果はありません。

Skipping installing hardware updates

13. すべてのインストールが完了した後、すべてのノードを再起動するには、サーバーの再起動をクリックします。

Restarting all nodes

14. すべてのノードが準備完了モードになった後、次へをクリックします。

Verifying all nodes are running (in Ready mode)

15. ホストネットワーキングを展開および管理する方法を選択します。次に進むための2つのオプションが利用可能です。ただし、このチュートリアルでは、ホストネットワーキングの手動構成オプションを選択し、次:ネットワーキングをクリックしてください。

Choosing how to deploy and manage host networking

ホストネットワーキングの構成

初期部分を完了し、クラスターの設定のすべての前提条件を満たしました。ただし、ネットワーキングのすべての側面を考慮する必要があります。

1. ネットワーキングの下で、自動ネットワーク検証チェックが完了するのを待ち、次へをクリックして続行します。

Verifying network adapters

2. トラフィック管理に使用するネットワークアダプターを選択します。単一のネットワークアダプターまたは複数のネットワークアダプターをチーム化します。

ただし、2つのネットワークアダプタを接続しているため、各ノードの対応するアダプタと Two physical network adapters teamed for management オプションを選択してください。

Selecting network adapters to use for each node

3. すべてのネットワークアダプタを選択したら、選択したネットワークアダプタをテストするために Apply and test をクリックしてください。

Testing network adapters

プロンプトが表示されたら、Yes をクリックしてチーム化されたアダプタを作成してください。

Confirming creating a teamed adapter

4. 変更が正常に適用されるまで待機し、以下に示すように Next をクリックして続行してください。

Verifying changes made to selected network adapters

5. 仮想スイッチでは、最初の利用可能なオプション(computeとstorageを一緒にするための仮想スイッチを1つ作成する)を選択し、次へをクリックしてください。

このオプションを選択すると、通常は仮想スイッチを介してルーティングされるcomputeおよびstorageトラフィックが処理されます。

Creating a virtual switch

6. 仮想環境が Remote Direct Memory Access(RDMA)をサポートしていないため、次へをクリックして続行してください。

Skipping setting up RDMA

7. 各ノードのストレージおよびcomputeトラフィックのネットワークパラメータを定義してください。

# ネットワークの定義

# azshci1.Corp.contoso.com
SMB01 | 172.16.1.1 | 24 | 1
SMB02 | 172.16.1.2 | 24 | 1

# azshci2.Corp.contoso.com
SMB01 | 172.16.1.3 | 24 | 1
SMB02 | 172.16.1.4 | 24 | 1

# azshci3.Corp.contoso.com
SMB01 | 172.16.1.5 | 24 | 1
SMB02 | 172.16.1.6 | 24 | 1

# azshci4.Corp.contoso.com
SMB01 | 172.16.1.7 | 24 | 1
SMB02 | 172.16.1.8 | 24 | 1

定義したら、各ネットワークパラメータをチェックするために Apply and test をクリックしてください。

Defining network parameters

8. すべてのチェックが完了するのを待ち、以下に示すように、次に進むために[次へ]:クラスタリングをクリックしてネットワーキングの設定を完了してクラスタに進んでください。

Verifying networks

クラスタの検証と作成

これまで、必要な準備のみを行ってきました。今度は、クラスタの検証と実際のクラスタの作成に取り組みます。

1. クラスタの検証ページで、すべての前提条件が満たされているかどうかを確認するには、[検証]をクリックします。

Validating cluster

検証プロセスは以下に示されており、完了には時間がかかります。

Verifying validation in progress

2. 検証が完了したら、[次へ]をクリックして続行します。

警告は通常無視でき、クラスタの作成をブロックすべきではありません。

Ignoring warnings and continuing with creating the cluster

3. 次のクラスタ名(AzSHCI-Cluster)とクラスタに割り当てるIP(10.0.0.111)を割り当て、[クラスタの作成]をクリックして新しいクラスタを作成します。

Creating the cluster

以下に示されているように、クラスタの作成が進行中です。

Verifying the cluster creation is in progress

4. クラスタが作成されたら、[次へ:ストレージ]をクリックしてクラスタのストレージ設定を続行します。

Proceeding to storage settings

クラスタのストレージの設定

クラスタを作成した後、適切なストレージシステムを作成してワークロードを提供する必要があります。これには、ハードディスクの準備が必要であり、Storage Space Direct(S2D)を有効にする必要があります。

1. ストレージタブの下にある[ドライブの消去]をクリックして、すべての既存データを消去し、クリーンで空のシステムから始めることができます。

Erasing drives

プロンプトが表示されたら、[ドライブの消去]をクリックしてドライブの消去の操作を確認します。

Confirming drives erasure

2. 消去が完了したら、[次へ]をクリックして続行します。

Continuing after drives erasure

3. 以下に示す利用可能でアクセス可能なドライブとその互換性の確認をチェックし、次へをクリックしてください。

ストレージは、Storage Space Direct(S2D)の操作に適しているかどうか検証されました。

Viewing available drives

4. 今、Storage Space Direct(S2D)の操作のためのストレージ検証プロセスが完了するまでお待ちください。そして、次へをクリックしてください。

Validating storage

5. クラスターのS2Dを有効にするために、有効にするボタンをクリックしてください。

S2Dのプロビジョニングには時間がかかることに注意してください。

Enabling Storage Spaces Direct

6. S2Dを有効にした後、次のSDNをクリックしてください。

Continuing to Software Defined Network (SDN)

7. ソフトウェア定義ネットワーク(SDN)インフラのセットアップをバイパスするために、スキップをクリックしてください。

SDNは非常に複雑なトピックです そして、このチュートリアルではカバーできません。したがって、簡単のためにこの構成をスキップします。

Skipping setting up SDN

8. 接続リストに移動してクラスターで利用可能なすべての接続にアクセスするために、接続リストに移動をクリックしてください。以下の出力は、クラスターが使用可能であることを示しています。

Accessing all available connections for the cluster

9. 最後に、クラスターの情報を表示するために、サーバークラスターオブジェクト(azshci-cluster.corp.contoso.com)をクリックしてください。

Accessing the newly-created server cluster

以下は、クラスターの健康情報が表示されるダッシュボードです。

Viewing the cluster’s health information

結論

A properly working test lab is essential before deciding to purchase or integrate a product into operations, especially if the necessary expenses will be relatively high. And in this tutorial, you have learned how to set up an Azure Stack HCI testing environment.

この時点から、Azure Stack HCIの利用可能な機能を探索してみてはいかがでしょうか?適切なハードウェアを心配する必要はありません。

Source:
https://adamtheautomator.com/azure-stack-hci/