クラウド移行(インフラ・DB)

Azure CLIとは?Azure PowerShellとの違いについても解説

WindowsではGUI(Graphical User Interface)が採用され、デスクトップ上にはアイコンが並び、マウスやタッチパッドなどを使って、メニューから処理を実行できます。視覚的に把握ができ、直感的な操作を可能にすることがGUIの特長です。一方、開発者や技術者にとっては、CLI(Command line interface)のほうが馴染み深いでしょう。文字(キャラクター)でコマンドを入力するスタイルです。

特にサーバーの管理はCLIで行うことが一般的でした。CLIは真っ黒な画面に文字を打ち込んで指示を行うので、GUIのようなはなやかさはありませんが、慣れてしまうと効率的に作業を進められます。同じ作業を繰り返さなくても、一度のコマンドラインによる実行、自動処理が可能です。実はGUIもグラフィックスによるボタンなどの背後では、コマンドラインで処理されています。CUIを使えば、直接コマンドで処理を書き換えられます。

AzurePaaSとともに仮想マシンを構築するIaaSでもありますが、Azure用のCLIには、Azure コマンド ライン インターフェイス 「Azure CLI」があります。ここではAzure CLIの概要、Azure PowerShellとの違い、主なコマンドについて取り上げます。

azure-cli

クラウド移行 まるわかりガイド

Azure CLIとは

ところで、Azureのサービスをコマンドラインのスクリプトで処理するツールには、以下があります。

  • Azure CLI
  • Azure PowerShell
  • AzCopy (Azure Storage用)
  • Azureストレージエミュレーター

このうち、AzCopyはストレージアカウントどうしのBLOBまたはファイルのコピーに特化したツールです。Azureストレージエミュレーターは、ローカル環境のストレージでアプリケーションを稼働テストするツールになります。したがって、一般的にはAzure全般のコマンドラインによる管理ツールは、Azure CLIとAzure PowerShellです。

では、Azure CLIとAzure PowerShellはどのように違うのでしょうか。

Azure CLIとAzure PowerShellの違い

Azure CLIを使うと、Azureのさまざまなリソースをコマンドラインで管理できます。特に、仮想マシンの頻繁に行う管理を省力化できることが特長です。Windows、macOS、Linuxのクロスプラットフォームに対応し、コマンドを習得すれば、ブラウザ上のAzure Portalで設定するよりも効率的に処理ができます。

Azure PowerShellの特長としては、機能をまとめた「コマンドレット」によって、既に公開されているコマンドレットを利用したり、カスタマイズしたりすることで、自動処理ができることです。また、Azure Cloud Shellの場合には、Azureポータルから利用できるため、インストールが不要です。

もともとPowerShellはマイクロソフトがWindowsのために開発したCLIでした。したがって、これまでPowerShellを使ってきたWindowsユーザーにとっては、馴染みやすいといえるでしょう。PowerShellは現在ではmacOS、Linuxのクロスプラットフォーム対応を進めていますが、あまりWindowsサーバーに馴染みがないのであれば、macOS、LinuxユーザーにはAzure CLIのほうが向いているかもしれません。

つまり、これまでのサーバー管理などの経歴によって、Windowsサーバー管理がメインであればAzure PowerShell、macOSやLinuxのサーバー管理がメインであればAzure CLIが適しているといえます。とはいえ、Azure CLIも現在はマルチプラットフォームに向かっているため、一概にOSによって分けることはできません。それぞれの開発者や技術者が使いやすいツール、あるいは仕事に必要なコマンドレットや自動処理のコマンドラインが揃っているかによって使い分けるとよいでしょう。

Azureはあらゆる管理担当者や開発者に向けて、自由度の高い柔軟な環境を提供しています。利用する際の環境や機能制限には注意すべきですが、時間があれば両方を試しに使ってみて、フィットしたCLIを選択することがポイントです。

Azure CLIのインストール

Azure CLIを使うためには、インストールが必要です。基本的にWindows環境におけるインストールを解説します。

Azure CLIのインストールには、MSI(Microsoft Installer:拡張子が「.msi」のマイクロソフトのインストーラー)が提供されています。インストーラーをダウンロードして起動します。コンピューターに変更を加えるときの確認メッセージが表示されるので、「はい」をクリックしてインストールします。

以下のページから、Azure CLIのインストーラーがダウンロードできます。

LinuxまたはmacOSでは、インストールの一覧ページから該当するリンク先のドキュメントをご覧ください。

Azure CLIの主なコマンド

実際にAzure CLIを使うにあたって、一般的なコマンドの一部を以下にまとめました。コマンドは「az」から始まり、さまざまなパラメーターを付加して詳細な設定ができます。Azure CLIの動作環境などについては、マイクロソフトのページでご確認ください。また、頻繁に更新されているため、最新のリリースノートを確認することが必要です。

ログイン/ログアウト

ログイン、ログアウトをコマンドで処理できます。Azure CLIを使用するときのログイン、ログアウト、利用中アカウントを確認するためのコマンドです。

az login

サブスクリプションを持つユーザーのログインに必要なURLとコード文字列を表示します。パラメーターのない状態のコマンドでは、対話型のログインになります。

ユーザー名とパスワードをパラメーターに設定してログインすることも可能ですが、この場合、Microsoftアカウントまたは2要素認証が有効の場合には使うことができません。

az logout

アカウントからログアウトします。Azureサブスクリプションに対するアクセスも削除されます。「--username(ユーザー名)」のパラメーターを設定できますが、該当するアカウントユーザーがみつからない場合は、利用中のアクティブなアカウントからログアウトします。

az account show

現在、ログインしているアカウントのサブスクリプションを表示させ、確認できます。

仮想マシン(VM)の管理:Azure Resource Managerのコマンド

仮想マシンの作成から管理をコマンドラインで行えます。以下のコマンドを使うためには、Azure CLIの2.0.4以降のバージョンが必要になります。

■仮想マシンの作成

az vm create

WindowsまたはLinuxの仮想マシンを作成します。必須パラメーターは「--name -n(仮想マシンの名前)」と「--resource-group -g(リソースグループの名前)」です。

Linuxはディストリビューション(RedHat、Ubuntuなど)を指定することも可能です。プライベートIPアドレス、カスタムイメージからの作成もできます。

az group create

リソースグループを作成します。必須パラメーターは「--properties-p(リソースプロパティを含むJSON形式の文字列)」です。APIアプリやWebアプリのリソースグループを設定できます。

■仮想マシンの管理

az vm start

停止していた仮想マシンを起動します。仮想マシンやリソースグループの名前、サブスクリプションなどをパラメーターで指定できます。

az vm stop

仮想マシンを停止します。シャットダウンせずに実行中の仮想マシンの電源の停止や、リソースグループ内の仮想マシンの電源を停止することも可能です

az vm deallocate

仮想マシンの割当を解除します。割当を解除する仮想マシンの名前などを設定できます。

az vm restart

仮想マシンを再起動します。応答しない状態では、強制的に再起動することも可能です。

az vm delete

仮想マシンを削除します。「--yes」のパラメーターを使用すると、確認なしに削除します。

■仮想マシンの一覧表示

az vm list

仮想マシンを一覧表示します。リソースグループごとにすべての仮想マシンの一覧表示と、さらに詳細を表示させるパラメーターがあります。

az vm show

仮想マシンの情報を表示させます。

az vm list-usage

仮想マシンで使用可能なリソースを表示します。必須パラメーターは「--location-l(ロケーション)」です。

az vm list-sizes

使用できる仮想マシンのすべてのサイズを表示します。必須パラメーターは「--location-l(ロケーション)」です。

az vm list-vm-resize-options

仮想マシンでサイズ変更が可能な内容を一覧表示します。

この表は、Azure CLIの一部にすぎません。すべてのCLIについては、以下のリファレンスをご覧ください(英語)。

Microsoft Azureとは何か?入門から応用まで徹底解説

クラウドとは何か?Azureとは何か?導入のメリットや構成、コストに至るまでの基礎的な知識から、どのように活用すべきかまでを徹底的に解説しています。

Microsoft Azureとは何か?入門から応用まで徹底解説

ブログ記事を見る

まとめ

Azureには統合されたコンソールとして「Microsoft Azure Portal」があり、このポータルによって仮想マシンの構築からPaaSのあらゆる機能まで簡単に設定ができます。ブラウザ上のウィンドウにしたがって必要な項目を入力していけば、専門的な技術知識がなかったとしても最先端のPaaS環境を整え、利用に合わせてストレージの大きさやスペックなどを変更することが可能です。

しかし、開発や運用にあたって生産性を向上させようとするときには、CLIによるコマンドラインの管理が有効です。プログラム経験のある開発者や技術者であれば、まどろっこしいGUIよりCLIのほうが、ひとつのコマンドラインを記述して実行するだけで迅速かつ正確な処理を行えます。

何度も繰り返される処理がある場合は、CLIで自動処理を行うと、クラウド運用を効率化するとともにコスト削減を実現します。

  • fb-button
  • line-button
  • linkedin-button

無料メルマガ

関連記事

Azure Notebooksでプログラミング学習を!ノートブック機能の説明の概要
データ分析、データベース
Azure Functionsはサーバーレス、FaaSの時代を拓く
ハイブリッドクラウド
Azure Monitorとは?その基本と監視内容を解説
仮想デスクトップ
Azure DevOpsで開発と運用を連携させ、品質の向上を
アプリケーション開発・管理・運用
Azure Portal(Azureポータル)とは?メリットや料金体系・使い方を解説
アプリケーション開発・管理・運用
Azure Kinect DKのSDKと活用シーン
アプリケーション開発・管理・運用
Azure Stackによってオンプレミスで構築するクラウド
ハイブリッドクラウド
Azureを導入する際の流れと検討するべき3つのポイント
クラウド移行(インフラ・DB)
Azure Information Protectionでメールや文書を保護
セキュリティとガバナンス
Azure Web Appsでビジネスチャンスを迅速につかむ
アプリケーション開発・管理・運用
IoTとは?5分で概要からポイントを解説
クラウド移行(インフラ・DB)
Microsoft Intuneとは? 導入メリットやEMMを実現する3つの機能を解説
セキュリティとガバナンス
Azure Pipelinesとは?その概要、料金体系、そして構文サンプル
アプリケーション開発・管理・運用
Azure Storage Explorerとは?概要と使い方
クラウド移行(インフラ・DB)
Azure Machine Learning(Azure ML)とは?人工知能の実践的活用
AI、機械学習
Azure SQL Databaseで生産性向上と持続的な経営を
セキュリティとガバナンス
RELATED SITES

関連サイト

CONTACT

サイト掲載の
お問い合わせ

TOP