Azure Managed Service Column <Azure運用コラム>

Azure PowerShellとは?Azure CLIとの違いと用途、自動化についても解説

Category: 入門編

2021.08.16

はじめに

システムの運用保守は、迅速かつ作業ミスがないように行うことが重要です。GUI は視覚的で操作しやすいインターフェースですが、特に同じような操作を何度も繰り返すような場面ではミスが起こりやすいため、コマンドラインでの作業が望ましいでしょう。

Microsoft Azure が提供している Azure PowerShell は、従来の Windows PowerShell に Azure を操作するためのコマンド群を追加したサービスで、Azure の管理作業の迅速化と作業品質の向上に役立ちます。

本記事では、Azure PowerShell の概要、類似サービスである Azure CLI との違いとメリット、活用方法について解説します。

1. Azure PowerShell の概要

Windows Server に慣れた方なら「 PowerShell 」をご存じの方もいると思いますが、Azure PowerShell とはどのようなものなのでしょうか。GUI と CLI の違いを踏まえた上で、Azure PowerShell の概要について解説します。

1.1 GUI と CLI

まず、GUI と CLI の概要と違いについて解説します。

1.1.1 GUI( Graphical User Interface )

GUI とは、コンピューターの画面に表示されるウィンドウやアイコン、ボタン、プルダウンメニューなどを使い、視覚的に操作できるユーザーインターフェースです。 Windows や Linux のデスクトップなどが身近な GUI です。視覚的で操作しやすいメリットがある反面、マウスなどのポインティングデバイスや指で操作するため、操作ミスが発生しやすいというデメリットがあります。

1.1.2 CLI( Command Line Interface )

CLI とは、文字によって情報の表示を行い、キーボードからのコマンド操作によってコンピューターと対話的に操作するユーザーインターフェースです。Windows のコマンドプロンプトや Linux のターミナルなどが代表的な CLI です。GUI のような視覚的なわかりやすさはなく、コマンド操作を覚える必要がありますが、繰り返し操作などでは GUI よりも効率的に作業を行えるようになります。また、コマンドを並べたスクリプトを作成して実行することで作業スピードを上げ、操作ミスを防止できるというメリットもあります。

1.2 Azure PowerShell とは

Azure PowerShell とは、Azure が提供している CLI のサービスで、PowerShell から Azure リソースを直接管理するためのコマンド群を指します。

PowerShell とは、マイクロソフトが Windows OS を管理するために開発したスクリプト言語ですが、PowerShell に Azure リソースを管理するコマンドが追加されたものと理解してください。Azure PowerShell はクライアントソフトであるため、利用者のローカル PC にインストールして PowerShell プロンプトから利用します。Azure Portal から Azure Cloud Shell を介して、ブラウザ上でコマンドを実行することも可能です。

1.3 Azure PowerShellの料金体系

Azure PowerShellは無料で利用できます。ただし、Azure Portal から Azure Cloud Shell を介して利用する場合に限り、Azure Cloud Shell の利用料金が発生します。

2. Azure CLI との違い

Azure PowerShell は CLI であると書きましたが、Azure には、Azure PowerShell の他に、Azure CLI という名前の CLI サービスも用意されています。Azure CLI の概要と Azure PowerShell との違いについて解説します。

2.1 Azure CLI とは

Azure CLI とは、Azure PowerShell と同様に、Azure リソースを管理するためのコマンド群です。VM の作成や管理など、Azure Portal でできる操作をコマンドラインで実行可能にしたもので、コマンドプロンプトや PowerShell プロンプトから実行できます。Python ベースで作られているため、Windows だけでなく Linux、MacOS など異なる OS でも利用可能という特徴もあります。

2.2 Azure PowerShell と Azure CLI の使い分け

Azure CLI と Azure PowerShell は、一見すると同じ機能を持つサービスにも見えますが、両者の違いはどこにあるのでしょうか。実は、Azure CLI と Azure PowerShell は共に Azure のリソース管理を行うためのコマンド群という点ではほとんど違いはありません。したがって、利用者のスキルや好みによって使い分けて問題ないと言えます。Azure PowerShell は、もともとマイクロソフトが Windows の CLI として開発したスクリプト言語であるため、Windows Server の経験が長い技術者であればAzure PowerShell の方が馴染みやすいでしょう。一方、Linux や MacOS の経験が長く、Python の構文などにも抵抗感のない人には、Azure CLI の方が向いています。

3. Azure PowerShell の用途と自動化について

Azure PowerShell はどのような場面で使われるのでしょうか。Azure PowerShell の主な用途と、Azure PowerShell を活用した Windows タスクの自動化についても解説します。

3.1 Azure PowerShell の用途

Azure PowerShell は、Azure クラウドへ接続して、Azure のリソースを直接管理することができるコマンド群です。主に下記のような Azure のリソースの作成及び管理を行うために使用します。

 
  • 仮想マシンの作成・管理
  • リソースグループの作成・管理
  • Azure Storage へのアクセス・ファイル共有
  • Azure SQL Database の作成・管理
  •  

また、Windows PowerShell の機能はそのまま利用できるため、Azure リソースを扱うコマンド群を組み合わせて作業を自動化・効率化するスクリプトも作成可能です。

3.1.1 仮想マシンの作成・管理

Azure PowerShell の仮想マシン操作コマンドを使用して、仮想マシンの作成、起動、停止、削除、一覧表示などが可能です。

3.1.2 リソースグループの作成・管理

仮想マシンと同様に、Azure PowerShell のリソースグループの操作コマンドを使用して、リソースグループの作成、削除、一覧表示や、リソースの割当て、別のリソースグループへの移動などの管理作業が可能です。

3.1.3 Azure Storage へのアクセス・ファイル共有

Azure PowerShell を使用して、「 Azure BLOB 」「 Azure Files 」「 Azure Queue storage 」「 Azure Table storage 」の 4 つのストレージサービスへのアクセスやファイル共有などを行うことができます。

3.1.4 Azure SQL Database の管理

Azure PowerShell から Azure SQL Database の管理もできます。データベースの作成、フェールオーバー(障害時の切り替え)グループの構成、データベースのスケーリング(拡張)などが可能です。

3.2 Azure PowerShell によるタスク自動化

Azure PowerShell を利用する大きなメリットのひとつは、これまで手作業で実施してきた作業やタスクを自動化して、作業スピードと作業品質を高められることです。例えば、仮想マシンの追加やユーザーの追加、リソースグループの追加・削除といった重要な作業は、ひとつの作業ミスがシステム全体へ影響を及ぼしてしまうおそれがあります。こうした手作業をスクリプト化して、迅速かつミスなく実行することが Azure の運用管理では重要なポイントとなります。

例として、PowerShell で Windows の Web サーバーを作成するためのスクリプトでは、下記の流れで処理を行っていきます。

 
  1. リソースグループの作成
    リソースグループ作成用コマンドを使用し、Azure リソースグループを作成する。
  2. 仮想マシンの作成
    仮想マシン作成用コマンドを使用して、作成済みのリソースグループ名、仮想マシン名、仮想ネットワーク、サブネット名などを指定し、仮想マシンを作成する。メッセージが表示されたら資格情報(ユーザー名、パスワード)を入力する。
  3. 仮想マシンへの接続
    仮想マシン作成後に、仮想マシンのパブリック IP アドレスを取得するコマンドを使用して、IP アドレスを取得し、 RDP で接続するコマンドを実行して仮想マシンへ接続する。
  4. Web サーバーのインストール
    仮想マシン上で PowerShell プロンプトを開き、IIS Web サーバーをインストールするコマンドを実行する。
  5.  

まとめ

GUI と CLI にはそれぞれメリット・デメリットがありますが、重要な作業を効率的かつミスなく実施するために、CLI は有効な解決策のひとつです。Azure では 2 種類の CLI が提供されていますが、Azure PowerShell は、Windows に慣れた技術者に向いている CLI サービスです。システムを安定運用させるためにも、技術者のスキルや経験に合わせて最適な CLI を選択するようにしましょう。

Azure の運用保守を相談する

Azure運用設計サービス

Azure 運用設計サービス

効果的な Azure 運用フローを定義したいお客様にお薦めです。Azure で構築したシステムの監視設計、新システムに合わせた運用業務フロー設計などを行います。

Azure運用代行サービス

Azure 運用代行サービス

Azure 上に構築したシステムの 24 時間 365 日の安定運用を実現いたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Azure導入個別相談会(無料)

Tag: Azure PowerShell Azure運用管理

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php