aws-cloudfront-apigateway-lambda - Constructos da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

aws-cloudfront-apigateway-lambda

Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos àVersionamento semânticoModelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote.

Observações: Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão.

Linguagem Pacote
Python
aws_solutions_constructs.aws_cloudfront_apigateway_lambda
TypeScript
@aws-solutions-constructs/aws-cloudfront-apigateway-lambda
Java
software.amazon.awsconstructs.services.cloudfrontapigatewaylambda

Overview

Este AWS Solutions Construct implementa uma distribuição do Amazon CloudFront na frente de uma API REST suportada pelo Amazon API Gateway Lambda.

Aqui está uma definição de padrão implantável mínima no 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

Adereços de construção de padrão

Nome Tipo Descrição
ExistingAmbdaobj? lambda.Function Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.
LambdaFunctionProps? lambda.FunctionProps Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.
ApigatewayProps? api.LambdaRestApiProps Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão do API Gateway
CloudFrontDistributionProps? cloudfront.DistributionProps O usuário opcional forneceu adereços para substituir os adereços padrão para a distribuição do CloudFront.
InserthttpSecurityHeaders? boolean O usuário opcional forneceu adereços para ativar/desativar a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront
LoggroupProps? logs.LogGroupProps Props fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.

Propriedades de padrão

Nome Tipo Descrição
ApiGateway api.RestApi Retorna uma instância da API REST Gateway criada pelo padrão.
ApigatewayCloudWatchRole iam.Role Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.
ApigatewayLogGroup logs.LogGroup Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.
CloudFrontLoggingBucket? s3.Bucket Retorna uma instância do bucket de log criado pelo padrão para a distribuição da Web do CloudFront.
CloudFrontWebDistribution cloudfront.CloudFrontWebDistribution Retorna uma instância da distribuição web do CloudFront criada pelo padrão.
EdgeLambdaFunctionVersion? lambda.Version Retorna uma instância da versão da função de borda do Lambda criada pelo padrão.
LambdaFunction lambda.Function Retorna uma instância da função Lambda criada pelo padrão.

Configurações padrão

A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

Amazon CloudFront

  • Configurar registro de acesso para o CloudFront WebDistribution

  • Habilite a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront WebDistribution

Amazon API Gateway

  • Implantar um ponto final de API regional

  • Habilitar o log do CloudWatch para o

  • Configurar a função IAM de acesso de menor privilégio para API Gateway

  • Defina o AuthorizationType padrão para todos os métodos de API como IAM

  • Ativar rastreamento do X-Ray

Função do AWS Lambda

  • Configuração da função do IAM de acesso de privilégio limitado para a função Lambda

  • Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda

  • Ativar rastreamento do X-Ray

  • Definição de variáveis de ambiente:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(para funções Node 10.x e superiores)

Architecture

Diagram showing data flow between Serviços da AWS including AppSync, Lambda, and CloudSearch.

GitHub

Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:
Circular icon with a graduation cap symbol representing education or learning.
@aws -solutions-constructs/aws-cloudfront-apigateway-lambda