2022年12月17日土曜日

Azure CLIのプロキシ設定

プロキシ設定なしの環境でしたが、ちゃんとプロキシ設定を調べる必要が出ました。

結論としては、PowerShellやコマンドプロンプトのプロキシ設定と同じ環境変数に定義すればよいそうです。

Azure CLI を正しく使用するためのヒント プロキシの背後での処理

Azure ライブラリ用にプロキシを構成する方法 CLI から

変数の取り扱いは、PowerShellがやりやすいと感じていることもあり、下記のような感じで設定と確認することとしました。

$env:HTTP_PROXY="http://プロキシサーバー:ポート番号"
$env:HTTPS_PROXY="http://プロキシサーバー:ポート番号"
get-childitem env:HTTP_PROXY
get-childitem env:HTTPS_PROXY

2022年12月13日火曜日

AKS on Azure Stack HCI構成時、netsh winhttp set proxyのバイパス指定を気をつけないと、WinRMの通信がうまくいかない

以前、AKS on Azure Stack HCIを構成した時は、Proxy無しでした。

Proxy有りのケースで構成していたら、

Initialize-AksHciNode

でエラーになりました。。。

Test-WSManを実行してみると、ホスト名のみの場合でエラーになると判明しました。

この後、netsh winhttp set proxyのコマンドラインサンプルをいくつかみていたら、<local>があることを思い出した。

もしやと思って、まずnetsh winhttp set proxyを再実行しました。

Initialize-AksHciNodeを再実行しました。


うまくいきました。また一つ勉強になりました。つまり、

netsh winhttp set proxy Proxy:portnumber "<local>;localhost;*.お使いのドメイン名"

をベースにしないとダメですね。

Azure Stack HCIクラスターのプロキシ設定

Azure Stack HCI OSによるAzure Stack HCIクラスターでのプロキシサーバー設定について、まとめます。

を踏まえると、Azure Stack HCIクラスターに関連するプロキシ設定は、下記になります。

  • OSのプロキシ設定
    WinRMやWindows Updateでも使われる netsh winhttp set proxy
  • Azure Arcエージェントのプロキシ設定
    Azure Arc対応サーバーでの設定例にまとめました。
  • Azure Stack HCIのプロキシ設定
  • Azure Stack HCIと関連するWindows Admin Centerのプロキシ設定
  • WAC向けハードウェア製品用拡張のプロキシ設定

ここでは、Azure Stack HCIのプロキシ設定を振り返ります。

プロキシ サーバーを設定する

に基づきつつ、WinInetProxyモジュールをインストールしようとするが、エラーばかりで一向に進みませんでした。

環境変数にプロキシ設定しつつTLS 2にしてもダメ。

Install-Module自体へプロキシ設定を追加したけど、ダメ。

いろいろ調べたところ、PowerShell 7だとInstall-Moduleが成功することがあるようです。

ということで、PowerShell 7をAzure Stack HCI OSの各ノードへ導入しました。

WinInetProxyモジュールをインストールしたところ、成功しました!

Azure Stack HCIのプロキシ設定を行いました。
-ProxyBypass オプションでバイパスリストを追記できます。

Windows Admin CenterからAzureへの再同期します。

Azure Portalでも再同期できたことを確認しました!

WinInetProxyモジュールのインストールには、注意してくださいね。

2022年12月10日土曜日

Windows Admin Center 2211 Public Previewでクラスタマネージャーのツールメニューレイアウトが変わりました

2110.2 GAと比較すると、左側メニューのレイアウトが変わっています。なお項目数は変わっていません。

2110.2 GA

2211 Public Preview


2022/12/20 追記

Cluster Manager 2.159.0からレイアウトが変わったようです。2211 Public PreviewにCluster Manager 2.159.0が含まれておりました。2210.2 GAでCluster Manager 2.159.0をアップデートしたところ、上記のレイアウトに変わったことを確認しました。

2022年12月3日土曜日

Azure Arcエージェントにプロキシ設定を施す

Azure Arc対応サーバーにインストールされているAzure Arcエージェントにプロキシ設定を施します。

プロキシ設定の更新または削除

エージェント固有のプロキシ構成を使えとあるので、そちらで設定します。

プロキシ設定したので、azcmagent checkしています。

再接続するのですが、やはり一度切断しないとダメでした。

azcmagent disconnectします。

azcmagent connectします。

azcmagent showで、プロキシ設定後の再接続を確認できました。



Windows Admin Center 2208 Public Previewと、Windows Admin Center 2211 Public Previewのビルド番号

Windows Admin Center 2208 Public Previewのビルド番号を確認しておきます。

Windows Admin Center 2211 Public Previewのインストールを進めます。

インストールの処理は、大きく変わっていないですね。

Windows Admin Center 2211 Public Previewのビルド番号は、下記のとおりでした。


仮想マシンでCredential Guardを有効化してみる

Credential Guardの要件を整理します。

  • ハードウェアおよびソフトウェアの要件
    から転記します。物理サーバーですが、仮想マシンにも通じるところがあります。
    • 仮想化ベースのセキュリティのサポート (必須)
      • 64 ビット CPU
      • CPU の仮想化拡張機能および Extended Page Tables
      • Windows ハイパーバイザー (Hyper-V Windows 機能をインストールする必要はありません)
        この記載が現仕様とあっていないようです。Windowsハイパーバイザーだけのインストールはできないため、Hyper-Vのインストールが必要だと確認しました。(詳細は後述します)
        Hyper-Vを仮想マシンにインストールするには、仮想マシンに対してNested Hyper-Vを有効化します。
    • セキュア ブート (必須)
      仮想マシンでもセキュアブートは有効化できますね。
    • トラステッド プラットフォーム モジュール (TPM、優先 - ハードウェアへのバインドを提供) バージョン 1.2 および 2.0 がサポートされています (ディスクリートまたはファームウェア)
    • UEFI ロック (推奨 - 攻撃者の単純なレジストリ キー変更による無効化を防ぐ)
  • Hyper-V 仮想マシンで Windows Defender Credential Guard を実行するための要件
    • Hyper-V ホストは IOMMU を備えている必要があり、Windows Server 2016 または Windows 10 バージョン 1607 以降が実行されている必要があります。
      IOMMUに関連する設定としては、Windows Admin Centerで確認できるHyper-Vホストの[DMA保護の起動]があります。ちなみに[DMA保護の起動]が非サポートでも、Credential Guardを有効化できました。
    • Hyper-V 仮想マシンは第 2 世代であることが必要です。また、仮想 TPM が有効になっており、Windows Server 2016 または Windows 10 以降が実行されている必要があります。
      • TPM は要件ではありませんが、TPM を実装することをお勧めします。
        これは仮想TPMを有効にすればよいですね。
Windows Server 2022仮想マシンを例に有効化してみます。
まず上記にある通り、Nested Hyper-V、仮想TPMを有効化しておきます。セキュアブートは、仮想マシン作成時に有効化されていることを確認しておきましょう。

具体的な有効化方法は、Windows Defender Credential Guard を有効にするに準じます。確認した中で最も確認しやすかった、レジストリを使用して Windows Defender Credential Guard を有効化するで有効化してみました。
  1. 仮想マシンでHyper-Vを有効化します。
    [プログラムと機能] を使って仮想化ベースのセキュリティ機能を追加するに準じるのですが、一部手順が異なります。具体的には、Hyper-Vの有効化だけで、[分離ユーザー モード]は有効化しません。というか、[分離ユーザー モード]自体が、統合されているためです。統合化されている旨は、上記リンクのほうに下記文言が記載されています。念のため、引用します。
    Windows 10バージョン 1607 以降では、分離ユーザー モード機能がコア オペレーティング システムに統合されています。 そのため、上記の手順 3 でコマンドを実行する必要はありません。
    Windows Serverの場合、そもそも[分離ユーザー モード]の役割サービスは無いです。つまり選択できないですね。

    2023/02/08 追記 サーバーマネージャーからうまく構成できないときは、仮想マシン内の管理者権限付きPowerShellから下記を実行してみると良いです。
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -NoRestart
    Install-WindowsFeature -Name "Hyper-V" -IncludeManagementTools
    Restart-Computer -Force
  2. レジストリ設定を追加します。
    仮想化ベースのセキュリティと Windows Defender Credential Guard を有効にするに準じます。設定自体は、レジストリエディターで行います。
    1. 仮想化ベースのセキュリティを有効にします。

    2. Windows Defender Credential Guard を有効にします。
      2023/2/8追記 画像では、[セキュア ブート] のみを使用するとして1に設定しています。[セキュア ブートと DMA 保護] を使用するための設定値"3"は、仮想マシンで設定できないです(設定するとCredential Guardが実行できない)。ご注意ください。
    3. Credential Guardの有効化を確認します。
      Windows Defender Credential Guard のパフォーマンスを確認するに準じます。msinfo32.exeを実行しましょう。
      1. レジストリ設定直後の状態です。
      2. レジストリ設定を反映するため、再起動します。
      3. 改めてレジストリ設定を確認します。
        Credential Guardが有効化されていますね。