Azure Developer CLI のしくみ

完了

Azure Developer CLI (azd) は、開発者にとって使いやすいコマンドと基本的なアプリケーション テンプレートを中心に構築されています。 azd には、標準化されたプロジェクト テンプレートを使用して Azure 上のアプリケーションのオンボードと管理に役立つ一連のコマンドが用意されています。 これらのテンプレートには、アプリをプロビジョニングして Azure にデプロイするために必要なすべてのソース コードと構成資産が含まれます。 azd の使用を開始するには、既存の拡張可能なサンプル テンプレートのいずれかを使用するか、独自のテンプレートを作成することができます。

azd コマンドを調べる

Azure Developer CLI には、リソースのプロビジョニングやデプロイなど、一般的な開発ワークフロー ステージにマップされる、アプローチ可能な一連のコマンドが含まれています。 azd upなどの一部のazdコマンドでは、これらのタスクをさらに効率化するために、複数のステージを一度に処理することもできます。

例えば、既存のテンプレートを使用した一般的な azd ワークフローは、次のステップを含みます。

  1. --template パラメーターを指定して azd init コマンドを実行して、既存のテンプレートを複製し、プロンプトが表示されたら環境名を設定します。

    azd init --template todo-nodejs-mongo
    
  2. azd auth login コマンドを実行して、Azure サブスクリプションにサインインします。

    azd auth login
    
  3. azd up コマンドを実行して、テンプレート リソースを Azure にプロビジョニングし、デプロイします。

    azd up
    
  4. Azure で環境が設定されたら、アプリケーション機能または Azure リソース テンプレートをローカルで変更し、azd up をもう一度実行して変更をプロビジョニングすることができます。

他の azd コマンドを使用して、他のタスクを完了し、このワークフローを展開できます。 azd は、使用しやすくするために、パラメーターが少ない最小限の数のコマンドを使用するように設計されています。 最も一般的な azd コマンドの一部を次に示します。

  • azd init - 新しいアプリケーションを初期化します。
  • azd up - Azure リソースをプロビジョニングし、1 つのコマンドでプロジェクトをデプロイします。
  • azd provision - アプリケーションの Azure リソースをプロビジョニングします。
  • azd deploy - アプリケーション コードを Azure にデプロイします。
  • azd pipeline - (Beta) デプロイ パイプラインを管理および構成します。
  • azd auth - Azure で認証します。
  • azd config - azd 構成 (既定の Azure サブスクリプション、場所など) を管理します。
  • azd down - アプリケーションの Azure リソースを削除します。

azd テンプレートを調べる

Azure Developer CLI コマンドは、標準化されたプロジェクト テンプレートを使用するように設計されています。 各テンプレートは、特定のファイルおよびフォルダーの規則に準拠したコード リポジトリです。 テンプレートには、Azure リソース azd プロビジョニングし、必要に応じてアプリケーション ソース コードをデプロイするために必要な資産が含まれています。 一部のテンプレートには、独自のテンプレートを追加するという前提でアプリケーション ソース コードが含まれていない場合があります。 azd upなどのコマンドを実行すると、ツールはプロジェクト テンプレートアセットを使用して、リソースのプロビジョニングや Azure へのデプロイなどのさまざまなワークフローステップを実行します。

azd テンプレートを扱う方法には、主に次の 2 つのアプローチがあります。

  • 既存の azd テンプレートを拡張 する - 一般的なローカル アプリケーション スタック、シナリオ、アーキテクチャをカバーするために、 azd テンプレートの大規模なライブラリが既に存在します。 多くのテンプレートは、 awesome-azd テンプレート ライブラリ サイトで参照できます。 ローカル アプリケーション スタックまたは目的のアーキテクチャにマップされるテンプレートが見つかる場合は、それを開始点として使用できます。 次に、ソース コード ディレクトリを置き換え、ニーズに合わせて構成ファイルまたはインフラストラクチャ ファイルを変更します。

  • 独自のアプリをあるテンプレートに変換する - また、に対応させるためのガイドに従って、既存のアプリをに変換することもできます。 独自のテンプレートの作成は、多くの場合、最初は作業が多くなりますが、最も制御が可能になり、アプリでの将来の開発作業のために再利用可能なソリューションが生成されます。 独自のテンプレートを作成する主要な手順は次のとおりです。

    • azd init を使用してプロジェクト テンプレートを初期化する。

    • Bicep または Terraform を使用して、コード ファイルとしてインフラストラクチャを作成します。

    • アプリサービスとAzureリソースを結び付けるためにazure.yamlファイルを更新してください。

    • azd up を使用してプロビジョニングおよびデプロイ。

      Azure Developer CLI テンプレート作成ワークフローを示す図。

選択した方法に関係なく、結果のテンプレート構造は同じです。 すべての azd テンプレートには、次の資産が含まれます。

  • infra フォルダー - azd テンプレートのコード ファイルとしてすべての Bicep または Terraform インフラストラクチャが含まれています。 コードとしてのインフラストラクチャを使用すると、宣言型定義ファイルで、デプロイされるたびに同じ環境を確実に生成するインフラストラクチャのリソースと構成を定義できます。 Terraform は複数のクラウド プラットフォームで動作しますが、Bicep は Azure に固有です。 これらのファイルは、アプリをホストするために必要な Azure リソースを作成するために、azd によって実行されます。 コードとしてのインフラストラクチャの詳細については、「コードとしての インフラストラクチャとは」 トレーニング モジュールを参照してください。

  • azure.yaml ファイル - プロジェクト内の 1 つ以上のサービスを定義し、デプロイのために Azure リソースにマップする構成ファイル。 たとえば、API サービスと Web フロントエンド サービスを定義し、それぞれにデプロイのためのさまざまな Azure リソースにマップする属性を指定できます。

  • フォルダー - Azure の重要な構成や環境変数が含まれており、リソースのデプロイ先やその他のサブスクリプション情報に関する設定を提供します。

  • src folder - デプロイ可能なすべてのアプリのソース コードが含まれています。 一部の azd テンプレートはインフラストラクチャ資産のみを提供し、独自のアプリケーション コードを追加するために src ディレクトリを空のままにします。

    Azure Developer CLI テンプレートの構造を示すスクリーンショット。

さらに、ほとんどの azd テンプレートには、必要に応じて次のフォルダーが 1 つ以上含まれます。

  • .devcontainer フォルダー - アプリケーションの Dev Container 環境を設定できます。 azdに固有ではない一般的な開発環境のアプローチ。
  • .github フォルダー - azdの既定の CI/CD プロバイダーである GitHub Actions の CI/CD ワークフロー ファイルを保持します。
  • .azdo フォルダー - CI/CD に Azure Pipelines を使用する場合は、このフォルダーにワークフロー構成ファイルを定義します。