ちょっと公開が遅れましたが札幌 Azure もくもく会 4で調べた内容になります。
はじめに
以前のエントリで軽く触れたAzure PowerShellのAzモジュールですが、公式にアナウンスが発表されました。
クロスプラットフォームなAzモジュール
公式のアナウンスはコチラになります。
また、GitHub上で最新のアナウンス(https://aka.ms/azps-announce)もされていますのでこちらもご覧ください。
Azモジュールの機能
公式に以下の内容が表明されています。
- Azモジュールは従来のAzureRMとAzureRM.Netcoreモジュールを置き換えるものである
- AzモジュールはWindows PowerShell 5.1およびPowerShell Coreで動作する
- (AzureRMに代わり)AzモジュールがAzureの最新機能に追従する
- AzモジュールはCloud Shellで提供される*1
- コマンドレットの名称を短く標準化し、全てのコマンドレットは"Az"プリフィックスを使用する
- モジュール名を短く標準化し、各サービス向けのモジュールに共通して"Az"を付ける
- AzモジュールではAzureRMとの互換性を確保する機能を提供する(
Enable/Disable-AzureRmAlias
)
以前にお知らせした内容と大して変わっていませんが、Windows PowerShell/PowerShell Core両方で動作するクロスプラットフォームなモジュールに切り替わり、同時に名称の標準化を図ったことが分かります。
対象プラットフォーム
Azモジュールは以下のプラットフォームで利用可能です。
- PowerShell 5.1 (Windows 7以降で.Net Framework 4.7.2以降がインストールされたOS)
- PowerShell Core 6.0 ~ 6.1 (全プラットフォーム)
リリースタイムライン
本エントリ公開時点では以下のスケジュールが予定されています。
年月 | 内容 |
---|---|
2018年08月 | 初期リリース(Ver.0.1.0) |
2018年11月(予定) | AzureRMと同等の機能を提供 |
2018年12月(予定) | AzureRMの新機能追加を最後にする |
ざっくり今年中にAzをAzureRMと同等にして来年からはAzに切り替えていく見込みの様です。
こまかい進捗状況についてはGitHubのマイルストーンを見るのが良いでしょう。
利用方法
ざっくりと利用方法について説明します。
名前付けが変わったとはいえ従来のAzureRMとAzureRM.Netcoreモジュールの後継であるため基本的な使い方はこれまで通り変わりません。
インストール
現状PowerShell Galleryからインストール可能です。
# PowerShell Galleryからモジュールをインストール Install-Module -Name Az -Scope CurrentUser
Azure Cloud Shellでは初期状態でインストール済みのため何もせずに利用可能です。
また、具体的に明言されませんでしたが、MSIインストーラーは現在のところ提供されていないので今後も提供されないものと予想されます。
コマンドレット名の切り替え
前項でコマンドレット名が短くなるとお伝えしましたが、従来のモジュールとの互換性を確保するためにエイリアスを使用することができます。
Enable-AzureRmAlias
で従来のコマンドレット名をエイリアスとして利用可能になり、Disable-AzureRmAlias
でエイリアスを削除することができます。
エイリアスを有効にするモジュールを制限したい場合は-Module
パラメーターを、設定を永続化したい場合は-Scope
パラメーターを使用することも可能です。
例えば、
Enable-AzureRmAlias -Scope CurrentUser
とした場合はプロファイルに以下の記述が追加され全てのモジュールに対する設定変更が永続化されます。
# 以下の記述がプロファイルに追記される #Begin Azure PowerShell alias import Import-Module Az.Profile -ErrorAction SilentlyContinue -ErrorVariable importError if ($importerror.Count -eq 0) { Enable-AzureRmAlias -Module Az.Aks, Az.AnalysisServices, Az.ApiManagement, Az.ApplicationInsights, Az.Automation, Az.Backup, Az.Batch, Az.Billing, Az.Cdn, Az.CognitiveServices, Az.Compute, Az.Compute.ManagedService, Az.Consumption, Az.ContainerInstance, Az.ContainerRegistry, Az.DataFactories, Az.DataFactoryV2, Az.DataLakeAnalytics, Az.DataLakeStore, Az.DataMigration, Az.DeviceProvisioningServices, Az.DevSpaces, Az.Dns, Az.EventGrid, Az.EventHub, Az.FrontDoor, Az.HDInsight, Az.Insights, Az.IotHub, Az.KeyVault, Az.LogicApp, Az.MachineLearning, Az.MachineLearningCompute, Az.ManagedServiceIdentity, Az.ManagementPartner, Az.Maps, Az.MarketplaceOrdering, Az.Media, Az.Network, Az.NotificationHubs, Az.OperationalInsights, Az.PolicyInsights, Az.PowerBIEmbedded, Az.Profile, Az.RecoveryServices, Az.RedisCache, Az.Relay, Az.Reservations, Az.ResourceGraph, Az.Resources, Az.Scheduler, Az.Search, Az.Security, Az.ServiceBus, Az.ServiceFabric, Az.SignalR, Az.Sql, Az.Storage, Az.StorageSync, Az.StreamAnalytics, Az.Subscription, Az.Tags, Az.TrafficManager, Az.UsageAggregates, Az.Websites -ErrorAction SilentlyContinue; } #End Azure PowerShell alias import
逆に
Disable-AzureRmAlias -Scope CurrentUser
とすればプロファイルからこの記述が削除されます。
その他の操作
その他の操作は従来のモジュールと基本的に同じです。
例えばサインインであればConnect-AzureRmAccount
がConnect-AzAccount
に変わるだけです。
# サインイン : Connect-AzureRmAccount -> Connect-AzAccount に変更 Connect-AzAccount
*1:すでに提供済み