Slide 1

Slide 1 text

Azure Automation Runtime Environment 2024/06/27 48th Tokyo Jazug Night @mappie_kochi

Slide 2

Slide 2 text

Speaker • Yuji Masaoka | まっぴぃ • X: @mappie_kochi • Zenn: ymasaoka • Blog: とある IT エンジニアの⽇常 • 某社で情シスやってます • 従業員向け Microsoft Azure / Microsoft 365 の管理運⽤ • Microsoft Azure / Microsoft 365 の開発⽀援 + 某 A 基盤でのクラウド開発 • 趣味 • Perfume (ファンクラブ会員) • Disney • Jigsaw puzzle

Slide 3

Slide 3 text

Azure Automation Runtime Environment (PubPrev) • Azure Automation の ランタイムを Runbook 毎に指定 できるようになった • 各 Runbook の実⾏ランタイムを個別作成/指定できる (Python でいう requirements.txt 的なものを作って実⾏に使うイメージ)

Slide 4

Slide 4 text

これまでの Automation モジュール管理 • 1 Automation アカウント内でランタイムバージョン毎に共有しないといけない • 異なるモジュール間で同じモジュールへの依存関係があるとすごく⾯倒 • バージョンが異なるものを⼊れると、勝⼿に依存関係があるモジュールのバージョンも更新

Slide 5

Slide 5 text

新しいランタイム環境は何が良いのか • モジュール更新/切り戻しの⼿間が格段に改善 • これまでは、モジュールバージョンの更新は全ランタイムのテストが必要だった • 今後は新しいランタイム定義を作って、個別に編集/テストすれば良いだけ • ランタイム毎にどの Runbook が紐づいているかが⼀覧で確認できる • 他のランタイムへの影響を考えなくて良くなる • この機能をよく使うコツは業務フローなどで Runbook をグルーピングし、 そのグループ毎のランタイムを⽤意すること (たぶん) • 他の無関係な Runbook との依存関係を考慮しなくて良くなる • PowerShell 7.2 は Azure CLI サポートが⼊る

Slide 6

Slide 6 text

切り替え方法 • [概要] タブにあるボタンから切り替え可能 (戻すのも可能)

Slide 7

Slide 7 text

ランタイム作成 (1/3) • ランタイム環境 メニューからランタイムを作成

Slide 8

Slide 8 text

ランタイム作成 (2/3) • PowerShell: 7.2 と 5.1 • Python: 3.10 と 3.8 PowerShell も Python もバージョンサポート遅すぎです 早く最新対応してください Microsoft 様

Slide 9

Slide 9 text

ランタイム作成 (3/3) • PSGallery や PyPI などから追加モジュールを指定して作成

Slide 10

Slide 10 text

従来のランタイムとの切り替え時の注意 • 切り替え時は、システム⽣成ランタイムに紐付けがされる • 従来のランタイムで⼊れていたモジュールは引き継がれる模様 • システム⽣成ランタイムは編集不可 (だったらデフォルト指定は変更したい) • 従来との互換性がサポートされないパターンがある • PowerShell 7.2 で作った Runbook は従来モードだと 5.1 動作になる • グラフィカル PowerShell など、⼀部はシステム⽣成 PowerShell 5.1 のみ対応 • ランタイム環境に RBAC アクセス許可を割り当てられない • VSCode の Azure Automation 経由では構成できない GA 時には⾚字は絶対にサポートしてください

Slide 11

Slide 11 text

参考情報 • Public Preview: Azure Automation Runtime environment & support for Azure CLI commands in runbooks | Azure updates | Microsoft Azure • Azure Automation のランタイム環境 (プレビュー) | Microsoft Learn • Azure Automation でランタイム環境と関連する Runbook を管理する | Microsoft Learn