Azure Arc Automanage
Machine Configuration
による構成の管理と適用
SCUGJ (wSCUGJ) 勉強会 #34 2023-03-18
Kazuki Takai
Windows Server & Cloud User Group Japan
お話しすること
• PowerShell DSC のおさらい
• Azure Automation State Configuration と
Azure Automanage マシン構成の違い
• Azure Automanage マシン構成で利用可能な
リソースとパッケージの作成方法
• Azure Arc 対応サーバーに対するマシン構成
の適用
自己紹介
• たかい (Kazuki Takai)
• 会社員 (某ISP勤務)
• サービス基盤開発、技術開発
• ライセンス関連
• wSCUGJ (Windows Server & System Center User Group Japan)
• 興味分野:統合管理、ID、自動化、セキュリティ、監視・運用
• 趣味:カメラ(風景写真)、ビデオゲーム、旅行(温泉)
• Microsoft MVP for Cloud and Datacenter Management
Notice
• 本セッションで説明する内容には、
リリース前の機能が含まれます
• サービスのリリース、リリース後
のエンハンスにより仕様や動作が
変更となる場合があります
おさらい
Recap: PowerShell Desired State Configuration
DSC とは
• PowerShell で利用できる
• サーバーの設定ができる
• Chef や Ansible みたいなやつ
※細かいところはそれなりに違います
DSC とは
• Desired State Configuration
• 構成管理プラットフォーム
• 構成(Configuration)を特定の状態に保ち続ける
ための仕組み
• あるべき状態を定義
• 定義に基づいて設定を変更
• 定期的に設定をチェックし正しい状態を維持
Infrastructure as Code
• インフラの構成をコード化して管理
• コード化することで、管理・自動化が容易
• 構成変更 = コードの変更
• ソフトウェア開発のナレッジやツールを適用可能
Infrastructure as Code
• Infrastructure as Code (狭義の)
• インフラ(ファブリック)の定義をコード化して管理・自動構成
• Azure Resource Manager, Chef Provision, etc…
• Configuration as Code
• ファブリック上で動作する環境(OS、ミドルウェア、アプリ
ケーションなど)の構成、設定をコード化して、管理・自動構成
• DSC, Ansible, etc…
DSC のメリット
• 構成が管理されている
• あるべき状態が定義されている
• 定義が表現されている
• 構成を担保できる
• あるべき状態に保つ(保ち続ける)
• 必ず「定義された状態」になる(オペミスしない)
• 構成状態をレポートできる
DSC の構成要素
※旧来の(オンプレミスのみで実現する)DSC
DSC の構成要素
• Configuration
• 「あるべき姿」を定義したもの(PS Script -> MOF)
• Resource
• 構成(操作)対象を実際に操作するために必要なもの
• Local Configuration Manager (LCM)
• MOF と Resource を使用して構成(変更)を実施
• Pull サーバー (コントローラー、管理マネージャー)
• LCM からの要求を受け、MOF およびリソースを応答
• LCM からのレポートを受信(レポートサーバー)
ローカル構成マネージャー
• LCM : Local Configuration Manager
• ノード構成ファイル(MOF)を解釈して構成を変更
• 構成モード
• ApplyOnly : 構成を一度のみ適用し、後の変更は追跡しない
• Audit : 定義された状態になっているか確認、追跡する
• ApplyAndMonitor : 構成を適用後、変更を追跡する
• ApplyAndAutoCorrect : 構成を適用後変更を追跡し、ずれが生
じた場合は自動修正する
Push と Pull
• Push モデル
• ターゲットへ構成ファイルを送信して構成を実施
• Push されたタイミングで 1 回のみ実行
• Pull モデル
• ターゲットノードが Pull サーバーから構成ファイルを
取得して構成を実施
• DSC Pull サーバー側へ状態レポートを送信
Ansible と DSC の違い
Ansible DSC
構成の記述 Playbook Configuration
記述方式 宣言的 宣言的
記述言語 YAML PowerShell
リモート構成 可能 可能
接続プロトコル SSH HTTPS (Pull), PSRP (Push)
接続方向 Controller -> Target (Push)
Target -> Controller (Pull)
Controller -> Target (Push)
Agent 不要 DSC 用の LCM が必要
構成の監視 - Pull モード時はオン
変更トリガー 通常は手動 自動及び手動
Pull Services (Pull Server)
• Pull サービス
• Pull モデルにおける管理サーバー的な役割を果たすもの
• Configuration と Resource を配布
• 現在利用可能な Pull サービス
• Azure Automanage Machine Configuration (マシン構成)
• Azure Automation State Configuration
• Windows PowerShell DSC Service on Windows Server
• これが所謂 DSC Pull Server
• Community maintained open source solutions
Main Topic
最近の DSC (Desired State Configuration with PS7)
Azure Automanage マシン構成
Azure Arc VM への適用
PowerShell 7.2 以降における DSC
• PowerShell 7.2 以降 DSC は PS 本体から分離
• PowerShell 本体のサイズを減らすため
• それ以前も、DSC Resource は PowerShell 本体とは
異なるリリースサイクルだった
• PowerShell 7.2 以降で DSC を利用する場合
• 明示的に PSDesiredStateConfiguration モジュール
のインストールが必要
Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery
DSC のバージョン
• Windows PowerShell 5.1 向け
• Desired State Configuration v1.1
• PowerShell 7 (PowerShell Core)向け
• Desired State Configuration v2.0
• Desired State Configuration v3.0 Preview
Desired State Configuration v1.1
• Windows PowerShell 5.1 にバンドルされている DSC
• オーサリング、動作には WMF 5.1 が必要
• Windows 用の LCM は Windows PowerShell 5.1 にバンドル
• Windows PowerShell 5.1 がインストールされていれば基本的
に利用可能
• Linux へ構成を適用する場合は OMI と xResource を使用
• Push と Pull の両方が可能
• Windows Server の機能として Pull Service を構成可能
Desired State Configuration v2.0
• PowerShell 本体から分離された DSC
• PSDesiredStateConfiguration モジュールとして利用可能
• Azure Automanage マシン構成(Azure Policy)で利用可能
• 基本的には v3.0 を使用
• 基本的に Pull モデルで利用
• Start-DscConfiguration コマンドレット等は削除
• インストール可能な Pull Services の提供は無い
• Azure Automation や Azure Policy 等を使用
• DSC 自体には LCM の機能が含まれていない
• 別のエージェントや VM 拡張機能等を LCM として利用
Desired State Configuration v3.0
• Desired State Configuration v2.0 の後継
• 現時点では Preview
• Azure Automanage マシン構成(Azure Policy)で利用可能
• Linux も構成対象として利用可能
• MOF ベースの DSC リソースは廃止
• PowerShell クラスベースの DSC リソースのみ利用可能
どの DSC version を使用するか
• Azure Automanage マシン構成で管理したい
• 管理対象は Linux ⇒ DSC v3.0(Preview)
• 管理対象が Windows ⇒ DSC v2.0 以降 ※可能なら DSC v3.0
• Azure Automation で管理したい
• 使いたい DSC Resource が PS Core 対応済 ⇒ DSC v2.0
• 使いたい DSC Resource が Win PS 依存 ⇒ DSC v1.1
• WS DSC Pull Server で管理したい ⇒ DSC v1.1
• Windows ローカルで Push したい ⇒ DSC v1.1
仮想マシンに対する DSC 構成の適用
• Azure 仮想マシンに対して、Azure のサービスや
機能を使用して DSC 構成を管理・適用する方法
は大きく2種類
• Azure Automation State Configuration
• Azure Automanage マシン構成
Azure Automation State Configuration
• Azure Automation の機能
• Azure Automation DSC (AADSC)とも表記される
• Azure Automation が Pull Services として動作
• (必要であれば)追加の DSC リソースを登録
• 構成ファイル(スクリプト)を登録
• Azure Automation 側で構成をコンパイル
• ターゲットノードを Azure Automation に登録
• 構成をノードに関連付けて構成、モニタリング
Azure Automation State Configuration
Azure Automation State Configuration
• 構成方法の詳細は第19回 SCUGJ 勉強会の資料を
参照(2018年2月)
• https://www.slideshare.net/kazukitakai/dsc-
88799528
Azure Automanage マシン構成
• Azure Policy Guest Configuration から名称変更
https://techcommunity.microsoft.com/t5/azure-governance-and-management/coming-soon-guest-configuration-renames-to-machine-configuration/ba-p/3474116
Azure Automanage マシン構成
• Azure Automanage Machine Configuration
• Azure 仮想マシンと Azure Arc 対応サーバーに対する
構成管理・構成適用が可能
• Azure Policy 経由での適用が可能
• ターゲットノード単位での適用も可能
• 状態(準拠しているかどうか)の確認が可能
• ターゲットに対して複数の構成を同時に割り当て可能
マシン構成を適用する流れ
1. マシン構成の有効化(ターゲットの準備)
2. DSC リソースの用意
3. 構成(Configuration)の作成とコンパイル
4. ゲスト構成パッケージの作成
5. ゲスト構成パッケージのテスト
6. ゲスト構成パッケージの配置
7. マシン構成の適用
ゲスト構成パッケージ
• Zip 圧縮されたファイル
• 内容
• コンパイル済みの MOF
• 構成(Configuration)をコンパイルしたもの
• 構成用のメタデータ
• 必要となる DSC リソース モジュール
※作成方法は後述
マシン構成の有効化(前提条件)
• Microsoft.GuestConfiguration リソースプロバイダーが有効
• Azure VM の場合
• マシン構成拡張機能が有効
• Azure Automanage Machine Configuration extension for Windows
• Azure Automanage Machine Configuration extension for Linux
• マネージド ID が有効
• Arc 対応サーバーの場合特になし
• Azure Arc-enabled servers agent (Machine Connected Agent)のみ
マシン構成拡張機能(Azure VM)
(参考)DSC 拡張機能(Azure VM)
• 以下は Azure Automanage マシン構成用の拡張
機能ではないので注意
• DSC 拡張機能を使うと Push で1回のみ、DSC 構成を
適用可能
サポートされるターゲット OS
Publisher Name Versions
Amazon Linux 2
Canonical Ubuntu Server 14.04 - 20.x
Credativ Debian 8 - 10.x
Microsoft Windows Server 2012 - 2022
Microsoft Windows Client Windows 10
Oracle Oracle-Linux 7.x-8.x
OpenLogic CentOS 7.3 -8.x
Red Hat Red Hat Enterprise Linux* 7.4 - 8.x
SUSE SLES 12 SP3-SP5, 15.x
ネットワーク要件
• Azure サービスエンドポイントへの Outbound
443/tcp の通信が許可されていること
• 具体的な通信先は以下を参照
• https://learn.microsoft.com/ja-
jp/azure/governance/machine-configuration/overview
マシン構成の作成・テスト環境の準備
• 作成環境
• Windows (推奨)(Linux だとハマるかも)
• PowerShell 7.3 をインストール
• Install-Module -Name GuestConfiguration
• Install-Module -Name PSDesiredStateConfiguration -AllowPrerelease
• テスト環境
• Windows or Ubuntu18 (最終的に構成適用する OS 種別に合せる)
• PowerShell 7.3 をインストール
• Install-Module -Name GuestConfiguration
DSC リソースの準備
• マシン構成ではクラスベースの DSC リソースのみ利用可能
• (現時点では)既存リソースの多くが対応できていない
• 必要があれば DSC リソース(モジュール)を記述
• リソースクラスを持つ
• Get, Set, Test メソッドを持つ
• Reason クラスを持つ
クラスベースの DSC リソース
• Modules フォルダー内にモジュール名のフォルダーを作成
• リソースクラスを記述したコードと定義を配置
• 作成したリソースは、構成内で Import-DscResource を使
用して読み込み
構成(Configuration)の記述
• Configuration キーワードを用いて構成を作成
• 記述方法は今までの DSC と同様
Configuration SCUGJWindowsBaseConfiguration {
Import-DscResource -ModuleName Scugj34SampleDscResource -Name SCUGJFile
Node SCUGJ34WindowsBaseConfig {
SCUGJFile WelcomeFile {
path = "C:¥SCUGJ34-Demo.txt"
ensure = "Present"
content = "Welcome to SCUGJ34 !!`nCustom DSC Resource: SCUGJFile"
}
}
}
ゲスト構成パッケージの作成
• コマンドを使用してパッケージを作成
• New-GuestConfigurationPackage
• Name : 構成パッケージの名前
• Configuration : MOF ファイルを指定
• Type : 監査のみか、設定の適用も行うか
• Path : 出力先(省略するとカレントディレクトリ)
• パッケージサイズの制限 : 100MB 以下
ゲスト構成パッケージのテスト
• Get-GuestConfigurationPackageComplianceStatus
• テストマシン上の現在の状態と構成パッケージで定義された状
態を比較し、準拠しているかどうかを返す
• Start-GuestConfigurationPackageRemediation
• テストマシン上に構成を適用する
• 実行には管理者権限が必要
• Windows の場合は管理者権限を持つ PowerShell セッション
• Linux の場合は PowerShell を sudo で実施
ゲスト構成パッケージの公開
• HTTPS で構成パッケージが取得可能な場所に、
テスト済みの構成パッケージを配置
• Azure Blob Storage へ配置することを推奨
構成の適用
• Portal または ARM
テンプレートから適用
構成の取得と検証
• マシン構成エージェントによる構成の取得
• 5分ごと
• 取得した構成通りの設定となっているかの検証
• 15分ごと
• 複数の構成を割り当てている場合、シリアルに処理
• 構成エージェントが利用可能な CPU リソース
• 5% 以下に制限
Demo
• デモで使用したコマンドのチートシートやサンプルは
以下で公開します
• https://github.com/k-
takai/Demo/tree/master/20230318-SCUGJ34
まとめ
• Azure Automanage マシン構成を使用して Azure
Arc 対応サーバーも構成の適用・管理が可能
• Preview なのでリソースが整備されていないが、
動作の確認は可能
• 使ってみて、何かあればフィードバックを
参考資料
• PowerShell Desired State Configurationの概要
• Azure Automanage マシン構成のドキュメント
• Azure Automanage のマシン構成機能の概要
• マシン構成の作成環境の設定方法
• カスタム マシン構成パッケージの成果物の作成方法
• マシン構成パッケージの成果物をテストする方法
• カスタム マシン構成パッケージの成果物の公開方法
• Writing DSC Resources for Azure Policy Guest Configuration - For Linux! by
Gael Colas

Azure Arc Automanage Machine Configuration による構成の管理と適用

  • 1.
    Azure Arc Automanage MachineConfiguration による構成の管理と適用 SCUGJ (wSCUGJ) 勉強会 #34 2023-03-18 Kazuki Takai Windows Server & Cloud User Group Japan
  • 2.
    お話しすること • PowerShell DSCのおさらい • Azure Automation State Configuration と Azure Automanage マシン構成の違い • Azure Automanage マシン構成で利用可能な リソースとパッケージの作成方法 • Azure Arc 対応サーバーに対するマシン構成 の適用
  • 3.
    自己紹介 • たかい (KazukiTakai) • 会社員 (某ISP勤務) • サービス基盤開発、技術開発 • ライセンス関連 • wSCUGJ (Windows Server & System Center User Group Japan) • 興味分野:統合管理、ID、自動化、セキュリティ、監視・運用 • 趣味:カメラ(風景写真)、ビデオゲーム、旅行(温泉) • Microsoft MVP for Cloud and Datacenter Management
  • 4.
  • 5.
  • 6.
    DSC とは • PowerShellで利用できる • サーバーの設定ができる • Chef や Ansible みたいなやつ ※細かいところはそれなりに違います
  • 7.
    DSC とは • DesiredState Configuration • 構成管理プラットフォーム • 構成(Configuration)を特定の状態に保ち続ける ための仕組み • あるべき状態を定義 • 定義に基づいて設定を変更 • 定期的に設定をチェックし正しい状態を維持
  • 8.
    Infrastructure as Code •インフラの構成をコード化して管理 • コード化することで、管理・自動化が容易 • 構成変更 = コードの変更 • ソフトウェア開発のナレッジやツールを適用可能
  • 9.
    Infrastructure as Code •Infrastructure as Code (狭義の) • インフラ(ファブリック)の定義をコード化して管理・自動構成 • Azure Resource Manager, Chef Provision, etc… • Configuration as Code • ファブリック上で動作する環境(OS、ミドルウェア、アプリ ケーションなど)の構成、設定をコード化して、管理・自動構成 • DSC, Ansible, etc…
  • 10.
    DSC のメリット • 構成が管理されている •あるべき状態が定義されている • 定義が表現されている • 構成を担保できる • あるべき状態に保つ(保ち続ける) • 必ず「定義された状態」になる(オペミスしない) • 構成状態をレポートできる
  • 11.
  • 12.
    DSC の構成要素 • Configuration •「あるべき姿」を定義したもの(PS Script -> MOF) • Resource • 構成(操作)対象を実際に操作するために必要なもの • Local Configuration Manager (LCM) • MOF と Resource を使用して構成(変更)を実施 • Pull サーバー (コントローラー、管理マネージャー) • LCM からの要求を受け、MOF およびリソースを応答 • LCM からのレポートを受信(レポートサーバー)
  • 13.
    ローカル構成マネージャー • LCM :Local Configuration Manager • ノード構成ファイル(MOF)を解釈して構成を変更 • 構成モード • ApplyOnly : 構成を一度のみ適用し、後の変更は追跡しない • Audit : 定義された状態になっているか確認、追跡する • ApplyAndMonitor : 構成を適用後、変更を追跡する • ApplyAndAutoCorrect : 構成を適用後変更を追跡し、ずれが生 じた場合は自動修正する
  • 14.
    Push と Pull •Push モデル • ターゲットへ構成ファイルを送信して構成を実施 • Push されたタイミングで 1 回のみ実行 • Pull モデル • ターゲットノードが Pull サーバーから構成ファイルを 取得して構成を実施 • DSC Pull サーバー側へ状態レポートを送信
  • 15.
    Ansible と DSCの違い Ansible DSC 構成の記述 Playbook Configuration 記述方式 宣言的 宣言的 記述言語 YAML PowerShell リモート構成 可能 可能 接続プロトコル SSH HTTPS (Pull), PSRP (Push) 接続方向 Controller -> Target (Push) Target -> Controller (Pull) Controller -> Target (Push) Agent 不要 DSC 用の LCM が必要 構成の監視 - Pull モード時はオン 変更トリガー 通常は手動 自動及び手動
  • 16.
    Pull Services (PullServer) • Pull サービス • Pull モデルにおける管理サーバー的な役割を果たすもの • Configuration と Resource を配布 • 現在利用可能な Pull サービス • Azure Automanage Machine Configuration (マシン構成) • Azure Automation State Configuration • Windows PowerShell DSC Service on Windows Server • これが所謂 DSC Pull Server • Community maintained open source solutions
  • 17.
    Main Topic 最近の DSC(Desired State Configuration with PS7) Azure Automanage マシン構成 Azure Arc VM への適用
  • 18.
    PowerShell 7.2 以降におけるDSC • PowerShell 7.2 以降 DSC は PS 本体から分離 • PowerShell 本体のサイズを減らすため • それ以前も、DSC Resource は PowerShell 本体とは 異なるリリースサイクルだった • PowerShell 7.2 以降で DSC を利用する場合 • 明示的に PSDesiredStateConfiguration モジュール のインストールが必要 Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery
  • 19.
    DSC のバージョン • WindowsPowerShell 5.1 向け • Desired State Configuration v1.1 • PowerShell 7 (PowerShell Core)向け • Desired State Configuration v2.0 • Desired State Configuration v3.0 Preview
  • 20.
    Desired State Configurationv1.1 • Windows PowerShell 5.1 にバンドルされている DSC • オーサリング、動作には WMF 5.1 が必要 • Windows 用の LCM は Windows PowerShell 5.1 にバンドル • Windows PowerShell 5.1 がインストールされていれば基本的 に利用可能 • Linux へ構成を適用する場合は OMI と xResource を使用 • Push と Pull の両方が可能 • Windows Server の機能として Pull Service を構成可能
  • 21.
    Desired State Configurationv2.0 • PowerShell 本体から分離された DSC • PSDesiredStateConfiguration モジュールとして利用可能 • Azure Automanage マシン構成(Azure Policy)で利用可能 • 基本的には v3.0 を使用 • 基本的に Pull モデルで利用 • Start-DscConfiguration コマンドレット等は削除 • インストール可能な Pull Services の提供は無い • Azure Automation や Azure Policy 等を使用 • DSC 自体には LCM の機能が含まれていない • 別のエージェントや VM 拡張機能等を LCM として利用
  • 22.
    Desired State Configurationv3.0 • Desired State Configuration v2.0 の後継 • 現時点では Preview • Azure Automanage マシン構成(Azure Policy)で利用可能 • Linux も構成対象として利用可能 • MOF ベースの DSC リソースは廃止 • PowerShell クラスベースの DSC リソースのみ利用可能
  • 23.
    どの DSC versionを使用するか • Azure Automanage マシン構成で管理したい • 管理対象は Linux ⇒ DSC v3.0(Preview) • 管理対象が Windows ⇒ DSC v2.0 以降 ※可能なら DSC v3.0 • Azure Automation で管理したい • 使いたい DSC Resource が PS Core 対応済 ⇒ DSC v2.0 • 使いたい DSC Resource が Win PS 依存 ⇒ DSC v1.1 • WS DSC Pull Server で管理したい ⇒ DSC v1.1 • Windows ローカルで Push したい ⇒ DSC v1.1
  • 24.
    仮想マシンに対する DSC 構成の適用 •Azure 仮想マシンに対して、Azure のサービスや 機能を使用して DSC 構成を管理・適用する方法 は大きく2種類 • Azure Automation State Configuration • Azure Automanage マシン構成
  • 25.
    Azure Automation StateConfiguration • Azure Automation の機能 • Azure Automation DSC (AADSC)とも表記される • Azure Automation が Pull Services として動作 • (必要であれば)追加の DSC リソースを登録 • 構成ファイル(スクリプト)を登録 • Azure Automation 側で構成をコンパイル • ターゲットノードを Azure Automation に登録 • 構成をノードに関連付けて構成、モニタリング
  • 26.
  • 27.
    Azure Automation StateConfiguration • 構成方法の詳細は第19回 SCUGJ 勉強会の資料を 参照(2018年2月) • https://www.slideshare.net/kazukitakai/dsc- 88799528
  • 28.
    Azure Automanage マシン構成 •Azure Policy Guest Configuration から名称変更 https://techcommunity.microsoft.com/t5/azure-governance-and-management/coming-soon-guest-configuration-renames-to-machine-configuration/ba-p/3474116
  • 29.
    Azure Automanage マシン構成 •Azure Automanage Machine Configuration • Azure 仮想マシンと Azure Arc 対応サーバーに対する 構成管理・構成適用が可能 • Azure Policy 経由での適用が可能 • ターゲットノード単位での適用も可能 • 状態(準拠しているかどうか)の確認が可能 • ターゲットに対して複数の構成を同時に割り当て可能
  • 30.
    マシン構成を適用する流れ 1. マシン構成の有効化(ターゲットの準備) 2. DSCリソースの用意 3. 構成(Configuration)の作成とコンパイル 4. ゲスト構成パッケージの作成 5. ゲスト構成パッケージのテスト 6. ゲスト構成パッケージの配置 7. マシン構成の適用
  • 31.
    ゲスト構成パッケージ • Zip 圧縮されたファイル •内容 • コンパイル済みの MOF • 構成(Configuration)をコンパイルしたもの • 構成用のメタデータ • 必要となる DSC リソース モジュール ※作成方法は後述
  • 32.
    マシン構成の有効化(前提条件) • Microsoft.GuestConfiguration リソースプロバイダーが有効 •Azure VM の場合 • マシン構成拡張機能が有効 • Azure Automanage Machine Configuration extension for Windows • Azure Automanage Machine Configuration extension for Linux • マネージド ID が有効 • Arc 対応サーバーの場合特になし • Azure Arc-enabled servers agent (Machine Connected Agent)のみ
  • 33.
  • 34.
    (参考)DSC 拡張機能(Azure VM) •以下は Azure Automanage マシン構成用の拡張 機能ではないので注意 • DSC 拡張機能を使うと Push で1回のみ、DSC 構成を 適用可能
  • 35.
    サポートされるターゲット OS Publisher NameVersions Amazon Linux 2 Canonical Ubuntu Server 14.04 - 20.x Credativ Debian 8 - 10.x Microsoft Windows Server 2012 - 2022 Microsoft Windows Client Windows 10 Oracle Oracle-Linux 7.x-8.x OpenLogic CentOS 7.3 -8.x Red Hat Red Hat Enterprise Linux* 7.4 - 8.x SUSE SLES 12 SP3-SP5, 15.x
  • 36.
    ネットワーク要件 • Azure サービスエンドポイントへのOutbound 443/tcp の通信が許可されていること • 具体的な通信先は以下を参照 • https://learn.microsoft.com/ja- jp/azure/governance/machine-configuration/overview
  • 37.
    マシン構成の作成・テスト環境の準備 • 作成環境 • Windows(推奨)(Linux だとハマるかも) • PowerShell 7.3 をインストール • Install-Module -Name GuestConfiguration • Install-Module -Name PSDesiredStateConfiguration -AllowPrerelease • テスト環境 • Windows or Ubuntu18 (最終的に構成適用する OS 種別に合せる) • PowerShell 7.3 をインストール • Install-Module -Name GuestConfiguration
  • 38.
    DSC リソースの準備 • マシン構成ではクラスベースのDSC リソースのみ利用可能 • (現時点では)既存リソースの多くが対応できていない • 必要があれば DSC リソース(モジュール)を記述 • リソースクラスを持つ • Get, Set, Test メソッドを持つ • Reason クラスを持つ
  • 39.
    クラスベースの DSC リソース •Modules フォルダー内にモジュール名のフォルダーを作成 • リソースクラスを記述したコードと定義を配置 • 作成したリソースは、構成内で Import-DscResource を使 用して読み込み
  • 40.
    構成(Configuration)の記述 • Configuration キーワードを用いて構成を作成 •記述方法は今までの DSC と同様 Configuration SCUGJWindowsBaseConfiguration { Import-DscResource -ModuleName Scugj34SampleDscResource -Name SCUGJFile Node SCUGJ34WindowsBaseConfig { SCUGJFile WelcomeFile { path = "C:¥SCUGJ34-Demo.txt" ensure = "Present" content = "Welcome to SCUGJ34 !!`nCustom DSC Resource: SCUGJFile" } } }
  • 41.
    ゲスト構成パッケージの作成 • コマンドを使用してパッケージを作成 • New-GuestConfigurationPackage •Name : 構成パッケージの名前 • Configuration : MOF ファイルを指定 • Type : 監査のみか、設定の適用も行うか • Path : 出力先(省略するとカレントディレクトリ) • パッケージサイズの制限 : 100MB 以下
  • 42.
    ゲスト構成パッケージのテスト • Get-GuestConfigurationPackageComplianceStatus • テストマシン上の現在の状態と構成パッケージで定義された状 態を比較し、準拠しているかどうかを返す •Start-GuestConfigurationPackageRemediation • テストマシン上に構成を適用する • 実行には管理者権限が必要 • Windows の場合は管理者権限を持つ PowerShell セッション • Linux の場合は PowerShell を sudo で実施
  • 43.
  • 44.
    構成の適用 • Portal またはARM テンプレートから適用
  • 45.
    構成の取得と検証 • マシン構成エージェントによる構成の取得 • 5分ごと •取得した構成通りの設定となっているかの検証 • 15分ごと • 複数の構成を割り当てている場合、シリアルに処理 • 構成エージェントが利用可能な CPU リソース • 5% 以下に制限
  • 46.
  • 47.
    まとめ • Azure Automanageマシン構成を使用して Azure Arc 対応サーバーも構成の適用・管理が可能 • Preview なのでリソースが整備されていないが、 動作の確認は可能 • 使ってみて、何かあればフィードバックを
  • 48.
    参考資料 • PowerShell DesiredState Configurationの概要 • Azure Automanage マシン構成のドキュメント • Azure Automanage のマシン構成機能の概要 • マシン構成の作成環境の設定方法 • カスタム マシン構成パッケージの成果物の作成方法 • マシン構成パッケージの成果物をテストする方法 • カスタム マシン構成パッケージの成果物の公開方法 • Writing DSC Resources for Azure Policy Guest Configuration - For Linux! by Gael Colas