aws-cloudfront-apigateway-lambda - Costrutti delle soluzioni AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

aws-cloudfront-apigateway-lambda

Tutte le classi sono in fase di sviluppo attivo e soggette a modifiche o rimozione non compatibili con le versioni precedenti in qualsiasi versione futura. Questi non sono soggetti allaIl controllo delle versioni semanticheModello. Ciò significa che, mentre è possibile utilizzarli, potrebbe essere necessario aggiornare il codice sorgente quando si esegue l'aggiornamento a una versione più recente di questo pacchetto.

Nota: Per garantire la corretta funzionalità, i pacchetti AWS Solutions Constructs e i pacchetti AWS CDK nel progetto devono essere della stessa versione.

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

Overview

Questo AWS Solutions Construct implementa una distribuzione Amazon CloudFront davanti a un'API REST supportata da Amazon API Gateway Lambda.

Ecco una definizione di modello distribuibile minima in 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);

Parametri

Puntelli di costruzione modelli

Nome Tipo Descrizione
EsistenteLambdaobj? lambda.Function Istanza esistente dell'oggetto Function Lambda, fornendo sia questo chelambdaFunctionPropscauserà un errore.
LambdafunctionPunps? lambda.FunctionProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la funzione Lambda. Ignorato se unexistingLambdaObjviene fornito.
ApiGatewayProps? api.LambdaRestApiProps Gli oggetti di scena forniti dall'utente facoltativi per sovrascrivere gli oggetti di scena predefiniti per API Gateway
CloudFrontDistributionProps? cloudfront.DistributionProps L'utente facoltativo ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per la distribuzione CloudFront.
InsertHTPTSecurityHeaders? boolean L'utente opzionale ha fornito oggetti di scena per attivare/disattivare l'iniezione automatica delle intestazioni di sicurezza HTTP best practice in tutte le risposte da CloudFront
LogGroupProps? logs.LogGroupProps Elementi di scena facoltativi forniti dall'utente per sovrascrivere gli oggetti di scena predefiniti per il gruppo di log CloudWatch Logs.

Proprietà modelli

Nome Tipo Descrizione
ApiGateway api.RestApi Restituisce un'istanza dell'API REST del gateway API creata dal modello.
APigatewayCloudWatchRole iam.Role Restituisce un'istanza del ruolo IAM creato dal pattern che abilita la registrazione degli accessi dall'API REST del gateway API a CloudWatch.
ApiGatewayLogGroup logs.LogGroup Restituisce un'istanza del gruppo di log creato dal modello a cui vengono inviati i log di accesso API REST del API Gateway API.
CloudFrontLoggingBucket? s3.Bucket Restituisce un'istanza del bucket di registrazione creato dal pattern per la distribuzione Web CloudFront.
CloudFrontWebDistribution cloudfront.CloudFrontWebDistribution Restituisce un'istanza della distribuzione Web CloudFront creata dal pattern.
EdgeLambdafunctionVersion? lambda.Version Restituisce un'istanza della versione della funzione bordo Lambda creata dalla serie.
LambdaFunction lambda.Function Restituisce un'istanza della funzione Lambda creata dal pattern.

Impostazioni predefinite

L'implementazione predefinita di questo modello senza sostituzioni imposterà i seguenti valori predefiniti:

Amazon CloudFront

  • Configurazione della registrazione di accesso per CloudFront WebDistribution

  • Abilitare l'iniezione automatica delle intestazioni di sicurezza HTTP best practice in tutte le risposte da CloudFront WebDistribution

Amazon API Gateway

  • Distribuire un endpoint API regionale

  • Abilita la registrazione di CloudWatch per API Gateway

  • Configurare il ruolo IAM di accesso ai privilegi minimi per il API Gateway

  • Impostare l'AuthorizationType predefinito per tutti i metodi API su IAM

  • Abilita il monitoraggio di X-Ray

Funzione di AWS Lambda

  • Configurare il ruolo IAM di accesso limitato per la funzione Lambda

  • Abilita il riutilizzo delle connessioni con Keep-Alive per la funzione NodeJS Lambda

  • Abilita il monitoraggio di X-Ray

  • Impostare le variabili di ambiente:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(per le funzioni Node 10.x e successive)

Architecture

GitHub

Per visualizzare il codice per questo modello, creare/visualizzare problemi e richieste pull e altro ancora:
@aws -solutions-constructs/aws-cloudfront-apigateway-lambda