ADE 機能拡張モデルとは
Azure Deployment Environments (ADE) を使用すると、開発チームがデプロイを実行するために使用する、コードとしてのインフラストラクチャ (IaC) テンプレートのキュレーションされたセットを提供できます。 ADE では、機能拡張モデルを通じて組織に強力な機能と柔軟性を提供します。これにより、プラットフォーム エンジニアは、任意の IaC フレームワークを使用して事前承認済みのテンプレートを定義できます。 次のダイアグラムは、ADE の完全なワークフローを示しています。 カタログには、デプロイで使用するためにコンテナー イメージを参照する IaC テンプレートが格納されます。 プラットフォーム エンジニアは、これらのイメージとテンプレートをキュレーションし、開発の段階に基づいて環境設定を構成することで、開発者が高度に特化したデプロイ環境を作成できるようにします。 開発者は、Dev/Test 目的で即席の環境を作成したり、CI/CD パイプラインの一部として、または自動化されたパイプラインの一部として共有環境を作成したりできます。
機能拡張モデルにより、プラットフォーム エンジニアは、Azure Resource Manager (ARM)、Bicep、Terraform、Pulumi などの任意の IaC フレームワークを使用してアプリ インフラストラクチャを定義できます。 プラットフォーム エンジニアは、さまざまなシナリオに合わせてコンテナー イメージを作成およびカスタマイズします。 これらのイメージをコンテナー レジストリにプッシュし、環境定義のメタデータ ファイルで参照します。 これにより、デプロイが行われるたびに、コンテナー イメージの構成に基づいてデプロイが実行されるようになります。 次のダイアグラムは、コンテナー レジストリに格納されているカスタム イメージとカタログ内の環境定義のリレーションシップを示しています。
カスタム イメージの概要
必要な IaC フレームワークとニーズの複雑さに応じて、カスタム イメージを作成およびビルドするための複数のオプションから選択できます。
ARM-Bicep
標準イメージを使用する
ファースト パーティ フレームワーク (ARM と Bicep) の場合、ADE は顧客が利用でき、識別子 ARM または Bicep を使用するだけで、それぞれの IaC テンプレートを環境定義として構成できる標準イメージを提供します。 ARM または Bicep のデプロイの場合は、environment.yaml ファイルで参照し、テンプレート ファイル (azuredeploy.json、main.bicep) でリソースを定義することで、標準イメージを使用できます。
手順については、「標準コンテナー イメージを使用する」を参照してください。
スクリプトを使用してカスタム イメージを作成する
カスタム イメージをビルドしてコンテナー レジストリにプッシュするプロセスを容易にするために、Microsoft はイメージをビルドして指定したレジストリにプッシュするスクリプトを提供しています。
手順については、「スクリプトを使用してカスタム コンテナー イメージを作成する」を参照してください。
カスタム イメージを手動で作成する
より複雑なシナリオでは、標準イメージから開始し、ソフトウェア パッケージをインストールして設定を調整することによりカスタマイズします。 イメージをビルドし、ADE がアクセスできるコンテナー レジストリにアップロードします。 イメージの場所を environment.yaml ファイルで指定します。
手順については、「カスタム コンテナー イメージを手動で作成する」を参照してください。
Terraform
スクリプトを使用してカスタム イメージを作成する
Terraform 固有のイメージをビルドしてコンテナー レジストリにプッシュするプロセスを容易にするために、Microsoft は、イメージをビルドして指定したレジストリにプッシュするスクリプトを提供しています。
手順については、「スクリプトを使用してカスタム コンテナー イメージを作成する」を参照してください。
GitHub ワークフローを使用してカスタム イメージを作成する
Terraform 固有のイメージをビルドしてコンテナー レジストリにプッシュするプロセスを容易にするために、イメージをビルドして指定したレジストリにプッシュする公開済みワークフローを使用できます。
手順については、「GitHub ワークフローを使用してカスタム コンテナー イメージを作成する」を参照してください。
Terraform 固有のコンテナー イメージを手動で作成する
GitHub ワークフローを使用して、Terraform 固有のイメージに必要なソフトウェア、設定、その他のカスタマイズを含む Terraform 固有のイメージを作成できます。 その後、新しいイメージをコンテナー レジストリにアップロードし、environment.yaml ファイルで参照して使用できます。
手順については、「カスタム コンテナー イメージを手動で作成する」を参照してください。
Pulumi
標準イメージを使用する
Pulumi チームは、ADE 環境の定義から直接使用できる、作業を始めるための事前構築済みのイメージを提供しています。 Pulumi イメージの場合は、environment.yaml ファイルで標準イメージを参照し、プロジェクト ファイル (pulumi.yaml) でデプロイするリソースを定義することで、標準イメージを使用できます。
手順については、「Pulumi が提供する標準コンテナー イメージを使用する」を参照してください。
カスタム イメージを手動で作成する
より複雑なシナリオでは、標準イメージから開始し、ソフトウェア パッケージをインストールして設定を調整することによりカスタマイズします。 イメージをビルドし、ADE がアクセスできるコンテナー レジストリにアップロードします。 イメージの場所を environment.yaml ファイルで指定します。
手順については、「カスタム イメージを作成する」を参照してください。