適切なコマンド ライン ツールを選択する
Azure portal で行うすべてのアクションは、Azure リソースを作成、読み取り、更新、または削除するための、API に対するバックグラウンドでのコードの実行に変換されます。 Azure コマンドライン ツールは、大規模な Azure リソースのプロビジョニングを自動化できる API のラッパーです。
Azure の自動化オプション
Azure リソースの自動化には、一般的に、Azure CLI、Azure PowerShell、Bicep、Terraform の 4 つのコマンドライン ツールを使用します。
ツールを比較する方法
Azure CLI、Azure PowerShell、Bicep、Terraform には類似点がありますが、それぞれに異なる利点があります。 あなたは Azure Storage のプロビジョニングを任されています。環境内で最適な利点が得られるツールの機能はどれですか?
次の表は、各 Azure コマンドライン ツールの機能を示しています。 この表で、
- アイコンは、指定したコマンドライン ツールの機能が
true
であることを示します。 - アイコンは、指定したコマンドライン ツールの機能が
false
であることを示します。
機能 | Azure CLI | Azure PowerShell | Bicep | Terraform |
---|---|---|---|---|
命令型 IaC | ||||
宣言型 IaC | ||||
Azure ネイティブ | ||||
クラウドに依存しない | ||||
Windows、Linux、macOS で実行できる | ||||
Azure Storage リソースを作成、編集、削除できる |
各ツールについて詳しく見てみましょう。 Azure CLI と Azure PowerShell、Bicep と Terraform の機能のうち、環境に適している組み合わせを 1 つ以上挙げてください。
Azure CLI と Azure PowerShell
Azure CLI と Azure PowerShell は、Azure リソースを作成および管理できるようにするコマンドライン ツールです。
Azure CLI
- クロスプラットフォーム コマンドライン インターフェイスであり、Windows、Linux、macOS にインストールできる
- Azure Cloud Shell、PowerShell、Bash、
Cmd.exe
、または Docker コンテナーで実行される - Python に基づいている
- 既定では JSON 文字列が出力されるが、テーブル、YAML、TSV などの他の形式オプションを使用できる
- JMESPath クエリ構文を使用してコマンド出力のクエリを実行できる。
az vm
などの "グループ"、およびaz vm disk
などの "サブグループ" に編成されるコマンドが使用される- 単純な
reference name -command -parameter -parameter value
パターンに従う構文がある - 非同期操作をサポート
Azure PowerShell
- クロスプラットフォーム PowerShell モジュールであり、Windows、Linux、macOS で実行される
- PowerShell、Azure Cloud Shell、または Docker コンテナーでローカルに実行される
- .NET Standard に基づいている
- タブ補完と予測 IntelliSense を備えている
- .NET オブジェクトを返す
- 検出しやすいように
Verb-Noun
コマンド名を使用する
Bicep と Terraform
Bicep
Bicep は、宣言型の構文を使用して Azure リソースをデプロイするドメイン固有言語 (DSL) です。 Bicep ファイルに、Azure にデプロイしたいインフトラクチャを定義します。 その後、開発ライフサイクル全体でファイルを使用して、インフラストラクチャをデプロイします。 リソースは一貫した方法でデプロイされます。
Bicep では、簡潔な構文、信頼性の高いタイプ セーフ、およびコードの再利用のサポートが提供されます。 Bicep では、Azure の IaC ソリューションに対して優れた作成エクスペリエンスを提供しています。
Terraform
HashiCorp Terraform は、クラウド インフラストラクチャのプロビジョニングおよび管理を行うためのオープンソースの IaC ツールです。 トポロジに必要な状態を記述する構成ファイル内のインフラストラクチャを体系化します。 Terraform では、Terraform プロバイダーを使用して、パブリック クラウド、プライベート クラウド、サービスとしてのソフトウェア (SaaS) サービスなどのインフラストラクチャを管理できます。
最適な Azure コマンドライン ツール
ツールを選ぶときは、過去の経験と現在の作業環境を考慮してください。 オプションの概要を次に示します。
- Azure CLI の構文は、Bash スクリプトに似ています。
- Azure PowerShell は PowerShell モジュールです。 コマンドは
Verb-Noun
の名前付けスキームに従い、データはオブジェクトとして返されます。 - Bicep は、宣言型の構文を使用して Azure リソースをデプロイする DSL です。
- Terraform は、クラウド インフラストラクチャのプロビジョニングおよび管理を行うためのオープンソースの IaC ツールです。
自分の経験を活用できる、学習曲線を短縮するツールを選択してください。 柔軟な考えを持つことで初めて、自分の能力を向上できます。 妥当であれば、別のツールを使用してください。