翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 関数を実行すると、Lambda AWS AppConfig 関数は 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)