Azure Cloud Shellは、ブラウザだけでAzureを操作できる認証済みのターミナルです。ローカルにAzure CLIやAzure PowerShellをインストールせず、ポータルを開いた瞬間から自分のサブスクリプションにコマンドを打てます。よく検索される「料金はいくらか」への答えは明快で、シェル自体は無料、費用が発生するのはファイルを保存するストレージだけです。この記事では起動手順、BashとPowerShellの選び方、料金の内訳、2024年5月に加わったエフェメラルセッションと永続ストレージの使い分けまで、Microsoft公式ドキュメント(2026年6月更新)を基に解説します。
まとめ:Azure Cloud Shellの要点
- シェルは無料。コンピューティングは無料提供で、課金対象はファイルを永続化するAzure Files共有(5GB相当)のストレージ料金だけ。
- 起動はポータル右上のアイコンか shell.azure.com。初回はMicrosoft.CloudShellリソースプロバイダーの登録が要る。
- ストレージ不要ですぐ使うエフェメラルセッションと、ファイルを残す永続ストレージの2モード。使い捨ての検証はエフェメラル、鍵やスクリプトを残すなら永続。
- BashでもPowerShellでも、Azure CLI・Azure PowerShell・Git・kubectl・Terraformなどが最初から入っている。
- セッションは20分無操作でタイムアウト。エフェメラルはウィンドウを閉じるとファイルが消えるため、残したいものは永続ストレージかローカルへ。
Azure Cloud Shellとは|ブラウザで動く認証済みシェル
Azure Cloud Shellは、Azureリソースを管理するためのブラウザーベースのターミナルです。既定のシェルとしてBashまたはPowerShellを選べます。実行基盤はMicrosoftがクラウド向けに提供するLinuxディストリビューション「Azure Linux」で、セッションごとにユーザー専用の一時ホストが割り当てられます。
最大の利点は、ローカル環境の構築が要らないことです。サインイン済みのAzureアカウントで自動的に認証されるため、az login のような初期認証を省いて、開いてすぐにコマンドを実行できます。主要な仕様は次のとおりです。
- シェル:BashとPowerShellを切り替え可能。PowerShellでは
Azure:ドライブでリソースをファイルシステムのように辿れる。 - タイムアウト:対話操作がないと20分でセッションが切断される。
- 永続領域:ストレージを接続すると5GBのファイル共有が
$HOMEにマウントされ、次回以降も引き継がれる。 - セキュリティ:全インフラが既定で保存時の二重暗号化に対応。ユーザーは通常のLinuxユーザー権限で動作する。
Azure Cloud Shellの使い方|起動から最初のコマンドまで
事前準備:Microsoft.CloudShellプロバイダーの登録
初めて使うサブスクリプションでは、Microsoft.CloudShellリソースプロバイダーの登録が必要です。登録はサブスクリプションごとに一度だけで済みます。Azureポータルで「サブスクリプション」→対象のサブスクリプション→設定の「リソース プロバイダー」を開き、検索ボックスに cloudshell と入力して Microsoft.CloudShell を選び、「登録」を押して状態を「登録済み」に変えます。
起動できる4つのアクセスポイント
Cloud Shellは単一の画面に縛られず、次のいずれからでも同じ環境を開けます。
- Azureポータル(
portal.azure.com)上部ナビゲーションのCloud Shellアイコン。 - 専用URL
shell.azure.com。ポータルを経由せず直接ターミナルだけを開きたいときに便利。 - Visual Studio Codeの「Azure Resources」拡張機能から起動する。旧「Azure Account」拡張機能は2025年1月に非推奨となり、Cloud Shell機能はAzure Resources拡張へ移管された。VS Codeのターミナルビューでドロップダウンを開き、「Azure Cloud Shell (Bash)」または「Azure Cloud Shell (PowerShell)」を選ぶ。
- Azureモバイルアプリ。スマートフォンから障害対応で軽くコマンドを打つ用途に向く。
初回起動時はBashかPowerShellの選択ダイアログが出るので、使い慣れた方を選びます。選択は後から画面上部のドロップダウンで切り替えられます。
BashとPowerShellの選択と最初のコマンド
認証は自動で済んでいるため、シェルが開いたらすぐにサブスクリプションの確認から始めます。複数のサブスクリプションを持つ場合は、操作対象を明示的に切り替えておくと事故を防げます。
# Bash(Azure CLI)
az account list --output table
az account set --subscription '<サブスクリプション名>'
az group list --output table
# PowerShell(Azure PowerShell)
Get-AzSubscription
Set-AzContext -Subscription <SubscriptionId>
Get-AzResourceGroup
設定したサブスクリプションは .azure/azureProfile.json に記録され、次のセッションでも記憶されます(永続ストレージ利用時)。CI/CDに載せてコマンドを定期実行したい段階に進んだら、Azure Pipelinesの使い方(YAMLでCI/CDを組む手順・無料枠・権限設定)もあわせて確認すると、手元の検証からパイプライン化までを地続きで進められます。
Azure Cloud Shellの料金|シェルは無料、費用はストレージだけ
検索で「料金」を調べる人が最も知りたい結論は、Cloud Shell自体は無料サービスという点です。課金されるのは、実際に使ったAzureリソース(主にストレージ)だけです。内訳を整理します。
| 項目 | 課金 | 補足 |
|---|---|---|
| コンピューティング(シェル実行環境) | 無料 | Azureが無料提供するマシン上で動作 |
| エフェメラルセッション | 無料 | ストレージ不要。ファイルはセッション終了で消える |
| 永続ストレージ(Azure Files共有) | 有料 | 通常のAzure Files料金が適用。5GBの共有をマウント |
| ネットワーク(標準セッション) | 無料 | 通常利用ではネットワーク課金なし |
| プライベート仮想ネットワーク展開 | 有料 | VNet構成時はネットワークリソース料金が発生 |
つまり、コマンドを試すだけならコストはゼロに近く、費用が気になるのはファイルを残すためにAzure Files共有を接続したときだけです。ストレージ単価はAzure Filesの価格に準じるため、少量のスクリプトや設定ファイルを置く程度なら月額はごくわずかに収まります。サービスごとの料金体系を横断的に把握したい場合は、Azure API Managementの料金プラン・できること・使い方の解説のように個別サービスの記事も参考になります。
エフェメラルセッションと永続ストレージの使い分け
Cloud Shellには2つの起動モードがあり、初回の「使用を開始する」画面で選びます。2024年5月に追加されたエフェメラルセッションのおかげで、ストレージアカウントを用意しなくても最短で使い始められるようになりました。
| 観点 | エフェメラルセッション | 永続ストレージ |
|---|---|---|
| ストレージアカウント | 不要 | 必要(Azure Files共有) |
| ファイルの保持 | ウィンドウを閉じると削除 | 次回以降も保持 |
| 起動までの速さ | 最速 | 初回に共有作成が必要 |
| 費用 | 無料 | ストレージ料金あり |
| 実体 | 一時ホストのみ | $HOME をAzure Files内の .img として保持 |
選び方の指針ははっきりしています。その場限りのコマンド確認や、他人のテナントを一時的に触る調査作業ならエフェメラルで十分です。ウィンドウを閉じれば痕跡が残らないため、共有端末での作業にも向きます。一方、自作スクリプトや設定、Bicep/Terraformの作業ディレクトリを継続して育てるなら永続ストレージを選びます。永続モードではストレージが $HOME/clouddrive として自動的に再接続され、$HOME 配下のファイルがセッションをまたいで残ります。ただし $HOME の外に置いたファイルやインストールしたパッケージは保持されない点には注意してください。
プリインストールされているツールと対応言語
Cloud Shellは「認証済みの作業机」がすでに整った状態で提供されます。よく使うコマンドラインツールは初めから入っており、コレクションは毎月更新されます。主なものを挙げます。
- Azure管理:Azure CLI、Azure PowerShell、AzCopy、Bicep CLI、Service Fabric CLI
- コンテナ・IaC:kubectl、Helm、Docker(CLIのみ・デーモン非対応)、Terraform、Ansible、Chef InSpec、Packer
- ソース管理:Git、GitHub CLI
- データベース:MySQLクライアント、PostgreSQLクライアント、sqlcmd、mssql-scripter
- エディター:Cloud Shellエディター(code)、vim、nano、emacs
- 言語ランタイム:.NET 7.0、PowerShell 7.4、Python 3.9、Node.js、Java、Ruby、Go
導入済みのバージョンは tdnf list(パッケージ)や pip3 list(Python)、PowerShellの Get-Module -ListAvailable で確認できます。永続ストレージを構成していれば、root権限を要しない範囲で自分のツール(Pythonモジュール、npmパッケージなど)を追加インストールでき、次回以降も使えます。なお、Cloud ShellにはAzure CLIとは別物のAzure Developer CLI(azd)という上位ツールもあり、アプリのひな型作成からデプロイまでを束ねたいときはこちらが候補になります。
Azure Cloud Shell運用でつまずく4点と対処
実務で引っかかりやすいのは、次の4点です。仕様として割り切るべきものと、設定で回避できるものを分けて押さえておくと迷いません。
- 20分でセッションが切れる:長時間かかる処理を投げっぱなしにすると、タイムアウトで中断されます。数十分を超えるジョブはCloud Shellで走らせ続けるのではなく、実体をAzure側(Automation、Functions、パイプライン等)に移すのが正解です。
- エフェメラルでファイルが消えた:これは不具合ではなく仕様です。残したいファイルがあるなら永続ストレージに切り替えるか、作業結果をGitや
azcopyでローカル・別ストレージへ退避します。 - Microsoft.CloudShellの登録エラー:初回にリソースプロバイダー未登録だと起動できません。前述の手順でサブスクリプションに登録してください。
- ストレージアカウントのリージョン:永続ストレージは特定リージョンにファイル共有を作成します。作業対象のリソースと極端に離れたリージョンを選ぶと、意識せずデータの所在が分散するため、運用ポリシーに沿ったリージョンを選んでおきます。
よくある質問
Azure Cloud Shellの利用に料金はかかりますか?
シェルの実行環境(コンピューティング)は無料です。課金されるのは、ファイルを永続化するためにマウントするAzure Files共有のストレージ料金だけです。ストレージ不要のエフェメラルセッションを使えば、料金はかかりません。
Azure Cloud Shellとは何ですか?
ブラウザーからAzureを操作できる、認証済みの対話型ターミナルです。Azure Linux上で動き、BashまたはPowerShellを選べます。ローカルにツールを入れなくても、Azure CLIやAzure PowerShellがすぐ使える点が特徴です。
BashとPowerShellはどちらを選ぶべきですか?
普段Linux系の操作やAzure CLI中心ならBash、Windows運用やAzure PowerShellコマンドレット中心ならPowerShellが快適です。PowerShellは Azure: ドライブでリソースを階層的に辿れる利点があります。どちらを選んでも画面上部のドロップダウンでいつでも切り替えられます。
AWSのCloudShellと何が違いますか?
役割は似ていますが、Azure Cloud ShellはAzureリソース専用で、Azure CLI・Azure PowerShell・Bicepなどが最初から入っています。無料のシェルにストレージのみ課金という料金構造や、20分のタイムアウト、エフェメラル/永続の2モードといった仕様がAzure固有の設計です。
ローカルにAzure CLIをインストールする必要はありますか?
Cloud Shellを使う分には不要です。ブラウザだけで最新のAzure CLI/PowerShellが利用できます。日常的にローカルのエディターやスクリプトと組み合わせて開発する場合のみ、ローカルインストールを検討すればよいでしょう。