スナップショットとは、App Configuration ストアのキーと値に関する名前付きの不変のサブセットを指します。 スナップショットを構成するキーと値は、作成時にキー フィルターとラベル フィルターを使用して選択されます。 スナップショットが作成されると、その中のキーと値は変更されないことが保証されます。
この ビデオでは、スナップショットが役に立つ可能性がある 3 つの理由について簡単に説明します。
スナップショットを使用して安全にデプロイする
スナップショットは、構成変更を安全にデプロイするように設計されています。 欠陥のある構成変更を実行環境にデプロイすると、サービスの中断やデータ損失などの問題が発生する可能性があります。 このような問題を回避するには、運用環境に移行する前に構成の変更を精査できることが重要です。 このような問題が発生した場合、サービスを復元するために、欠陥のある構成変更をロールバックできることが重要です。 スナップショットは、これらのシナリオを管理するために作成されます。
構成の変更は、制御された一貫性のある方法でデプロイする必要があります。 開発者はスナップショットを使用して、制御されたロールアウトを実行できます。 制御されたロールアウトを開始するためにアプリケーションで必要となる唯一の変更は、アプリケーションが参照しているスナップショットの名前を更新することです。 アプリケーションが運用環境に移行しても、参照されるスナップショットの構成が変更されないことが保証されます。 スナップショットの変更に対するこの保証により、予期しない設定が運用環境に侵入することを防止できます。 スナップショットは不変で参照が容易なため、適切な構成変更セットが安全にロールアウトされることを簡単に確認できます。
スナップショットを使用するためのシナリオ
制御されたロールアウト: スナップショットは、不変の性質により、制御されたロールアウトをサポートするのに適しています。 開発者が構成にスナップショットを利用すると、リリースがロールアウトのさまざまな段階を経ても構成が変更されないことを確信できます。
前回正常起動時 (LKG) の構成: スナップショットを使用して、構成を安全に展開することをサポートできます。 スナップショットを使用すると、デプロイ中に問題が発生しても、開発者は前回正常起動時 (LKG) の構成をロールバック用に利用できることを確認できます。
構成のバージョン管理: スナップショットを使用して、リリース バージョンと同期する構成設定のバージョン履歴を作成できます。 各スナップショットでキャプチャされた設定を比較することで、バージョン間の変更を特定できます。
監査: スナップショットは、監査とコンプライアンスの目的で使用できます。 開発者はリリースのスナップショットを使用して、リリース間の構成変更の記録を維持できます。
テスト環境とステージング環境: スナップショットを使用して、一貫したテスト環境とステージング環境を作成できます。 開発者は同じスナップショットを使用することで、異なる環境間で同じ構成が使用されていることを確認できるため、デバッグやテストに役立ちます。
クライアント構成の簡略化: 通常、App Configuration のクライアントには、App Configuration インスタンスのキー値のサブセットが必要です。 必要なキーと値のセットを取得するには、クエリ ロジックをコードで記述する必要があります。 スナップショットは作成時のフィルターの提供をサポートし、クライアントは必要なキーと値のセットを名前で参照できるため、クライアントの構成が簡素化されます。
スナップショットの操作
スナップショットは不変エンティティであるため、スナップショットは作成とアーカイブのみが可能です。 削除、消去、編集はできません。
スナップショットの作成: スナップショットは、App Configuration インスタンスから必要なキー値をキャプチャするキーフィルターとラベル フィルターを定義することで作成できます。 フィルター処理されたキーと値は、作成時に指定された名前のスナップショットとして保存されます。
アーカイブ スナップショット: スナップショットをアーカイブすると、アーカイブされた状態になります。 スナップショットはアーカイブ中も完全に機能します。 スナップショットがアーカイブされると、スナップショットの作成時に構成された保持期間に基づいて有効期限が設定されます。 スナップショットが有効期限までアーカイブされた状態にあっても、有効期限が経過するとスナップショットはシステムから自動的に消えます。 アーカイブは、使用されなくなったスナップショットを段階的に廃止するために使用されます。
スナップショットの復旧: スナップショットを復旧すると、アクティブな状態に戻ります。 この時点で、スナップショットが構成された保持期間に基づいて有効期限切れになることはもうありません。 復旧はアーカイブ後の保持期間中にのみ可能です。
注
保持期間はスナップショットの作成中にのみ設定できます。 保持期間の既定値は、Standard レベルと Premium レベルのストアでは 30 日間、Free および Developer レベルのストアでは 7 日間です。
スナップショットの操作の要件
以下のセクションでは、Microsoft Entra ID と HMAC 認証を使ってスナップショット関連の操作を実行するために必要なアクセス許可について詳しく説明します。
スナップショットの作成
Microsoft Entra 認証を使ってストアでスナップショットを作成するには、次のアクセス許可が必要です。 App Configuration データ所有者ロールには、これらのアクセス許可が既に付与されています。
Microsoft.AppConfiguration/configurationStores/keyvalues/read
Microsoft.AppConfiguration/configurationStores/snapshots/write
HMAC 認証を使用してスナップショットを作成するには、読み取りと書き込みのアクセス キーを使用する必要があります。
スナップショットのアーカイブと復旧
Microsoft Entra 認証を使ってスナップショットをアーカイブおよび/または復旧するには、次のアクセス許可が必要です。 App Configuration データ所有者ロールには、このアクセス許可が既に付与されています。
Microsoft.AppConfiguration/configurationStores/snapshots/archive/action
HMAC 認証を使用してスナップショットをアーカイブおよび/または回復するには、読み取りと書き込みのアクセス キーを使用する必要があります。
スナップショットの読み取りと一覧表示
すべてのスナップショットの一覧を表示し、名前を指定して個々のスナップショット内のすべてのキーと値を取得するには、Microsoft Entra 認証を利用するストアに対する次のアクセス許可が必要です。 組み込みのデータ所有者ロールとデータ閲覧者ロールには、このアクセス許可が既に付与されています。
Microsoft.AppConfiguration/configurationStores/snapshots/read
HMAC 認証を使用するストアの場合、"スナップショットの読み取り" 操作 (スナップショットからキーと値を読み取る) と "スナップショットの一覧表示" 操作の両方を、読み取りと書き込みのアクセス キーまたは読み取り専用のアクセス キーを使用して実行できます。
請求に関する考慮事項と制限
App Configuration には、Free、Developer、Standard、Premium の 4 つのレベルがあります。 次の表は、各層のスナップショット ストレージ クォータをまとめたものです。
レベル | スナップショット ストレージ クォータ |
---|---|
無料 | 10 MB |
ディベロッパー | 500 MB |
スタンダード | 1 GB |
プレミアム | 4 GB |
アクティブなスナップショットとアーカイブされたすべてのスナップショットの合計ストレージ サイズが階層のクォータを超えていない限り、必要な数のスナップショットを作成できます。 個々のスナップショットの最大サイズは 1 MB です。