ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] DynamoDB - Streams
    AWS 2024. 2. 14. 19:56
    DynamoDB Streams

     

    ★ DynamoDB 테이블에서 일어나는 일들(삽입, 수정, 삭제 등)이 일어날 시 시간적 순서에 맞게 Streams에 기록(Log)

    ★ Log는 즉각 암호화가 일어나며 24시간동안 보관됨

    주로 이벤트를 기록하고 이벤트 발생을 외부로 알리는 용도 (eg. Lambda Function)

    이벤트 전 & 후에 대한 상황 보관

    어플리케이션 : 웹사이트, 핸드폰 앱 etc

    이 어플리케이션은 두개의 AWS SDK와 연동이 되어있다.

    하나는 DynamoDB API이며 DynamoDB 테이블과 직접 소통하는 역할을 담당한다.

    소통 : 테이블에 데이터를 넣거나 삭제하는 것

    이 API는 하나의 고유한 DynamoDB 엔드포이트와 연결되어진다.

    하나의 API는 하나의 엔드포인트와 연결할 수 있다.

    또 다른 API인 DynamoDB Streams API는 완전 다른 DynamoDB 스트림 엔드포인트와 연결되어진다.

    예를 들어 온라인 쇼핑몰을 운영한다 가정하자.

    한 고객이 쇼핑몰에서 어떤 아이템을 구매하려면 쇼핑몰에서 인보이스를 만들어줄 것이다.

    그리고 그 인보이스는 DynamoDB 테이블에 저장이 될 것이고 이런 데이터 삽입 역시 이벤트를 DynamoDB Stream이 인식하고 Lambda 함수가 발동한다.

    새로운 인보이스가 생길 때마다 Lambda 함수가 발동

    물건 구매가 이루어질 것을 감지한 Lambda 함수는 SNS로 메시지로 전송시킨다.

    이 SNS는 메시지를 또 만들어 SQS라는 곳으로 보낸다.

    그럼 물건을 구매한 소비자는 결제창을 볼 것이다.

    결제창에 뜰 정보는 SNS로부터 가져와 줄 것이다.

    결제를 누르면 구매완료

     

    이처럼 DynamoDB Stream을 사용하여 DynamoDB 테이블에 어떤 이벤트가 발생됐을 때 대응할 수 있는 효율적인 아키덱처를 만드는 것이 가능해진다.

     


    DynamoDB 메인 콘솔

    테이블 상세

     DynamoDB Stream 세부정보

     DynamoDB Stream 관리 click

    키만 보기 : 어떤데이터가 삽입되거나 변경될 시 그 데이터의 프라이머리 키만 보여달라.

    새 이미지 : 이벤트가 발생한 후에 무엇이 변경되었는지에 대한 정보를 알려달라.

    이전 이미지 : 이벤트가 발생되기 전에 대한 것을 알려달라. default 선택

    새 이미지와 이전 이미지 : 둘다 알려달라.

    활성화 click

    ARN 생성됨

    ARN을 복사해서 엔드포인트를 사용하여 Lambda 함수를 만들어서 이 ARN을 연결시켜주면된다.

    https://eocoring.tistory.com/42

     

    [AWS] Lambda 실습 (Lambda 함수 생성, test)

    https://ap-northeast-2.console.aws.amazon.com/lambda/home?region=ap-northeast-2#/functions https://ap-northeast-2.console.aws.amazon.com/lambda/home?region=ap-northeast-2#/functions ap-northeast-2.console.aws.amazon.com Lambda 대시보드에 들어간다.

    eocoring.tistory.com

    ⭡ Lambda 함수를 만드는 것은 여기에

     

    'AWS' 카테고리의 다른 글

    [AWS] API Gateway  (0) 2024.02.14
    [AWS] API  (0) 2024.02.14
    [AWS] DynamoDB - DAX  (0) 2024.02.14
    [AWS] DynamoDB 실습  (0) 2024.02.14
    [AWS] DynamoDB - Query vs Scan  (0) 2024.02.14
Designed by Tistory.