で機能フラグとフリーフォーム設定データを作成する AWS AppConfig - AWS AppConfig

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

で機能フラグとフリーフォーム設定データを作成する AWS AppConfig

このセクションのトピックは、 で以下のタスクを完了するのに役立ちます AWS AppConfig。これらのタスクでは設定データのデプロイにおいて重要なアーティファクトが作成されます。

1. アプリケーションの名前空間を作成する

アプリケーション名前空間を作成するには、アプリケーションと呼ばれる AWS AppConfig アーティファクトを作成します。アプリケーションはフォルダのようなシンプルな組織構造です。

2. 環境の作成

AWS AppConfig アプリケーションごとに、1 つ以上の環境を定義します。環境は、 Betaまたは Production環境内のアプリケーションなど、 AWS AppConfig ターゲットの論理的なデプロイグループです。アプリケーションの AWS Lambda functionsContainersWebMobile および Back-end といったコンポーネントを含む、アプリケーションのサブコンポーネントの環境を定義することもできます。‬‬

問題のある設定変更を自動的にロールバックするように、環境ごとに Amazon CloudWatch アラームを設定できます。システムは、設定のデプロイ中にアラームをモニタリングします。アラームがトリガーされると、システムは設定をロールバックします。

3. 設定プロファイルの作成

設定データは、アプリケーションの動作に影響を与える設定のコレクションです。設定プロファイルには、 URIが保存された場所に設定データを配置 AWS AppConfig できるようにする と、設定タイプが含まれます。 は、次のタイプの設定プロファイル AWS AppConfig をサポートします。

  • 機能フラグ : 機能フラグを使用して、アプリケーション内の機能を有効または無効にしたり、フラグ属性を使用してアプリケーション機能のさまざまな特性を設定したりできます。 AWS AppConfig は、フラグとフラグ属性に関するデータとメタデータを含む機能フラグ形式で AWS AppConfig 、ホストされた設定ストアに機能フラグ設定を保存します。機能フラグ設定URIの は単に ですhosted

  • フリーフォーム設定 : フリーフォーム設定では、次のいずれかのサービスと機能にデータを保存できます。

    • AWS AppConfig ホスト設定ストア

    • Amazon Simple Storage Service

    • AWS CodePipeline

    • AWS Secrets Manager

    • AWS Systems Manager (SSM) パラメータストア

    • SSM ドキュメントストア

注記

可能な限り、ホストされた設定ストアで設定データをホストすることをお勧めします。ホスト AWS AppConfig された設定ストアは、最も多くの機能と機能強化を提供します。

4. (オプション、ただし推奨) マルチバリアント機能フラグを作成する

AWS AppConfig は、基本的な機能フラグを提供します。この機能フラグは (有効になっている場合) リクエストごとに特定の設定データのセットを返します。ユーザーセグメンテーションとトラフィック分割のユースケースをより適切にサポートするために、 には、リクエストに対して返す可能性のあるフラグ値のセットを定義できるマルチバリアント機能フラグ AWS AppConfig も用意されています。また、マルチバリアントフラグに異なるステータス (有効または無効) を設定することもできます。バリアントで設定されたフラグをリクエストすると、アプリケーションは一連のユーザー定義ルールに対して AWS AppConfig を評価するコンテキストを提供します。リクエストで指定されたコンテキストとバリアントに定義されたルールに応じて、 は異なるフラグ値をアプリケーションに AWS AppConfig 返します。

次のセクションには、機能フラグとフリーフォーム設定データサンプルが含まれています。

機能フラグ設定データ

次の機能フラグ設定データは、リージョンごとにモバイル支払いとデフォルト支払いを有効または無効にします。

JSON
{ "allow_mobile_payments": { "enabled": false }, "default_payments_per_region": { "enabled": true } }
YAML
--- allow_mobile_payments: enabled: false default_payments_per_region: enabled: true

運用設定データ

次のフリーフォーム設定データは、アプリケーションがリクエストを処理する方法に制限を適用します。

JSON
{ "throttle-limits": { "enabled": "true", "throttles": [ { "simultaneous_connections": 12 }, { "tps_maximum": 5000 } ], "limit-background-tasks": [ true ] } }
YAML
--- throttle-limits: enabled: 'true' throttles: - simultaneous_connections: 12 - tps_maximum: 5000 limit-background-tasks: - true

アクセスコントロールリストの設定データ

次のアクセスコントロールリストのフリーフォーム設定データは、アプリケーションにアクセスできるユーザーまたはグループを指定します。

JSON
{ "allow-list": { "enabled": "true", "cohorts": [ { "internal_employees": true }, { "beta_group": false }, { "recent_new_customers": false }, { "user_name": "Jane_Doe" }, { "user_name": "John_Doe" } ] } }
YAML
--- allow-list: enabled: 'true' cohorts: - internal_employees: true - beta_group: false - recent_new_customers: false - user_name: Jane_Doe - user_name: Ashok_Kumar