次の方法で共有


Azure Developer CLI テンプレートの概要

Azure Developer CLI (azd) テンプレートは、サンプル アプリケーション コード、構成ファイル、 azd インフラストラクチャ ファイルを含む標準コード リポジトリです。 azd テンプレートを使用すると、Azure リソースのプロビジョニング、アプリケーションのデプロイ、CI/CD パイプラインの構成などを行うことができます。 独自のテンプレートを作成することも、Awesome AZD などのテンプレート リポジトリから既存のテンプレートの使用を開始することもできます。 この記事では、次の概念について説明します。

  • テンプレートを使用してアプリ リソースをプロビジョニングおよびデプロイする方法azd
  • azdテンプレートの構造
  • 既存のテンプレートを使用するか作成するかを決定する方法
  • 既存の azd スターター テンプレートを調べる

Azure Developer CLI テンプレートを使用する理由

開発者は、クラウド用に適切に設計および構成された環境アプリを構築するときに、多くの時間と困難なタスクに直面することがよくあります。 Teams では、リソースの作成、構成の適用、監視とログ記録の設定、CI/CD パイプラインの構築、その他のタスクなど、これらの環境のさまざまな懸念事項を考慮する必要があります。 azd テンプレートは、ローカル開発から Azure に正常にデプロイされたアプリへの開発者の体験を支援するために、これらの責任を軽減し、合理化します。

たとえば、チケット管理と顧客通信プラットフォームを運営する会社で働いているとします。これには、次の Azure リソースが必要です。

  • 2 つの App Service インスタンスと、フロントエンド Web アプリとバックエンド API をホストする App Service プラン
  • セキュリティで保護されたアプリ シークレットを格納するための Key Vault インスタンス
  • アプリ データを永続的に格納するための Cosmos DB データベース
  • Application Insights ダッシュボードなどの Azure Monitor リソース
  • スケーラブルなメッセージングを管理するための Service Bus
  • 自動化された反復可能なプロセスを通じて変更内容を確実にデプロイできるようにするための CI/CD パイプライン。

最初からではなく、 azd 既存のアーキテクチャ テンプレートを利用して、ほとんどのリソースをプロビジョニングしてデプロイすることができます。 その後、開発チームは、アプリを構築し、テンプレート アーキテクチャをより小さく調整することに集中できます。

Azure Developer CLI テンプレートのしくみ

Azure Developer CLI テンプレートは、次のようなazd initazd upコマンドを使用azdするように設計されています。 テンプレートには、Azure リソースのプロビジョニングやアプリ コードのデプロイなどのタスクを実行するためにコマンドによって使用される構成ファイルとコードとしてのインフラストラクチャ (IaC) ファイルが含まれます。

たとえば、既存のテンプレートを使用する一般的な azd ワークフローには次の手順が含まれます。

  1. パラメーターを指定して azd init コマンドを --template 実行し、GitHub から既存のテンプレートを複製します。

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

    azd auth login
    
  3. azd up コマンドを実行して、テンプレート リソースをプロビジョニングし、Azure にデプロイします。 このコマンドは azd up 、テンプレート内の構成とコードとしてのインフラストラクチャ (IaC) ファイルを利用して Azure リソースをプロビジョニングし、それらのリソースにアプリケーションをデプロイします。

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

Azure Developer CLI テンプレートの構造について

すべての azd テンプレートは、規則に基づいて同様のファイル構造を azd 共有します。 最低限必要な資産には、通常、次のものが含まれます。

  • infra フォルダー - すべての Bicep または Terraform インフラストラクチャがazd テンプレートのコード ファイルとして含まれます。 これらのファイルは、アプリをホストするために必要な Azure リソースを作成するために、azd によって実行されます。

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

  • .azure フォルダー - リソースやその他のサブスクリプション情報をデプロイする場所など、重要な Azure 構成と環境変数が含まれています。

  • src folder - 配置可能なすべてのアプリのソース コードが含まれています。 一部 azd のテンプレートではフォルダーが src 除外され、独自のアプリケーション コードを追加できるようにインフラストラクチャ資産のみが提供されます。

    Note

    フォルダーを除外 src するテンプレートは、通常、インフラストラクチャ スターター テンプレートとして設計されています。

azd テンプレートには、必要に応じて、次のフォルダーの 1 つ以上も含まれます。

  • .github folder - Azd の既定の CI/CD プロバイダーである GitHub Actions の CI/CD ワークフロー ファイルを保持します。
  • .azdo フォルダー - CI/CD に Azure Pipelines を使用する場合は、このフォルダーにワークフロー構成ファイルを定義します。
  • .devcontainerfolder - アプリケーションの開発コンテナー環境を設定できます。

たとえば、一般的 azd なテンプレートは、次のフォルダー構造と一致する場合があります。

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

既存のテンプレートから始めるか、自分で作成する

azd テンプレートを操作するには、主に次の 2 つのアプローチがあります。

  • 既存 azd のテンプレートから始めます。
    • これは、使用を開始 azd したばかりの場合、または同様のアーキテクチャとフレームワークを持つ新しいアプリ用に構築するテンプレートを探している場合に適しています。
  • 既存のプロジェクトをテンプレートに変換します azd
    • これは、既存のアプリを既に用意しているが、機能との azd 互換性を持たせたい場合に適しています。

以降のセクションでは、これら 2 つのオプションの詳細について説明します。

既存のテンプレートから始める

awesome-azd テンプレート ギャラリーでは、さまざまなazdテンプレートを利用できます。 これらのテンプレートは、さまざまな開発シナリオ、言語フレームワーク、および Azure サービスのインフラストラクチャとアプリケーション コードを提供します。 ローカル アプリケーション スタックまたは目的のアーキテクチャに合ったテンプレートが見つかると、テンプレート コードを独自のコードに拡張して置き換えることができます。

たとえば、次 azd のテンプレートは、一般的なアプリのアーキテクチャとフレームワークの開始点を提供します。

Template アプリ ホスト 技術スタック
Azure 上で C# API と MongoDB を使用した React Web アプリ Azure App Service Azure Cosmos DB for NoSQL、Bicep
Azure 上で C# API と SQL データベースを使用した React Web アプリ Azure App Service Azure SQL Database、Bicep
Azure 上で C# API と SQL データベースを使用した Static s Azure Static Web AppsAzure Functions Azure SQL Database、Bicep

アプリの新しい azd テンプレートを作成する

既存のアプリをテンプレートに変換して、 azd プロビジョニングとデプロイの機能を使用してリポジトリを強化することもできます。 このアプローチにより、最も制御が可能になり、アプリでの将来の開発作業に対して再利用可能なソリューションが生成されます。 独自のテンプレートを作成する手順の概要は次のとおりです。

  • azd init を使用してプロジェクト テンプレートを初期化する。
  • Bicep または Terraform インフラストラクチャをコード ファイルとしてフォルダーに infra 作成します。
  • アプリ サービスと Azure リソースを結び付けるように azure.yaml ファイルを更新する。
  • azd up を使用してプロビジョニングし、デプロイする。

次のリソースは、独自のテンプレートの作成に関する詳細情報を提供します。

azd テンプレートを使用するためのガイドライン

Azure Developer CLI と組み合わせて使用する各テンプレートは、テンプレートに付随する契約に基づき、それぞれの所有者 (Microsoft である場合とそうでない場合があります) によってライセンスが付与されることに注意してください。 使用するテンプレートにどのライセンスが適用されるのかを判断するのは、お客様の責任です。

Microsoft は、Microsoft 製以外のテンプレートについて責任を負わず、セキュリティ、プライバシー、互換性、またはパフォーマンスの問題についてこれらのテンプレートをスクリーニングしません。 Azure Developer CLI で使用するテンプレート (Microsoft から提供されたものも含む) は、Microsoft サポート プログラムまたはサービスではサポートされていません。 Microsoft が提供するテンプレートは、いかなる種類の保証もなく現状のまま提供されます。

次のステップ