

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

# AWS AppConfig エージェント Lambda 拡張機能の追加
<a name="appconfig-integration-lambda-extensions-add"></a>

 AWS AppConfig エージェント Lambda 拡張機能を使用するには、拡張機能を Lambda に追加する必要があります。これは、 AWS AppConfig エージェント Lambda 拡張機能を Lambda 関数にレイヤーとして追加するか、Lambda 関数で拡張機能をコンテナイメージとして有効にすることで実行できます。

**注記**  
 AWS AppConfig 拡張機能はランタイムに依存しず、すべてのランタイムをサポートします。

**[開始する前に]**  
 AWS AppConfig エージェント Lambda 拡張機能を有効にする前に、次の操作を行います。
+ 設定を AWS AppConfigに外部化できるように、Lambda 関数での設定を整理します。
+ 機能フラグやフリーフォーム設定データなど、 AWS AppConfig アーティファクトと設定データを作成します。詳細については、「[で機能フラグとフリーフォーム設定データを作成する AWS AppConfig](creating-feature-flags-and-configuration-data.md)」を参照してください。
+ Lambda `appconfig:GetLatestConfiguration` 関数実行ロールで使用される AWS Identity and Access Management (IAM) ポリシーに `appconfig:StartConfigurationSession`と を追加します。詳細については、「[AWS Lambda デベロッパーガイド](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html)」の「*AWS Lambda 実行ロール*」を参照してください。 AWS AppConfig アクセス許可の詳細については、「*サービス承認リファレンス*」の「[‬‬ AWS AppConfig‬ のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsappconfig.html)」を参照してください。

## レイヤーと ARN を使用して AWS AppConfig Agent Lambda 拡張機能を追加する
<a name="appconfig-integration-lambda-extensions-enabling"></a>

 AWS AppConfig エージェント Lambda 拡張機能を使用するには、拡張機能を Lambda 関数にレイヤーとして追加します。関数にレイヤーを追加する方法については、「*AWS Lambda デベロッパーガイド*」の「[拡張機能の設定](https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html#using-extensions-config)」を参照してください。 AWS Lambda コンソールの拡張機能の名前は **AWS-AppConfig-Extension** です。また、拡張機能を Lambda にレイヤーとして追加する場合は、Amazon リソースネーム (ARN) を指定する必要があることにも注意してください。プラットフォームと Lambda を作成した AWS リージョン 場所に対応する次のいずれかのリストから ARN を選択します。
+ [x86-64 プラットフォーム](appconfig-integration-lambda-extensions-versions.md#appconfig-integration-lambda-extensions-enabling-x86-64)
+ [ARM64 プラットフォーム](appconfig-integration-lambda-extensions-versions.md#appconfig-integration-lambda-extensions-enabling-ARM64)

拡張機能を関数に追加する前にテストする場合は、次のコード例を使用して拡張機能が機能することを確認できます。

```
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 の関数の作成](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html)」を参照してください。

**重要**  
 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)
```