aws-cloudfront-apigateway-lambda - Construcciones de Soluciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

aws-cloudfront-apigateway-lambda

Todas las clases están en desarrollo activo y están sujetas a cambios o eliminación no compatibles con versiones anteriores en cualquier versión futura. Estos no están sujetos a laVersionado semánticoEl modelo. Esto significa que, aunque puede usarlos, es posible que necesite actualizar el código fuente cuando actualice a una versión más reciente de este paquete.

Nota: Para garantizar una funcionalidad adecuada, los paquetes de AWS Solutions Constructs y los paquetes CDK de AWS del proyecto deben tener la misma versión.

Idioma Paquete
Python
aws_solutions_constructs.aws_cloudfront_apigateway_lambda
Mecanografía
@aws-solutions-constructs/aws-cloudfront-apigateway-lambda
Java
software.amazon.awsconstructs.services.cloudfrontapigatewaylambda

Overview

Este Construct de soluciones de AWS implementa una distribución de Amazon CloudFront frente a una API REST respaldada por Lambda de Amazon API Gateway.

Aquí hay una definición mínima de patrón implementable en 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);

Parámetros

Patrón de construcción

Nombre Tipo Descripción
¿ExistenteLambdaobj? lambda.Function Instancia existente del objeto Lambda Function, proporcionando tanto esto comolambdaFunctionPropsprovocará un error.
¿LambdaFunctionProps? lambda.FunctionProps Propiedades opcionales proporcionadas por el usuario para anular las propiedades predeterminadas de la función Lambda. Se pasa por alto si seexistingLambdaObjse encuentra.
¿ApigatewayProps? api.LambdaRestApiProps Los apoyos proporcionados por el usuario opcionales para anular los apoyos predeterminados para API Gateway
CloudFrontDistributionProps? cloudfront.DistributionProps El usuario ha proporcionado accesorios opcionales para anular los accesorios predeterminados para la distribución de CloudFront.
InsertHTTPSecurityHeaders? boolean Los apoyos proporcionados por el usuario opcionales para activar/desactivar la inyección automática de encabezados de seguridad HTTP de las mejores prácticas en todas las respuestas de CloudFront
LogGroupProps? logs.LogGroupProps Los apoyos opcionales proporcionados por el usuario para anular los apoyos predeterminados para el grupo de registros de CloudWatch Logs.

Propiedades de patrón

Nombre Tipo Descripción
ApiGateway api.RestApi Devuelve una instancia de API Gateway creada por el patrón.
ApigatewayCloudWatchRole iam.Role Devuelve una instancia de la función de IAM creada por el patrón que permite el registro de acceso desde API Gateway REST API a CloudWatch.
ApigatewayLogGroup logs.LogGroup Devuelve una instancia del grupo de registros creado por el patrón al que se envían los registros de acceso de API REST de API de API Gateway de API.
CloudFrontLogingBucket? s3.Bucket Devuelve una instancia del depósito de registro creado por el patrón para la distribución web de CloudFront.
CloudFrontWebDistribution cloudfront.CloudFrontWebDistribution Devuelve una instancia de la distribución web de CloudFront creada por el patrón.
EdgelambdaFontionVersion? lambda.Version Devuelve una instancia de la versión de la función de borde de Lambda creada por el patrón.
LambdaFunction lambda.Function Devuelve una instancia de la función Lambda creada por el patrón.

Configuración predeterminada

La implementación lista para usar de este patrón sin anulación establecerá los siguientes valores predeterminados:

Amazon CloudFront

  • Configurar el registro de acceso para CloudFront WebDistribution

  • Habilitar la inyección automática de encabezados de seguridad HTTP de mejores prácticas en todas las respuestas de CloudFront WebDistribution

Amazon API Gateway

  • Implementar un extremo de API regional

  • Habilitar el registro de CloudWatch para API Gateway

  • Configurar el rol de IAM de acceso mínimo con privilegios para API Gateway

  • Establezca el AuthorizationType predeterminado para todos los métodos API en IAM

  • Habilitar el X-Ray streo

Función de AWS Lambda

  • Configuración de la función de IAM de acceso limitado con privilegios para la función Lambda

  • Habilitar conexiones de reutilización con la función Keep-Alive para NodeJS Lambda

  • Habilitar el X-Ray streo

  • Configuración de las variables de entorno:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(para Node 10.x y funciones superiores)

Architecture

GitHub

Para ver el código de este patrón, crear/ver problemas y solicitudes de extracción, y mucho más:
@aws -soluciones-constructs/aws-cloudfront-apigateway-lambda