Azure App Configuration とは
Azure App Configuration は、アプリケーション設定と機能フラグを一元的に管理するためのサービスを提供します。 近年のプログラム、特にクラウドで実行されるプログラムは、その性質上、分散されたコンポーネントが多数存在するのが一般的です。 これらのコンポーネント全体に構成設定を分散させることは、トラブルシューティングすることの難しいエラーがアプリケーションのデプロイ中に発生する原因となります。 App Configuration を使用すると、アプリケーションのすべての設定を 1 か所に格納して、そのアクセスをセキュリティで保護することができます。
App Configuration を使用する理由
クラウドベースのアプリケーションは、複数リージョンにわたる複数の仮想マシンまたはコンテナーで実行され、複数の外部サービスを使用することが少なくありません。 分散環境で堅牢かつスケーラブルなアプリケーションを作成することは、大きな課題です。
アプリケーション構築の増大する複雑さに取り組む開発者には、さまざまなプログラミング手法が役立ちます。 たとえば、12 ファクター アプリには、クラウド アプリケーションで使用される多くの十分にテストされたアーキテクチャ パターンとベスト プラクティスが示されています。 このガイドの主な推奨事項の 1 つは、コードから構成を切り離すことです。 アプリケーションの構成設定をその実行可能ファイルとは別の場所に置いておき、その実行環境または外部ソースから読み取るようにする必要があります。
どのアプリケーションでも App Configuration を利用できますが、以下の例は、それを使用することにメリットがある種類のアプリケーションです。
- Azure Kubernetes Service、Azure Service Fabric、または 1 つ以上の地域にデプロイされるその他のコンテナー化されたアプリをベースにしたマイクロサービス
- サーバーレス アプリ (Azure Functions や、その他のイベント駆動型のステートレスなコンピューティング アプリなど)
- 継続的デプロイ パイプライン
App Configuration には次の利点があります。
- 数分で設定できるフル マネージド サービス
- 柔軟性に優れたキーによる表現とマッピング
- ラベルを使用したタグ付け
- 特定時点の設定の再生
- 専用の UI で機能フラグを管理
- 独自に定義したディメンションでの 2 つの構成群の比較
- Azure のマネージド ID で強化されたセキュリティ
- 保存時および転送中の機密情報の暗号化
- 広く使われているフレームワークとのネイティブ統合
App Configuration は、アプリケーションのシークレットを格納するために使用される Azure Key Vault を補完します。 App Configuration を使用すると、以下のシナリオを簡単に実装できます。
- さまざまな環境や地域に対応した階層型構成データの管理と配布を一元化する
- アプリケーションを再デプロイまたは再起動することなく、アプリケーション設定を動的に変更する
- 機能の可用性をリアルタイムで制御する
App Configuration の使用
App Configuration ストアを自分のアプリケーションに追加する最も簡単な方法は、Microsoft が提供するクライアント ライブラリを使用することです。 選択した言語とフレームワークに応じて、次の方法を使用して自分のアプリケーションに接続できます。
プログラミング言語とフレームワーク | 接続する方法 | クイックスタート |
---|---|---|
.NET | .NET 用 App Configuration プロバイダー | .NET クイックスタート |
ASP.NET Core | .NET 用 App Configuration プロバイダー | ASP.NET Core のクイックスタート |
.NET Framework および ASP.NET | .NET 用 App Configuration ビルダー | .NET Framework のクイックスタート |
Java Spring | Spring Cloud 用 App Configuration プロバイダー | Java Spring のクイックスタート |
JavaScript/Node.js | JavaScript 用 App Configuration プロバイダー | JavaScript/Node.js のクイックスタート |
Python | Python 用 App Configuration プロバイダー | Python クイックスタート |
その他 | App Configuration の REST API | なし |