Azure には、ユーザーがクラウド サービスを操作するのに役立つ複数のコマンド ライン ツールが用意されています。 最も一般的に使用されるツールの 2 つは 、Azure Developer CLI と Azure CLI です。 どちらのオプションでも、ユーザーは Azure でリソースを管理およびデプロイできるようになりますが、対象ユーザーやユース ケースごとに設計されています。 次のセクションでは、各ツールの概要を説明し、その違いを強調し、さまざまな状況に最適なツールを選択するのに役立つ比較を提供します。
Azure Developer CLI とは
Azure Developer CLI (azd) は、Azure でのフル スタック アプリの構築、プロビジョニング、デプロイ、管理のプロセスを効率化するために設計された開発者向けのコマンドライン ツールです。 主な機能は次のとおりです。
- プロビジョニングやデプロイなど、アプリのライフサイクル ステージに関する高度なコマンド
- アプリのコードおよびデプロイ構成としてインフラストラクチャを定義するテンプレート システム
- アプリ リソースの自動プロビジョニングとデプロイ
- GitHub Actions または Azure Pipelines 用の組み込みの CI/CD パイプラインのセットアップ
- 一般的なアプリ アーキテクチャ用のスターター アプリ テンプレートのギャラリー
Azure CLI とは
Azure CLI (az) は、Azure リソースを管理するための汎用コマンド ライン インターフェイスです。 プログラムまたは対話形式でリソースを作成、構成、削除、監視するための包括的なコマンド セットが提供されます。 主な機能は次のとおりです。
- Azure リソースに対するきめ細かな管理制御
- スクリプト作成とタスクの自動化のサポート
- さまざまな Azure サービスとツールとの統合
- 多くのテナント、サブスクリプション、環境にわたるリソース管理
ツールはどのように異なりますか?
Azure Developer CLI と Azure CLI の両方に Azure 用のコマンド ライン インターフェイスが用意されていますが、さまざまな目的と対象ユーザーを提供します。
- Azure Developer CLI: アプリケーションの構築とデプロイに関する意見を持つワークフローを提供することで、開発者エクスペリエンスを簡素化することに重点を置いています。 リソース管理の複雑さの多くを抽象化し、アプリケーション中心のタスクに合わせて調整されます。
- Azure CLI: Azure リソースをきめ細かく制御でき、IT 管理者、DevOps エンジニア、開発者など、幅広い対象ユーザー向けに設計されています。 個々のリソースを柔軟に管理できますが、特定の Azure サービスに関する知識が必要です。
コマンドの比較
両方の CLI ツールで使用可能なコマンドを印刷して、これらの違いを視覚化できます。 たとえば、Azure Developer CLI コマンド azd help を実行して、ツールと使用可能なコマンドに関する情報を表示します。
Usage
azd [command]
Commands
Configure and develop your app
auth : Authenticate with Azure.
config : Manage azd configurations (ex: default Azure subscription, location).
hooks : Develop, test and run hooks for an application. (Beta)
init : Initialize a new application.
restore : Restores the application's dependencies. (Beta)
template : Find and view template details. (Beta)
Manage Azure resources and app deployments
deploy : Deploy the application's code to Azure.
down : Delete Azure resources for an application.
env : Manage environments.
package : Packages the application's code to be deployed to Azure. (Beta)
provision : Provision the Azure resources for an application.
up : Provision Azure resources, and deploy your project with a single command.
Monitor, test and release your app
monitor : Monitor a deployed application. (Beta)
pipeline : Manage and configure your deployment pipelines. (Beta)
show : Display information about your app and its resources.
上記の出力のコマンドは、アプリのデプロイ、アプリの構成、監視の管理など、開発ワークフローの大まかな問題にマップされます。
ただし、Azure CLI の az help コマンドを実行すると、次のような出力が表示されます。
Group
az
Subgroups:
account : Manage Azure subscription information.
acr : Manage private registries with Azure Container Registries.
ad : Manage Microsoft Entra ID (formerly known as Azure Active
Directory, Azure AD, AAD) entities needed for Azure role-based
access control (Azure RBAC) through Microsoft Graph API.
advisor : Manage Azure Advisor.
afd : Manage Azure Front Door Standard/Premium.
aks : Manage Azure Kubernetes Services.
ams : Manage Azure Media Services resources.
apim : Manage Azure API Management services.
appconfig : Manage App Configurations.
appservice : Manage App Service plans.
aro : Manage Azure Red Hat OpenShift clusters.
backup : Manage Azure Backups.
batch : Manage Azure Batch.
bicep : Bicep CLI command group.
billing : Manage Azure Billing.
bot : Manage Microsoft Azure Bot Service.
cache : Commands to manage CLI objects cached using the `--defer`
(omitted for brevity...)
上記の出力では、すべてのコマンドは、Azure Container Registries や Azure Billing サービスなどの特定の Azure リソースの構成の管理に重点を置きます。
機能の比較
次の表では、Azure Developer CLI と Azure CLI の主な違いについて詳しく説明します。
| 機能 | Azure Developer CLI (azd) |
Azure CLI (az) |
|---|---|---|
| 主な対象 | 開発者はクラウドネイティブ アプリの構築に重点を置いた | 開発者、IT 管理者、DevOps エンジニア |
| 主なユース ケース | エンド ツー エンドのアプリ ライフサイクル管理 | Azure リソースの管理と管理 |
| タスクの種類 | アプリ リソースのプロビジョニングとデプロイ、CI/CD パイプラインのセットアップ | リソースの管理とスクリプト |
| コマンドの動作 | 一般的なワークフロー用のオピニオン化された高レベルのコマンド | きめ細かな制御のための柔軟で低レベルのコマンド |
| テンプレートのサポート | 一般的なアーキテクチャ用の定義済みテンプレートが含まれています | テンプレートがありません。リソースの手動構成が必要 |
| IaC のサポート | Bicep や Terraform などの IaC ツールのネイティブ サポート | 個別の IaC セットアップと統合が必要 |
| CI/CD 統合 | GitHub Actions または Azure Pipelines のパイプライン設定を自動化する | 組み込みの CI/CD オートメーションなし |
ユース ケースの比較
適切なツールの選択は、特定のニーズと実行するタスクによって異なります。 ワークフローに使用するツールを決定するのに役立つ各ツールが優れているシナリオの例を次に示します。
Azure Developer CLI を使用するタイミング
Azure Developer CLI は、アプリケーションの開発とデプロイのためにエンドツーエンドのワークフローを管理する必要があるシナリオに最適です。 ユース ケースの例を次に示します。
- 移植可能で反復可能な方法でフルスタックのクラウドネイティブ アプリをパッケージ化、プロビジョニング、デプロイする
- 事前に定義されたテンプレートを使用してサンプル アプリ アーキテクチャを迅速にプロビジョニングし、迅速なプロトタイプ作成を行う
- 最小限の労力で GitHub Actions または Azure Pipelines 用の CI/CD パイプラインを設定する
Azure CLI を使用するタイミング
Azure CLI は、個々の Azure リソースまたは高度なスクリプト機能をきめ細かく制御する必要があるシナリオに最適です。 ユース ケースの例を次に示します。
- Azure リソースの作成、構成、または削除
- カスタム スクリプトを使用したリソース管理の自動化
- Azure リソースの監視とトラブルシューティング
- より広範な DevOps ワークフローへのリソース管理の統合
これらのユース ケースを理解することで、特定のニーズに適したツールを特定したり、両方のツールを組み合わせて使用して効率を最大化したりできます。
結論
Azure Developer CLI と Azure CLI は、さまざまな対象ユーザーとユース ケース向けに設計された補完的なツールです。 Azure Developer CLI を使用すると、開発者向けのアプリのパッケージ化、プロビジョニング、デプロイが簡単になりますが、Azure CLI では管理タスクをきめ細かく制御できます。 ロールと要件に応じて、1 つまたは両方のツールを使用して Azure で目標を達成できます。