aws-云前面的每個角度-lambda - AWS 解決方案建構

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

aws-云前面的每個角度-lambda

所有類都在積極開發中,並且在任何未來版本中都會受到非向後兼容的更改或刪除。這些不受語義版本模型。這意味著,雖然您可以使用它們,但在升級到此軟件包的較新版本時,您可能需要更新源代碼。

請注意: 為了確保功能正確,專案中的 AWS 解決方案建構套件和 AWS CDK 套件必須是相同的版本。

語言 套件
Python
aws_solutions_constructs.aws_cloudfront_apigateway_lambda
打字稿
@aws-solutions-constructs/aws-cloudfront-apigateway-lambda
Java
software.amazon.awsconstructs.services.cloudfrontapigatewaylambda

Overview

這個 AWS 解決方案建構在 Amazon API 閘道支援 LambDA 的 REST API 前面實作了一個 Amazon 雲端分發。

下面是 TypeScript 中的最小可部署模式定義:

import { CloudFrontToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cloudfront-apigateway-lambda'; new CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', { lambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' } });

Initializer

new CloudFrontToApiGatewayToLambda(scope: Construct, id: string, props: CloudFrontToApiGatewayToLambdaProps);

參數

模式建立道具

名稱 類型 描述
現在還有蘭姆達伯 lambda.Function Lambda 函數對象的現有實例,提供這個和lambdaFunctionProps會導致錯誤。
拉姆針灸道具? lambda.FunctionProps 選用的使用者提供的屬性,可覆寫 Lambda 函數的預設屬性。忽略existingLambdaObj提供。
阿比格特威道具? api.LambdaRestApiProps 可選用的使用者提供的道具來覆寫 API Gateway 的預設道具
雲端發佈道具? cloudfront.DistributionProps 可選的使用者提供的道具,以覆寫 CloudFront 分發的預設道具。
插入安全性標頭? boolean 可選的用戶提供的道具,用於在 CloudFront 的所有響應中打開/關閉最佳實踐 HTTP 安全標頭的自動注入
記錄群組道具? logs.LogGroupProps 使用者提供的可選道具,用於覆寫 CloudWatch Logs 日誌群組的預設道具。

模式性質

名稱 類型 描述
ApeGateway Gateway api.RestApi 返回由模式創建的 API Gateway REST API 的實例。
雲端觀察角色 iam.Role 傳回模式所建立的 IAM 角色執行個體,該模式可啟用從 API Gateway REST API 存取記錄至 CloudWatch。
應用路徑記錄群組 logs.LogGroup 傳回傳送 API Gateway REST API 存取記錄檔的模式所建立之記錄群組的執行個體。
雲端記錄桶? s3.Bucket 傳回 CloudFront 網頁分發模式所建立之記錄儲存貯體的執行個體。
雲端網絡發佈 cloudfront.CloudFrontWebDistribution 返回由模式創建的 CloudFront 網絡分發的實例。
埃德格拉姆針灸版本 lambda.Version 返回由模式創建的 Lambda 邊緣函數版本的實例。
LambdaFunction lambda.Function 返回由模式創建的 Lambda 函數的實例。

預設定定

此模式的開箱即用實現沒有任何覆蓋將設置以下默認值:

Amazon CloudFront

  • 設定 CloudFront 網路發佈的存取記錄

  • 在 CloudFront 網路發佈的所有回應中啟用自動插入最佳實務 HTTP 安全性標頭

Amazon API Gateway

  • 部署區域性 API 端點

  • 啟用適用於 API Gateway 的 CloudWatch 日誌

  • 設定 API Gateway 的最低權限存取 IAM 角色

  • 將所有 API 方法的預設授權類型設定為 IAM

  • 啟用 X-Ray 追蹤

AWS Lambda 功能

  • 針對 Lambda 函數配置有限的許可存取 IAM 角色

  • 針對 NodeJS Lambda 函數啟用具有持續作用的重複使用連線

  • 啟用 X-Ray 追蹤

  • 設定環境變數:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(對於節點 10.x 和更高版本的函數)

Architecture

Diagram showing data flow between AWS 服務 including AppSync, Lambda, and CloudSearch.

GitHub

要查看此模式的代碼,創建/查看問題和提取請求,以及更多:
Circular icon with a graduation cap symbol representing education or learning.
@aws-解決方案-構造/AW-雲-應用程序-lambda