翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS AppConfig エージェント Lambda 拡張機能の追加
AWS AppConfig エージェント Lambda 拡張機能を使用するには、拡張機能を Lambda に追加する必要があります。これは、 AWS AppConfig エージェント Lambda 拡張機能を Lambda 関数にレイヤーとして追加するか、Lambda 関数で拡張機能をコンテナイメージとして有効にすることで実行できます。
注記
AWS AppConfig 拡張機能はランタイムに依存しず、すべてのランタイムをサポートします。
[開始する前に]
AWS AppConfig エージェント Lambda 拡張機能を有効にする前に、次の操作を行います。
-
設定を AWS AppConfigに外部化できるように、Lambda 関数での設定を整理します。
-
機能フラグやフリーフォーム設定データなど、 AWS AppConfig アーティファクトと設定データを作成します。詳細については、「で機能フラグとフリーフォーム設定データを作成する AWS AppConfig」を参照してください。
-
Lambda
appconfig:GetLatestConfiguration
関数実行ロールで使用される AWS Identity and Access Management (IAM) ポリシーにappconfig:StartConfigurationSession
と を追加します。詳細については、「AWS Lambda デベロッパーガイド」の「AWS Lambda 実行ロール」を参照してください。詳細については、「サービス承認リファレンス」の「 AWS AppConfig の AWS AppConfig アクション、リソース、および条件キー」を参照してください。
レイヤーと AWS AppConfig ARN を使用してエージェント Lambda 拡張機能を追加します。
AWS AppConfig エージェント Lambda 拡張機能を使用するには、拡張機能を Lambda 関数にレイヤーとして追加します。関数にレイヤーを追加する方法については、「AWS Lambda デベロッパーガイド」の「拡張機能の設定」を参照してください。 AWS Lambda コンソールの拡張機能の名前は AWS-AppConfig-Extension です。また、拡張機能を Lambda にレイヤーとして追加する場合は、Amazon リソースネーム (ARN) を指定する必要があることにも注意してください。プラットフォームと Lambda を作成した AWS リージョン 場所に対応する次のいずれかのリストから ARN を選択します。
拡張機能を関数に追加する前にテストする場合は、次のコード例を使用して拡張機能が機能することを確認できます。
import urllib.request def lambda_handler(event, context): url = f'http://localhost:2772/applications/
application_name
/environments/environment_name
/configurations/configuration_name
' config = urllib.request.urlopen(url).read() return config
これをテストするには、Python 用の新しい Lambda 関数を作成し、拡張機能を追加して Lambda 関数を実行します。Lambda 関数を実行すると、 AWS AppConfig Lambda 関数は http://localhost:2772 パスに指定した設定を返します。Lambda 関数の作成については、「AWS Lambda デベロッパーガイド」の「コンソールで Lambda の関数の作成」を参照してください。
重要
AWS AppConfig エージェント Lambda 拡張機能の AWS Lambda ログデータをログに表示できます。ログエントリには appconfig agent
というプレフィックスが付けられています。以下に例を示します。
[appconfig agent] 2024/05/07 04:19:01 ERROR retrieve failure for 'SourceEventConfig:SourceEventConfigEnvironment:SourceEventConfigProfile': StartConfigurationSession: api error AccessDenied: User: arn:aws:sts::0123456789:assumed-role/us-east-1-LambdaRole/extension1 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::0123456789:role/test1 (retry in 60s)