はじめに
私は普段AWSを扱うことが多いのですが、たまたまAzureを触る機会が来そうなので、前々から気になっていたWindows TerminalでAzure CloudShellを設定してみたので、備忘として残しておきます。
環境
- Windows 10 バージョン 22H2(OSビルド 19045.4291)
実施内容
Windows Terminalを起動して、上部の「∨」をクリックして「Azure Cloud Shell」を選択します
そうすると「 https://microsoft.com/devicelogin 」というURLと「H2FYAZLFT」というコードがコンソール上に表示されます。 ※執筆時点では既にコードの有効期限は切れてます
この情報を利用してMicrosoftアカウントへのサインインを行います。
Microsoftアカウントサインイン
Microsoftアカウントサインインが可能なブラウザを開き、先ほど確認したURLをブラウザバーに入力するとコードを入力する画面が表示されます。
同じく先ほど確認したコードを入力して「次へ」を押下します。
以降は通常のMicrosoftアカウントへのサインインと同じ画面が表示されるので、画面の表示に従ってログイン処理を行います。
サインイン処理後、「Windows Terminalにサインインしますか?」と聞かれるので、「続行」を押下します。
問題なければ以下のような画面が表示されます。次はWindows Terminalの方に戻ります。
Windows Terminal操作
ブラウザでサインインできると、Windows Terminalで対象のテナントを選択するメッセージが出力されます。
Microsoftアカウントが複数のテナントに紐づけられている場合は、Azure CloudShellで操作したいAzureリソースが含まれるテナントを選択します。
その後接続設定を保存するか聞かれるので、「y」を入力して少し待つとAzure CloudShellが利用できるようになります。
適当なAzure CLIコマンドを実行するとリソース情報が取得できることが確認できました。
追記
色々と操作していたら以下のエラーが急に出たんですが、
Failed to connect to MSI. Please make sure MSI is configured correctly.
Get Token request returned:
調べてみたら以下の記事がヒットして、20分ぐらいでセッションが切れることを知りました。
流石に短い...
20分ぐらい?で自動的に切れることを知らなかった際に困っていた話
https://qiita.com/baku2san/items/2d3f351ca5253d11c7da
おわりに
AWS CLIであればよく設定していましたが、Azure CLIの設定方法は知らなかったので、調べながらやってみました。
ブラウザでの認証が必要とはいえWindows Terminalに標準で利用できるようになっているのは流石Microsoft製品だと思いました。