Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Lambda を使用した Application Load Balancer リクエストの処理

フォーカスモード
Lambda を使用した Application Load Balancer リクエストの処理 - AWS Lambda

Lambda 関数を使用すると、Application Load Balancer のリクエストを処理することができます。Elastic Load Balancing は、Application Load Balancer のターゲットとして Lambda 関数をサポートしています。パス、またはその他のヘッダー値に基づき、ロードバランサールールを使用して、HTTP リクエストを関数にルーティングします。リクエストを処理して、Lambda 関数の HTTP レスポンスを返します。

Elastic Load Balancing は、リクエストボディおよびメタデータを含むイベントを使用して、Lambda 関数を同期的に呼び出します。

例 Application Load Balancer リクエストイベント
{ "requestContext": { "elb": { "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/lambda-279XGJDqGZ5rsrHC2Fjr/49e9d65c45c6791a" } }, "httpMethod": "GET", "path": "/lambda", "queryStringParameters": { "query": "1234ABCD" }, "headers": { "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "accept-encoding": "gzip", "accept-language": "en-US,en;q=0.9", "connection": "keep-alive", "host": "lambda-alb-123578498.us-east-1.elb.amazonaws.com", "upgrade-insecure-requests": "1", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36", "x-amzn-trace-id": "Root=1-5c536348-3d683b8b04734faae651f476", "x-forwarded-for": "72.12.164.125", "x-forwarded-port": "80", "x-forwarded-proto": "http", "x-imforwards": "20" }, "body": "", "isBase64Encoded": False }

関数は、イベントを処理し、応答ドキュメントを JSON でロードバランサーに返します。Elastic Load Balancing は、このドキュメントを HTTP 成功またはエラーの応答に変換し、ユーザーに返します。

例 レスポンスドキュメントの形式
{ "statusCode": 200, "statusDescription": "200 OK", "isBase64Encoded": False, "headers": { "Content-Type": "text/html" }, "body": "<h1>Hello from Lambda!</h1>" }

Application Load Balancer を関数トリガーとして設定するには、まず、関数を実行するアクセス許可を Elastic Load Balancing に付与します。次に、リクエストを関数にルーティングするターゲットグループを作成し、リクエストをターゲットグループに送信するルールをロードバランサーに追加します。

add-permission コマンドを使用して、アクセス許可ステートメントを関数のリソースベースのポリシーに追加します。

aws lambda add-permission --function-name alb-function \ --statement-id load-balancer --action "lambda:InvokeFunction" \ --principal elasticloadbalancing.amazonaws.com

次のような出力が表示されます。

{ "Statement": "{\"Sid\":\"load-balancer\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"elasticloadbalancing.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-west-2:123456789012:function:alb-function\"}" }

Application Load Balancer のリスナーおよびターゲットグループの設定手順については、Application Load Balancer ユーザーガイドターゲットとしての Lambda 関数を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.