getting-started-with-microsoft-azures-cloud-shell

Microsoft の Azure Cloud Shell の使い方

Microsoft の Azure Cloud Shell の使い方

PowerShell や Bash のようなコマンドラインコンソールにアクセスしたい場合は、どうすればいいでしょう?

Windowsを使用していて、PowerShell の実行可能ファイルを起動したい場合があります。最近では WindowsでBash も使われます。MacOS または Linux を使用している場合も、両方のコンソールを起動することができます。ところで、どの OS で作業しているかを気にしなくても、あるいは iPhone を使って CLI(コマンドラインインタフェース)を利用しているとしても、実行ファイルを起動できるとすればどうでしょう?これは Azure Cloud Shell で可能です。

Azure Cloud Shell は、ブラウザ内から PowerShell または Bash コンソールを使用するための Microsoft のサービスです。これはブラウザベースなので、PowerShell や Bash を実行するためにローカル設定がどうなっているか確認する必要がありません。Azure Cloud Shell はまさにクラウド的なものと言えます。コンソールが使いたいのであれば、基盤となっているインフラストラクチャについて意識する必要はありません。

Azure Cloud Shell を使用するには Azure サブスクリプションが必要です。ログインしているときに使用するリソースによっては、課金される場合があります。サインアップしたとき、まず、リソースグループ、ストレージアカウント、Azure Files 共有を関連づける必要があります。

azure-cloud-shell-1

Azure Cloud Shell サービスを利用する場合、セッションに一時的な情報を保存する場所が必要なので、新しいストレージを作成する必要があります。これは1回限りの設定で、セットアップが完了すると、それ以降のすべてのセッションでファイル共有が使用されます。

Azure Cloud Shell のデフォルト設定でこれらすべてのリソースを作成できますが、”Show advanced settings” で自分の使いたい既存リソースを指定することも可能です。

azure-cloud-shell-2

ストレージ設定が完了したら、選択に応じて Bash または PowerShell にドロップされます。Bash の場合は、ドロップされたコンソールで Azure CLI がすぐに使える状態になっています。

azure-cloud-shell-3

PowerShell の場合は、Windows PowerShell を利用できるバックグラウンドで、Windows Server 2016 VM にドロップされます。

azure-cloud-shell-4

上のスクリーンショットから、Azure PowerShell モジュールがすでに利用可能になっているのがわかります。起動するとAzure drive に入り、Azure のすべてのリソースをファイルシステムのようにブラウズすることができます。

 

PowerShell を使用している場合、Azure Cloud Shell のもう1つの優れた機能は、Enter-AzureRmVm コマンドや Invoke-AzureRmVmCommand コマンドで Azure VM に入れることです。これらのコマンドは PowerShell リモーティング上で生成され、インターネット全体で設定や認証の確認にわずらわされることなくシームレスに、PowerShell リモートコマンドをAzure VMで直接実行できます。Azure Cloud Shell に入っている間は認証済みで、どのコマンドでも Azure VM で簡単に実行できます。

Azure Cloud Shell が動作するVMには、Azure CLI、各種パッケージマネージャ、Git、Pester など、さまざまなツールが組み込まれています。必要なツールが存在しなければ、PowerShell の場合は Install-Module、Bash の場合はパッケージマネージャを使用していつでもダウンロードできます。

Azure Cloud Shell には残念な使いづらい点が一つあります。それは20分のタイムアウトがあることです。PowerShell で何かやろうとしていて、ほかの緊急の仕事が入ったら、後で戻ってこればいいと思ってコンテキストを切り替えてそちらの作業を行うでしょう。ですが、その作業が終了してセッションに戻ろうとしても、Cloud Shell で無操作状態が20分経過するとタイムアウトになってしまい、新たにセッションを開始する必要があります。新セッションの開始には1〜2分かかることがあるので、これは極めて不便だと言わざるを得ません。

また、筆者は、コンソールに複数の行をコピーして貼り付けたとき、貼り付けの順序が正しくなかったことにも気付きましたが、これはそのうちフィックスされるバグだと思われます。Azure Cloud Shell は、この種の新しいサービスとしては、全体的にはよく検証されたリソースで、PowerShell や Bash のプロンプトがすぐに使いたい場合は非常に便利です。

関連ブログ


Comments
Comments are disabled in preview mode.
Loading animation