AZ-900

【AZ-900】Azure Cloud Shellとは?基本的な使い方を解説!

【AZ-900】Azure Cloud Shellとは?基本的な使い方を解説!

どうも、フリーランスエンジニアのMakotoです。

今回は、Azure Cloud Shellについて解説します。

Cloud ShellはAWSにもありますが、Azureのほうが先に提供開始されました。初めてAzure Cloud Shellを触わった時は

なんて便利なんだ!

と感動しました。今でもよく利用するサービスの一つです。

なにが便利なのか。そんな疑問にお答えするためにAzure Cloud Shellの概要をお伝えします。ぜひ、最後までお読みください。

それではいってみましょう!

Azure Cloud Shellとは?

Azure Cloud Shellは、ブラウザから利用できるコマンド実行環境(シェル環境)のことで、よく使われているコマンドラインツールや言語がインストールされた環境をすぐに利用することができます。

Azureポータル右上にあるアイコンからアクセスするか、もしくは、shell.azure.com に直接アクセスして利用することができます。

Image from Gyazo

ブラウザベースのツールなので、PC、タブレット、スマホなどOS問わず利用することができます。

Azure Cloud Shellの使い方

Azure Cloud Shellを起動するとようこそ画面が表示されますのでシェル環境を選択します。シェル環境はBash、PowerShellを選択できます。(BashはLinuxにおける一般的なコマンド実行環境です)

Azure Cloud Shell(シェルの選択)

Azure Cloud Shellでは最初にデータの保存場所となるストレージアカウント(ファイル共有)を作成する必要があり、初回起動時に作成を求められます。ファイル共有=共有フォルダのことです。

Azure Cloud Shell(ストレージの作成)

「ストレージの作成」を押すとストレージアカウントなど3つのリソースが自動的に作成されます。(詳細設定の表示から名前などを指定して作成することもできます)

  • リソース グループ: cloud-shell-storage-<region>
  • ストレージ アカウント: cs<uniqueGuid>
  • ファイル共有: cs-<user>-<domain>-com-<uniqueGuid>

2024年春頃(?)に「エフェメラル セッション」の機能が追加され、ストレージアカウントなしに利用できるようになりました。サクッとコマンドを実行したいだけの場合など、ファイルを保存する必要がないシーンで役立ちます。

Azure Cloud Shell(エフェメラルセッション)参考: Azure Cloud Shell エフェメラル セッションの概要

Azure Cloud Shellの利用自体は無料ですが、ストレージの保存コストがわずかながら発生します。ストレージアカウントについてはこちらの記事で詳しく解説していますので参考にしてください。

【AZ-900】Azure Storage(Azureストレージ)とは?サービスの種類や冗長性オプションをしっかり解説!
【AZ-900】Azure Storage(Azureストレージ)とは?サービスの種類や冗長性オプションをしっかり解説!どうも、フリーランスエンジニアのMakotoです。 今回は、Azureが提供するストレージサービスについて解説します。 初め...

Azure Cloud Shellが起動すると以下のような画面になります。この画面の例ではBashで起動しています。

画面上部にはツールバーが並んでおり、左上のプルダウンからはシェル環境をBash⇔PowerShellに切り替えることができます。

Azure Cloud Shell(Bashで起動)

PowerShellに切り替えるとこんな感じ。

Azure Cloud Shell(PowerShellで起動)

裏では仮想マシンが動いているのですが、サーバの存在は全く意識することなくすぐにコマンド実行環境を起動することができます。

簡単に起動できてすぐに使い始められるので便利

Azure Cloud Shellで使えるツール

Azure Cloud Shellには「Azure CLI」や「Azure PowerShell」などAzureをコマンド操作で管理するためのツールが初めからインストールされています。

この2つのAzureツールについてはこちらの記事を参考にしてください。

【AZ-900】Azure CLIとAzure PowerShellの違いについて解説!
【AZ-900】Azure CLIとAzure PowerShellの違いについて解説!どうも、フリーランスエンジニアのMakotoです。 AzureではGUIツールであるAzureポータルを使ってリソースを管理できま...

Azure CLI、Azure PowerShell以外にも一般的によく使われるツール、エディタ、言語がインストールされています。インストール不要でどの端末からもすぐに使えるのは本当に便利。

  • git
  • Docker
  • Terraform
  • Java
  • Python etc…

インストールされているツールや言語の詳細は公式ドキュメントを参照してください。

ストレージ永続化の仕組み

さて、ここからはAZ-900試験で問われないと思いますが、Azure Cloud Shellのストレージについて補足しておきます。

Azure Cloud Shellは何も操作せず20分が経過するとタイムアウトとなりセッションは切断されます。再接続すれば新たにセッションを開始して利用を再開できますが

Azure Cloud Shellに保存したファイルは消えてしまうの?

こんな疑問があるかもしれません。答えは「No」です。

Azure Cloud Shellではデータの保存先としてファイル共有をマウントしているので、以下の場所に保存するデータは永続化されます(詳細は公式ドキュメントを参照)

  • /home/<User> ($HOME)
  • /home/<User>/clouddrive
AzureCloudShellのストレージ永続化の仕組み

ホームディレクトリ(/home/<User>)はファイル共有の中に作成されるimgファイルをマウントしており、5GBまでデータを保存することができます。

ホームディレクトリのimgファイル

外部からファイルをアップロードしたり持ち出したい場合は「clouddrive」のディレクトリに保存します。ここはファイル共有のディレクトリ(cs-<User>-xxx)とリンクされています。

試しに「testfile.txt」という空ファイルをclouddriveディレクトリに作成してみます。

Azure Cloud Shell上に空ファイルを作成

Azureポータルでストレージアカウントのファイル共有の中身を見ると「testfile.txt」が作成されていることがわかりますね。

ファイル共有で空ファイルを確認

まとめ

今回はAzure Cloud Shellの概要について解説しました。AZ-900試験対策のポイントをまとめると次の通りです。

  • OS問わずブラウザから利用できる
  • ストレージアカウントの作成が必要
  • シェル環境はBashまたはPowerShellを選択できる
  • Azure CLIやAzure PowerShellなどのツールが初めからインストールされている

Azure Cloud Shellを使えばローカル環境をセットアップすることなく、ブラウザ上からサクッとコマンドを実行できるのでちょっとした確認なんかには非常に便利です。

ぜひ活用してみてください。

 

Azure入門コースを見る