Amazon DynamoDB Accelerator(DAX) 클러스터를 AWS Lambda 함수와 함께 사용하고 싶습니다. 어떻게 해야 하나요?
해결 방법
DAX 클러스터를 생성한 후 DAX 클러스터에서 시작된 VPC ID, 서브넷 및 보안 그룹을 기록해 둡니다. 이 정보는 참조용으로 보관하세요. 그런 다음 Lambda 함수를 DAX 클러스터와 함께 사용하려면 아래 단계를 따르세요.
DAX 클러스터의 VPC에 액세스할 수 있는 Lambda 함수 생성
1. Lambda 콘솔을 엽니다. 그런 다음 Functions(함수) 페이지를 엽니다.
2. Create function(함수 생성)을 선택한 다음 Function name(함수 이름)을 입력합니다.
3. Basic information(기본 정보)에서 Runtime(런타임) 및Architecture(아키텍처)를 선택합니다.
4. Advanced settings(고급 설정)을 확장합니다. 그런 다음 Enable VPC(VPC 활성화) 왼쪽에 있는 확인란을 선택합니다.
5. VPC 드롭다운 목록에서 이전에 기록해 둔 VPC를 선택합니다. DAX 클러스터가 시작된 VPC입니다.
6. Subnet(서브넷) 드롭다운 목록에서 이전에 기록해 둔 서브넷을 선택합니다. 해당하는 항목을 모두 선택하세요.
7. Security group(보안 그룹) 드롭다운 목록에서 이전에 기록해 둔 VPC 보안 그룹을 선택합니다. 콘솔에는 해당 보안 그룹에 대한 인바운드 및 아웃바운드 규칙이 표시됩니다.
중요: Lambda 함수가 DAX 클러스터에 연결되려면 보안 그룹의 Inbound rules(인바운드 규칙)에 TCP가 Protocol(프로토콜)로 표시되어야 합니다. 또한 Ports(포트) 아래에 8111 또는 9111이 표시되어야 합니다. 8111은 암호화되지 않은 클러스터용이고 9111은 암호화된 클러스터용입니다.
8. Creat fuction을 선택합니다.
DAX 클러스터의 VPC에 액세스하도록 기존 Lambda 함수 구성
1. Lambda 콘솔을 엽니다. 그런 다음 Functions(함수) 페이지를 엽니다.
2. DAX 클러스터에서 사용할 함수를 선택합니다.
3. 리본에서 Configuration(구성)을 선택한 다음 VPC를 선택합니다. 편집(Edit)을 선택합니다.
4. 이전 섹션인 DAX 클러스터의 VPC에 액세스할 수 있는 Lambda 함수 생성의 4~6단계를 따릅니다.
5. Save를 선택합니다.
Lambda 함수와 DAX 클러스터의 연결을 테스트합니다
중요: Lambda에서는 기본적으로 amazondax를 사용할 수 없으므로 먼저 배포 패키지를 준비해야 합니다. amazon-dax-client를 설치하려면 Amazon DynamoDB Accelerator(DAX)의 All versions(모든 버전) 섹션을 참조하세요.
amazon-dax-client를 설치한 후 .zip 파일 아카이브로 Python Lambda 함수 배포의 단계에 따라 배포 패키지를 생성합니다. 다음 Python 코드를 사용하여 패키지를 생성합니다.
import amazondax
import boto3
def lambda_handler(event, context):
daxclient = amazondax.AmazonDaxClient(endpoint_url='<endpoint-from-your-cluster>')
print("Connected!!")
배포 패키지에서 endpoint_url을 DAX 클러스터에 있는 URL로 변경합니다. 이렇게 하려면 다음을 수행합니다.
1. DynamoDB 콘솔을 엽니다.
2. 탐색 창의 DAX에서 Clusters(클러스터)를 선택합니다.
3. 이전에 생성한 DAX 클러스터를 선택한 다음 Overview(개요)를 선택합니다.
4. General information(일반 정보)에서 Cluster endpoint (클러스터 엔드포인트)를 찾습니다. 여기에 나열된 URL을 복사합니다.
5. 을(를) Python 코드에서 복사한 URL로 바꿉니다.
-
배포 패키지를 .zip 파일로 업로드하거나 S3 URL을 통해 업로드합니다. 그런 다음 Test(테스트)를 선택합니다.
-
연결이 성공적으로 구성되면 Execution results(실행 결과)에 “Connected!!”(“연결됨”)이 표시됩니다.
관련 정보
VPC 액세스 구성(콘솔)
Lambda에서 DynamoDB Accelerator(DAX)를 사용하여 성능을 개선하고 비용 절감하기
DynamoDB Accelerator(DAX) 클라이언트와 함께 개발