LoginSignup
4
5

More than 5 years have passed since last update.

Azure CLIとChefを始めるためのSubscription関係まとめ

Posted at

Azure CLIとChefを始めるためのSubscription関係まとめ

Azureを使っている人で、各種の自動化を行いたい人にとっては、Azure CLIやChefといったツールは
とても大切なものだろう。ところが、実際に使おうと思うと、そこに至るまでのところで引っかかりやすい。
今回の記事ではAzure CLIをダウンロードしてから、実際に使えるようにするためのオペレーションを
整理してみた。今回はWindows10で検証しているが、Macでも同じ手順である。

1. Azure CLIのダウンロードとインストール

Azure CLI のインストールにあるWindowsインストーラーを落として実行するとよい。Mac/Linuxも同じノリでインストール自体は簡単だ。ここに乗っている手順で基本OKだ。ちなみにchefを使いたい人もAzure CLIの設定が住んでいる必要があるので注意が必要だ。

Windowsの場合は、ダウンロード、実行だけでは、PATHにAzure CLIが反映されない。下記の場所にazureコマンドが存在するのでパスに追加する。

>set PATH=%PATH%;"C:\Program Files (x86)\Microsoft SDKs\Azure\CLI\wbin"
>azure
info:             _    _____   _ ___ ___
info:            /_\  |_  / | | | _ \ __|
info:      _ ___/ _ \__/ /| |_| |   / _|___ _ _
info:    (___  /_/ \_\/___|\___/|_|_\___| _____)
info:       (_______ _ _)         _ ______ _)_ _
info:              (______________ _ )   (___ _ _)
info:
info:    Microsoft Azure: Microsoft's Cloud Platform

永続的に追加したいときは下記のようにするとよい

SETX /M PATH "%PATH%;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI\wbin"

2. Organizationユーザの作成とサブスクリプションの付与

さて、混乱しやすい部分だが、Azure CLIは組織ユーザ(Organizationユーザ)でしかログイン
できない。よって、多くの読者はOrganizationユーザを作っていないと思うので、まず先に
それを作る必要がある。

Azure Portalから Active Directory を選択してみよう。ディレクトリが表示されるはずだ。なければ適当な名前をつけて、作成しよう。

ディレクトリ.png

そして、その作成したディレクトリをクリックしよう。次にユーザタブをクリックする。組織ユーザがない人はここの「ユーザの追加」をクリックする

組織ユーザ1.png

組織ユーザ2.png

すると組織ユーザが登録できるようになるはずだ。尚、組織ユーザの作成の最後で初期パスワードが付与
される。これは一時的なものですでに失効している。

次に「設定」タブをクリックする。先ほどの操作で組織ユーザを作ったので、今度はサブスクリプション
と紐づける。「管理者」タブをクリックしよう。

設定.png

「追加」ボタンを押すと「サブスクリプションの共同管理者の指定」という画面がでてくるので、ここで
組織ユーザに割り当てるサブスクリプションを指定すればよい。これで準備完了だ。
 ちなみに、ある人のサブスクリプションで、ほかの人にも同じサブスクリプションを使いたい場合、
その人でログインし、このオペレーションを行い、組織ユーザの作成、サブスクリプションの紐づけをするとよい。

サブスクリプション紐づけ.png

最後に、Azure Portalからサインアウトして、いま作成した組織ユーザでログインしなおす。最初に
付与されたパスワードはすでに失効しているので、ここで、新しいパスワードを入力しなおせばよい。

SnapCrab_Sign in to Azure Portal ‎- Microsoft Edge_2015-9-10_9-56-28_No-00.png

これでAzure側の設定は完了だ。

3. Azure CLI側の設定

3.1. login

早速組織ユーザでログインしてみよう

> azure login -u XXXXX@XXXXXX.onmicrosoft.com
    :
+
info:    login command OK

もし、下記のエラーがでたら、Azureに再ログインしてパスワードを再設定する手順が
できていないと思われる。

error:   Get Token request returned http error: 401 and server response: {"error":"user_password_expired","error_description":"AADSTS70002: Error validating credentials. AADSTS50055: Password is expired.

3.2. Credentialsのインポート

次にCredentaialsを取得、インポートする必要がある。
次のコマンドを発行すると、Webブラウザが起動し、サブスクリプション情報がはいった
Credentaialsがダウンロードされるので、それをどこかに保存しておこう。

>azure account download
info:    Executing command account download
info:    Launching browser to http://go.microsoft.com/fwlink/?LinkId=254432
help:    Save the downloaded file, then execute the command
help:      account import <file>
info:    account download command OK

そして、インポートする。次のコマンドの実態は、.azure/azureProfile.jsonを作ることをする。
ここでPay-As-You-Go...は先ほどダウンロードしたファイルだ。

>azure account import ./Pay-As-You-Go-9-9-2015-credentials.publishsettings
info:    Executing command account import
info:    account import command OK

さて、ちゃんとサブスクリプションが紐づいたか見てみよう。

>azure account list
info:    Executing command account list
data:    Name                       Id                                    Tenant Id                             Current
data:    -------------------------  ------------------------------------  ------------------------------------  -------
data:    Pay-As-You-Go              37xxxxx-13xx-4dxx-xx00-xxxxdd898bb2  xxxx1d61-xx86-xxe7-xxff-xxxxd6c937ba  true
data:    Microsoft Azure A plan  xxxx383f-xx95-xx9e-xx2d-xxxxc6166cc9  xxxx88bf-xxf1-xxaf-xxab-xxxx011db47  false
info:    account list command OK

もし、複数サブスクリプションを持っていて、違うのを使いたい場合は、次のコマンドを
発行するとよい。ちなみにxxxxで始まっているのは先ほどのazure account list
でてきたサブスクリプションのIDだ。それを指定すると、指定されたサブスクリプションが
指定されるようになります。

>azure account set xxxx383f-xx95-xx9e-xx2d-xxxxc6166cc9

これで、準備完了!xPlatCLI(Azure CLI)とChefの自動化を楽しんでくださいね!

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5