View a markdown version of this page

AWS AppConfig エージェントを使用して設定データを取得する方法 - AWS AppConfig

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

AWS AppConfig エージェントを使用して設定データを取得する方法

AWS AppConfig エージェントは、 AWS AppConfig 機能フラグまたはフリーフォーム設定データを取得するために推奨される方法です。エージェントは、Amazon EC2、Amazon ECS、Amazon EKS、Lambda など、あらゆる形式の AWS コンピューティングでサポートされています。初期エージェントのセットアップが完了したら、エージェントを使用して設定データを取得する方が、 AWS AppConfig APIsを直接呼び出すよりも簡単です。エージェントはベストプラクティスを自動的に実装し、設定を取得するための API 呼び出しが少なくな AWS AppConfig るため、 の使用コストを削減できます。

注記

別の からの設定データの取得 AWS アカウント はサポートされていません。

ユーザーベースまたはエンティティベースの段階的なデプロイに AWS AppConfig エージェントを使用する

AWS AppConfig エージェントは、段階的なロールアウト中に、特定のセグメントまたは個々のユーザーに機能フラグまたは自由形式の設定データをデプロイすることをサポートしています。エンティティベースの段階的なデプロイでは、ユーザーまたはセグメントが設定バージョンを受信すると、どのコンピューティングリソースがリクエストを処理するかに関係なく、デプロイ期間中同じバージョンを引き続き受け取ることができます。

エンティティベースの段階的なデプロイでは、 AWS AppConfig Agent は各 HTTP リクエストに指定された一意の識別子 (Entity-Id) を評価します。この識別子に基づいて、エージェントはデプロイ期間中一貫して新しい設定バージョンまたは以前の設定バージョンを提供します。このプロセスにより、ユーザーが更新された設定を受信すると、その設定は引き続き受信されます。また、ロールバックアラームには、問題を検出するのに十分な時間とデータがあることも保証します。

設定がユーザー側の動作を直接変更し、ブラスト半径の変更 (すべてのユーザーの一部ではなく特定のユーザーへの影響) がアプリケーションで許容できる場合は、エンティティベースの段階的なデプロイを検討してください。

重要

エンティティベースの段階的なデプロイに関する以下の重要な情報に注意してください。

  • エンティティベースの段階的なデプロイには、 AWS AppConfig エージェントバージョン 2.0.136060 以降が必要です。

  • Entity-Id は最大 2 KB の文字列サイズを受け入れます。

  • 一意の識別子は、ハードコードまたは低基数であってはなりません。

  • 識別子は AWS AppConfig サービスに送信されません。 AWS AppConfig エージェントはクライアント側で一意の識別子を評価します。

  • デプロイ中、 AWS AppConfig Agent はエンティティとデプロイされた設定を追跡します。この追跡は、デプロイ期間中のみ維持されます。追跡は、デプロイが完了すると終了します。

  • 各 インスタンスはデプロイ状態を個別に AWS AppConfig ポーリングするため、エージェントはデプロイ率の変化に応じて同じエンティティの異なるバージョンを一時的に処理できます。このウィンドウは、ポーリング間隔と短い同期期間によって決まります。StartConfigurationSession API アクションRequiredMinimumPollIntervalInSecondsで を設定することで、これを減らすことができます。ただし、間隔を短くすると API コールレートが増加し、コストとリスクスロットリングが増加する可能性があります。要件を満たすポーリング間隔を選択します。詳細については、 AWS CLI リファレンスのStartConfigurationSession」を参照してください。

エンティティベースの段階的なデプロイの有効化

エンティティベースの段階的なデプロイを有効にするには:

  1. AWS AppConfig エージェントバージョン 2.0.136060 以降に更新します。

  2. 設定データを取得するときは、HTTP Entity-Id ヘッダーに一意の識別子を指定します。

次のリクエスト例では、 の E メールアドレスを使用します。 Entity-Id

GET /applications/myapp/environments/prod/configurations/featureflags HTTP/1.1 Host: localhost:2772 Entity-Id: example@AWS-example-email.com

Entity-Id ヘッダーは、次のリクエストに含めることができます。

/applications/{Application}/environments/{Environment}/configurations/{Configuration}

でコードサンプルを表示するにはEntity-Id、「」を参照してくださいAWS AppConfig エージェントを使用してフリーフォーム設定プロファイルを読み取る

Entity-Id 値は、次のようなシステム内のエンティティを一意に識別する任意の文字列にすることができます。

  • カスタマー ID

  • E メールアドレス

  • アカウント ID

  • バックエンドジョブ ID

  • セッションスコープ識別子 (該当する場合)