Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Arc Jumpstart Update - HCIBox Edition

Azure Arc Jumpstart Update - HCIBox Edition

Windows Server & Cloud User Group Japan 第32回勉強会の資料です。
Azure Arc Jumpstart で新しく提供された HCI Box について紹介します。

Kazuki Takai

November 12, 2022
Tweet

More Decks by Kazuki Takai

Other Decks in Technology

Transcript

  1. Azure Arc Jumpstart Update HCIBox Edition SCUGJ (wSCUGJ) 勉強会 #32

    2022-11-12 Kazuki Takai - Windows Server & Cloud User Group Japan
  2. お話しすること • HCIBox について • HCIBox を利用開始するまでの流れ • 以下はお話ししません •

    ArcBox について • 以前の勉強会資料をご確認ください • Azure Arc, Azure Stack HCI そのものについて • Bicep そのものについて
  3. 自己紹介 • たかい (Kazuki Takai) • 会社員 (某ISP勤務) • サービス基盤開発、技術開発

    • ライセンス関連 • wSCUGJ • 興味分野:統合管理、ID、自動化、セキュリティ、監視・運用 • 趣味:カメラ(風景写真)、ビデオゲーム、旅行(温泉) • Microsoft MVP for Cloud and Datacenter Management
  4. 注意点 • 本セッションでは、リリース前の機能についてお話しします • 仕様等が変更となる可能性があります • HCIBox は現時点で Public Preview

    です • 本セッションのサンプルコードは、Bash 上で実行する想定 で記載されています • PowerShell やコマンドプロンプトから実行する場合は、エスケー プ処理などを適切に読み替えてください
  5. Azure Arc Jumpstart HCIBox とは • Azure Stack HCI のお試し環境を

    Azure 上に簡 単に構築する仕組みを提供 • Azure VM 上で Nested virtualization を使用して、 オンプレミス相当の環境を疑似的に構成 • PoC やデモ環境、ハンズオンなどでの利用を想定 https://azurearcjumpstart.io/azure_jumpstart_hcibox/
  6. HCIBox の特徴 • お手軽 • 物理的なハードウェアの準備が不要 • 必要なすべてのリソースは、Azure サブスクリプション の中に作成(したリソース上で稼働)

    • あくまで一時的な検証用 • セキュリティの観点では、目を瞑っていることが多い • Azure サブスクリプションは検証用に(専用に)確保し たほうが良い
  7. HCIBox の構成 ホスト名 役割 jumpstart.local ドメイン参加 親ホスト (稼働ホスト) OS HCIBox-Client

    基盤となる Azure VM ホスト (Azure) Windows Server 2022 AzSHOST1 Azure Stack HCI Node #1 ✔ HCIBox-Client Azure Stack HCI AzSHOST2 Azure Stack HCI Node #2 ✔ HCIBox-Client Azure Stack HCI AzSMGMT 管理系の VM を Nested で動 かすための Hyper-V ホスト HCIBox-Client Windows Server 2022 JumpstartDC Domain Controller ✔ AzSMGMT Windows Server 2022 AdminCenter Windows Admin Center Gateway Server ✔ AzSMGMT Windows Server 2022 Bgp-Tor-Router Remote Access Server AzSMGMT Windows Server 2022
  8. HCIBox の展開に必要なもの • Azure Subscription • Standard DSv4 Family の使用可能コア数が

    16 – 52 以上 • テナントとサブスクリプションを操作可能なアカウント • Azure AD に対してサービスプリンシパルを作成可能 • サブスクリプションの IAM 設定を変更可能 • Az CLI と git コマンドが使用可能な環境 • Azure Cloud Shell • Windows Terminal
  9. 展開可能なリージョン • East US • East US 2 • West

    US 2 • North Europe ※11/11 Public Preview 時点の情報です
  10. 前提条件の確認 • Azure CLI のバージョンが 2.40.0 以上であること • az --version

    • Az CLI にログインしていること • az login • az account show | grep -E '[Nn]ame' | grep -vF '@' • az account set -n "<Subscription Name>" • DSv5-series vCPUs の空きが 48 以上あること • 次頁
  11. vCPU のクォータ・デプロイ可能数の確認 • az vm list-usage --location eastus --query "[?(name.value

    == ¥`cores¥` || name.value == ¥`virtualMachines¥` || name.value == ¥`standardDSv5Family¥`)].{Name:localName, Current:currentValue, Limit:limit}" --output table
  12. リソースプロバイダーの登録 • az provider register --namespace Microsoft.HybridCompute --wait • az

    provider register --namespace Microsoft.GuestConfiguration --wait • az provider register --namespace Microsoft.Kubernetes --wait • az provider register --namespace Microsoft.KubernetesConfiguration --wait • az provider register --namespace Microsoft.ExtendedLocation --wait • az provider register --namespace Microsoft.AzureArcData --wait • az provider register --namespace Microsoft.OperationsManagement --wait • az provider register --namespace Microsoft.AzureStackHCI --wait • az provider register --namespace Microsoft.ResourceConnector --wait
  13. リソースプロバイダーの登録確認 • az provider list --output=table | grep -E '^Microsoft¥.(HybridCompute|GuestConfiguration|Kuber

    netes(Configuration)?|ExtendedLocation|Azure(ArcData |StackHCI)|OperationsManagement|ResourceConnector)'
  14. サービスプリンシパルの作成 • Owner ロールを持つサービスプリンシパルを作成 • spName="SCUGJ32-JumpstartHCIBox" • az ad sp

    create-for-rbac -n $spName --role "Owner" -- scopes /subscriptions/$(az account show --query id -- output tsv) appId, password, tenant は使うのでメモ
  15. デプロイパラメーターファイルの修正 • Bicep のパラメータファイルを編集 • cd ./azure_arc/azure_jumpstart_hcibox/bicep/ • vi main.parameters.json

    • 最低限、作成したサービスプリンシパルの情報を設定 • spnClientId • spnClientSecret • spnTenantId
  16. デプロイパラメーターファイルの修正 パラメーター名 設定する値 spnClientId サービスプリンシパルの ID (appId) spnClientSecret サービスプリンシパルのシークレット (password)

    spnTenantId サービスプリンシパルを作成した Azure AD のテナント ID (tenant) windowsAdminUsername デプロイする Windows VM の管理者アカウント名 windowsAdminPassword 上記管理者アカウントのパスワード logAnalyticsWorkspaceName この環境用に新規にデプロイする Log Analytics ワークスペースの名前 deployBastion デプロイする VM へ Bastion 経由で接続を行う場合は true VM の Global IP Address を指定して直接 RDP 接続する場合は false
  17. デプロイ • Bicep を使用してデプロイを実施 • rgName="SCUGJ32-HCIBox" • az group create

    --name $rgName --location eastus • az deployment group create -g $rgName -f "main.bicep" -p "main.parameters.json"
  18. デプロイ後の自動処理 • デプロイ完了後、HCIBox-Client へログオン • パラメーターとして指定したユーザーとパスワードを使用 • Global IP 経由で接続する場合、NSG

    の設定変更が必要 • HCIBox-NSG で RDP のインバウンド接続を許可 • ログオンすると PowerShell Script が実行される • 完了するまで待つ(3~4時間程度!) • デスクトップ背景が変更されたら完了
  19. デプロイ後の自動処理(補足) • 現時点では、Azure Stack HCI クラスターリソースを East US リージョンへ登録しようとする •

    Post deployment script の中にハードコーディングされている • East US にリソースを作成できない場合、デプロイに失敗する • 現時点では、Post deployment の中で、Arc-enabled server リソース用のリソースグループが新規作成される • Register-AzStackHCI の制約により、HCI Cluster とクラスター上の Arc-enabled server を同一のリソースグループに混在できないため • サービスプリンシパルにリソースグループの作成権限がないと、デプロ イに失敗する
  20. HCIBox-Client 上に生成される VM • Azure Stack HCI 用の VM (2台)

    • AzSHOST1 • AzSHOST2 • 管理用の VM (1台) • AzSMGMT
  21. ハマるかもしれないポイント • Cloud Shell で az ad コマンドを実行するとエラーになる • Failed

    to connect to MSI. Please make sure MSI is configured correctly. Get Token request returned: <Response [400]> • おそらくバグです • (本来必要ないですが)明示的に az login してください • https://github.com/Azure/azure- cli/issues/11749#issuecomment-570975762
  22. まとめ • HCIBox を使うとお手軽に PoC 環境を作成可能 • ハードウェアが無くても Azure Stack

    HCI 環境を お試しできるので便利 ※お金はかかります • Azure デプロイ後の初期構成に結構時間がかかる ので注意
  23. 参考資料 • Azure Arc Jumpstart • https://azurearcjumpstart.io/ • Azure Arc

    Jumpstart HCIBox • https://azurearcjumpstart.io/azure_jumpstart_hcibox/