背景
新しいMacBook Airを買って、仕事でAzureを使うことになったのでAzureCLIをインストールしなきゃいけなくなった。
普段AWSとGCPしか使わないので勝手がわからないがとりあえずbrewのインストールから始める。
環境
- MacOS Monterey v12.5
- Apple M2
- メモリ8GB
前提として、個人のMicrosoftアカウントでAzurePortalにすでにサインインできる状態であるとする。
memo
開発業務をする想定でないのでProでもなくましてやメモリ8GBを買ってしまった。。。
進めてみて無理そうならまた買い換えるか。。
やったこと
基本的にまっさらなmacであればこの手順でやればいい(はず)
Homebrewのインストール
すでにbrewが入っているなら飛ばしてよし。
インストール前に環境確認しておく
$ uname -m
arm64
私はarm64のアーキテクチャなので、/opt/
にインストールされるはず。
もしx86_64
とかになってたら後々PATHを通す時に気をつけなきゃいけない。
この辺とか参考になると思う。
https://www.karakaram.com/install-homebrew-mac/#path
確認した所で、インストールコマンドを実行する。
https://brew.sh/
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
てやると、パスワードを求められるのと、Enter押させられるのでそれ入力したら数分待つとインストールが終わる。
PATHを通す
ただ、インストールしただけでは実行ファイルを直接指定しないと実行してくれないので、PATHを通す必要がある。
(PATHを通す = コマンドを実行するときにshellが実行ファイルを検索する場所として追加するみたいな感じ)
パスが通っていない状態だと以下のようになる。
$ brew -v
zsh: command not found: brew
実行ファイルを直接指定してやると、ちゃんと動く。
$ /opt/homebrew/bin/brew -v
Homebrew 3.6.12
Homebrew/homebrew-core (git revision bab068d6452; last commit 2022-11-23)
なので、/opt/homebrew/bin/
にPATHを通してやれば良い。
下記のコマンドを実行するとPATHが通る。
$ export PATH="/opt/homebrew/bin/:$PATH"
$ brew -v
Homebrew 3.6.12
Homebrew/homebrew-core (git revision bab068d6452; last commit 2022-11-23)
ただ、毎度毎度PATHを通すのもめんどくさいので、~/.zshrc
に追加して、ターミナルを開いたらPATHが通っている状態にしておく。
$ echo 'export PATH="/opt/homebrew/bin/:$PATH"' >> ~/.zshrc
$ source ~/.zshrc
再度別ウィンドウでターミナルを開いてみて、brew -v
が成功すればok.
AzureCLIのインストール
$ brew update && brew install azure-cli
$ az -v
azure-cli 2.42.0
core 2.42.0
telemetry 1.0.8
Dependencies:
msal 1.20.0
azure-mgmt-resource 21.1.0b1
....
...
Your CLI is up-to-date.
よし。
認証
公式のページを参考にやってく
https://learn.microsoft.com/ja-jp/cli/azure/authenticate-azure-cli
$ az login
実行すると、ブラウザが立ち上がってMicrosoftのサインインページが現れる。
そこでサインインすると、下記のようなページに遷移する(消して良し)。
ターミナルに戻ると、こんな感じで出力されてた。
$ az login
A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`.
[
{
"cloudName": "AzureCloud",
"homeTenantId": "*************",
"id": "*******-****-****-*****-******",
"isDefault": true,
"managedByTenants": [],
"name": "Azure subscription 1",
"state": "Enabled",
"tenantId": "*******-****-****-****-********",
"user": {
"name": "***********@gmail.com",
"type": "user"
}
}
]
繋がってるか確認。
$ az account list --output table
Name CloudName SubscriptionId TenantId State IsDefault
-------------------- ----------- ------------------------------------ ------------------------------------ ------- -----------
Azure subscription 1 AzureCloud *******-****-****-****-************* ********-****-****-****-************ Enabled True
うん、繋がってるっぽい。
まとめ
- brew入れる
- brewからインストールする
- loginする
感想
そんなに面倒臭いことはなかったけど、ここからの勉強が骨が折れるなあ