aws-lambda-dynamodb - AWS 솔루션 구성체

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

aws-lambda-dynamodb

모든 클래스는 활발히 개발 중이며 향후 버전에서 이전 버전과 호환되지 않는 변경 또는 제거 될 수 있습니다. 이들은 적용되지 않습니다의미 체계 버전모델. 즉, 이 패키지를 사용할 수도 있지만 이 패키지의 최신 버전으로 업그레이드할 때 소스 코드를 업데이트해야 할 수도 있습니다.

참고: 적절한 기능을 보장하려면 프로젝트의 AWS 솔루션 구성 패키지와 AWS CDK 패키지가 동일한 버전이어야 합니다.

언어 패키지
Python
aws_solutions_constructs.aws_lambda_dynamodb
타이프 스크립트
@aws-solutions-constructs/aws-lambda-dynamodb
Java
software.amazon.awsconstructs.services.lambdadynamodb

Overview

이 AWS 솔루션 구성은 최소 권한 권한을 가진 AWS Lambda 함수와 Amazon DynamoDB 테이블을 구현합니다.

다음은 TypeScript 터의 최소 배포 가능한 패턴 정의입니다.

import { LambdaToDynamoDBProps, LambdaToDynamoDB } from '@aws-solutions-constructs/aws-lambda-dynamodb'; const props: LambdaToDynamoDBProps = { 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' } }; new LambdaToDynamoDB(this, 'test-lambda-dynamodb-stack', props);

Initializer

new LambdaToDynamoDB(scope: Construct, id: string, props: LambdaToDynamoDBProps);

파라미터

패턴 구성

이름 유형 설명
람다오브 기존인가요? lambda.Function Lambda 함수 객체의 기존 인스턴스, 이 및lambdaFunctionProps를 사용하면 오류가 발생할 수 있습니다.
람다기능소품? lambda.FunctionProps Lambda 함수의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다. 의 경우에는 무시됩니다.existingLambdaObj가 제공될 예정입니다.
다이나모테이블소품? dynamodb.TableProps DynamoDB 테이블의 기본 소품을 무시하기 위한 선택적 사용자가 제공한 소품
기존 테이블오브J? dynamodb.Table DynamoDB 테이블 객체의 기존 인스턴스로, 이 인스턴스와dynamoTableProps를 사용하면 오류가 발생할 수 있습니다.
테이블 사용 권한? string Lambda 함수에 부여할 선택적 테이블 권한입니다. 다음 옵션 중 하나를 지정할 수 있습니다.All,Read,ReadWrite또는Write.
테이블 환경변수 이름? string Lambda 함수에 대해 설정된 DynamoDB 테이블 환경 변수의 선택적 이름입니다.
기존VPC? ec2.IVpc 이 패턴을 배포해야 하는 선택 사항인 기존 VPC 입니다. VPC PC에 배포되면 Lambda 함수는 VPC의 ENI를 사용하여 네트워크 리소스에 액세스하고 게이트웨이 엔드포인트는 Amazon DynamoDB 용 VPC에 생성됩니다. 기존 VPC 가 제공되면deployVpc속성일 수 없습니다.true. 이를 사용합니다.ec2.IVpc를 사용하여 클라이언트가 스택 외부에 있는 VPC를 제공할 수 있도록ec2.Vpc.fromLookup()메서드를 사용합니다.
vPCProps? ec2.VpcProps 새 VPC 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다.enableDnsHostnames,enableDnsSupport,natGateways, 및subnetConfiguration는 패턴에 의해 설정되므로 여기에 제공된 속성에 대한 모든 값이 오버라이드됩니다. 다음의 경우,deployVpc가 아닙니다.true이 속성은 무시됩니다.
VPC를 배포하시겠습니까? boolean 새 VPC 생성할지 여부vpcProps이 패턴을 배포 할 수 있습니다. 이 값을 true로 설정하면 패턴을 실행하기 위해 최소한의 대부분의 프라이빗 VPC 가 배포됩니다.
  • CDK 프로그램에서 사용하는 각 가용 영역에 하나의 격리된 서브넷

  • enableDnsHostnamesenableDnsSupport는 둘 다true

이 속성이true을 선택한 다음existingVpc를 지정할 수 없습니다. 기본값은 false입니다.

패턴 속성

이름 유형 설명
다이나모터블 dynamodb.Table 패턴에 의해 생성된 DynamoDB 테이블의 인스턴스를 반환합니다.
lambdaFunction lambda.Function 패턴에 의해 생성 된 Lambda 함수의 인스턴스를 돌려줍니다.
vPC? ec2.IVpc 패턴에서 사용하는 VPC 인터페이스를 반환합니다 (있는 경우). 패턴에 의해 생성된 VPC 또는 패턴 생성자에 제공된 VPC일 수 있습니다.

기본 설정

재정의없이이 패턴을 즉시 구현하면 다음과 같은 기본값이 설정됩니다.

AWS Lambda 함수

  • Lambda 함수에 대한 제한된 권한 액세스 IAM 역할을 구성합니다.

  • NodeJS Lambda 함수에 대한 연결 유지와 연결을 재사용 할 수 있습니다.

  • X-Ray 추적을 활성화합니다.

  • 환경 변수를 설정합니다.

    • DDB_TABLE_NAME (default)

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(노드 10.x 이상 함수의 경우)

Amazon DynamoDB 테이블

  • DynamoDB 테이블의 결제 모드를 온 디맨드 (요청당 지불) 로 설정합니다.

  • AWS 관리형 KMS 키를 사용하여 DynamoDB 테이블에 대한 서버 측 암호화를 활성화합니다.

  • DynamoDB 테이블에 대해 'id'라는 파티션 키를 생성합니다.

  • CloudFormation 스택을 삭제할 때 테이블을 유지합니다.

  • 지속적인 백업 및 지정 시간 복구를 지원합니다.

Architecture

GitHub

이 패턴의 코드를 보려면 문제 및 끌어오기 요청을 작성/조회하는 등의 작업을 수행합니다.
@aws -솔루션 - 구성/aws - 람다 - 동적 DB