適切なコマンド ライン ツールを選択する

完了

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 はい はい いいえ No
宣言型 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 ツールです。

自分の経験を活用できる、学習曲線を短縮するツールを選択してください。 柔軟な考えを持つことで初めて、自分の能力を向上できます。 妥当であれば、別のツールを使用してください。