これであっているか自信ないのですがとりあえずメモしておきます。
Microsoft Azure Stack*1にAzure CLIで接続したい場合、managementAPIのエンドポイントを指定してcloud
を登録します。名前は自由なので、複数Azure Stack環境がある場合などは適宜わかりやすい名前をつけましょう。
$ az cloud register -n AzureStackExample --endpoint-resource-manager "https://management.azurestack.example.com" --suffix-storage-endpoint azurestack.example.com
とりあえず上の2つのエンドポイントだけでよさそうですが、他にも指定できるパラメーターはあるようです。上の例はAzure Stackのユーザー環境を登録している想定で、下のドキュメントの手順1-bに相当します。また、Azure Stack環境の場合は、VPN接続が〜というあたりのドキュメントは無視してよさそうです。
次にここで登録したcloudを指定して接続先を切り替えます。
$ az cloud set -n AzureStackExample Switched active cloud to 'AzureStackExample'. Active subscription switched to 'XXXX (UUID)'.
これでログインできてコマンド実行できるはずですが、1つ忘れてはいけないことがあります。Azure Stack側で提供しているARM Rest APIのバージョンは古いらしく、コマンドを実行するとエラーになることがあります。そのため下記コマンドをまず実行しておく必要があります。
$ az cloud update --profile 2017-03-09-profile
なおこのコマンドは現在Activeなcloudに対して処理が行われます。現在利用可能なcloudの一覧は次のコマンドでリストできます。
$ az cloud list Name Profile IsActive --------------------- ------------------ ---------- AzureCloud latest AzureChinaCloud latest AzureUSGovernment latest AzureGermanCloud latest AzureStackExample 2017-03-09-profile True
AzureStackExample
以外はデフォルトで利用可能なものです。そのため、例えばAzure Germanyを利用したい場合はazure cloud set -n AzureGermanCloud
と実行するだけでよいです。
あとはログインです。次のコマンドを実行して、Azure Stack環境にログインする際の認証情報でログインすればOKなはずです。
$ az login To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXXXXXXXXXXX to authenticate. CloudName IsDefault Name State TenantId ------------------ ----------- ----- ------- ---------- AzureStackExample True NNNN Enabled UUID
*1:Azure Stack Development Kitではなく、ポータルやAPIエンドポイントをインターネットに公開できる方