람다 스퀘어 - AWS 솔루션 구성체

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

람다 스퀘어

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

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

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

Overview

이 AWS 솔루션 구성은 Amazon SQS 대기열에 연결된 AWS Lambda 함수를 구현합니다.

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

import { LambdaToSqs, LambdaToSqsProps } from "@aws-solutions-constructs/aws-lambda-sqs"; new LambdaToSqs(this, 'LambdaToSqsPattern', { 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 LambdaToSqs(scope: Construct, id: string, props: LambdaToSqsProps);

파라미터

패턴 구성

이름 유형 설명
람다오브 기존인가요? lambda.Function 기본 함수 대신 사용할 선택적 기존 Lambda 함수입니다. 이 두 가지를 모두 제공lambdaFunctionProps를 사용하면 오류가 발생할 수 있습니다.
람다기능소품? lambda.FunctionProps Lambda 함수의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다.
대기열에 있는 Obj? sqs.Queue 기본 대기열 대신 사용할 기존 SQS 대기열 선택 사항입니다. 이 두 가지를 모두 제공queueProps를 사용하면 오류가 발생할 수 있습니다.
대기열 소품? sqs.QueueProps SQS 대기열의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다.
대기열 제거를 활성화하시겠습니까? boolean SQS 대기열을 비울 수 있도록 Lambda 함수에 추가 권한을 부여할지 여부 기본값은 false입니다.
배포데드 레터 큐? boolean 배달 못한 편지 대기열로 사용될 보조 대기열을 생성할지 여부. 기본값은 true입니다.
데드레터 대기열Props? sqs.QueueProps 데드 레터 큐의 기본 소품을 재정의하는 선택적 사용자 제공 소품. 이 경우에만 사용됩니다.deployDeadLetterQueue속성이 true로 설정됩니다.
maxReceiveCount? number 배달 못한 편지 대기열로 이동되기 전에 메시지가 대기열에서 성공적으로 대기열에서 뺄 수 있는 횟수입니다. 기본값은 15입니다.
기존VPC? ec2.IVpc 이 패턴을 배포해야 하는 선택 사항인 기존 VPC 입니다. VPC PC에 배포되면 Lambda 함수는 VPC의 ENI를 사용하여 네트워크 리소스에 액세스하고 인터페이스 엔드포인트는 Amazon SQS 용 VPC에 생성됩니다. 기존 VPC 가 제공되면deployVpc속성일 수 없습니다.true. 한ec2.IVpc는 클라이언트가 스택 외부에 있는 VPC를ec2.Vpc.fromLookup()메서드를 호출합니다.
VPC를 배포하시겠습니까? boolean 를 기반으로 새 VPC 생성할지 여부vpcProps이 패턴을 배포 할 수 있습니다. 이 설정을 로 설정합니다.true는 패턴을 실행하기 위해 최소한의 대부분의 프라이빗 VPC 배포합니다.
  • CDK 프로그램에서 사용하는 각 가용 영역에 격리된 서브넷 1개

  • enableDnsHostnamesenableDnsSupport는 둘 다true

이 속성이true을 선택한 다음existingVpc를 지정할 수 없습니다. 기본값은 false입니다.
vPCProps? ec2.VpcProps 새 VPC 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다.enableDnsHostnames,enableDnsSupport,natGateways, 및subnetConfiguration는 패턴에 의해 설정되므로 여기에 제공된 속성의 모든 값이 재정의됩니다. 다음의 경우,deployVpc가 아닙니다.true, 다음이 속성은 무시됩니다.
대기열 환경변수 이름? string Lambda 함수에 대한 SQS 대기열 URL 환경 변수 세트의 선택적 이름입니다.

패턴 속성

이름 유형 설명
데드 레터 큐? sqs.Queue 패턴에 의해 생성 된 데드 레터 큐의 인스턴스를 돌려줍니다 (배포 된 경우).
Lambdafunction lambda.Function 패턴에 의해 생성 된 Lambda 함수의 인스턴스를 돌려줍니다.
SQqueue sqs.Queue 패턴에 의해 생성된 SQS 대기열의 인스턴스를 반환합니다.
VPC? ec2.IVpc 패턴에 의해 생성되거나 사용된 VPC 인스턴스 (있는 경우) 를 반환합니다. 패턴에 의해 생성된 VPC 또는 패턴 생성자에 제공된 VPC일 수 있습니다.

기본 설정

재정의가없는 구성의 기본 구현은 다음 기본값을 설정합니다.

AWS Lambda 함수

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

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

  • 함수에서 대기열에만 메시지를 보낼 수 있습니다 (제거는enableQueuePurge속성입니다).

  • X-Ray 추적 활성화

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

    • SQS_QUEUE_URL

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

Amazon SQS 대기열

  • 소스 SQS 대기열에 대한 SQS 배달 못한 편지 대기열을 배포합니다.

  • AWS 관리형 KMS 키를 사용하여 소스 SQS 대기열에 대한 서버 측 암호화를 활성화합니다.

  • 전송 중인 데이터의 암호화를 적용합니다.

Architecture

GitHub

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