본문 바로가기

AWS

[AWS] Kinesis Data Streams On-demand Advantage 구성 가이드

AWS에서 Kinesis Data Streams는 서버리스 방식으로 실시간 스트리밍 데이터를 처리하는 서비스입니다. On-demand 모드는 용량 프로비저닝 없이 AWS가 자동 확장해 주는 방식인데, On-demand Advantage 모드는 여기에 즉시 처리량 보장 및 요금 할인 구조를 추가한 모드입니다. 단순히 자동 확장을 넘어서 트래픽 급증 대응 준비(예열, Warm Throughput)요금 절감까지 고려한 모드입니다.

아래는 실제 환경 구성 기준으로 정리한 설정 가이드입니다.

1. On-demand Advantage 모드란?

기본 개념

  • On-demand Advantage는 Kinesis Data Streams의 계정 레벨 설정입니다.
  • 이 모드를 활성화하면 해당 계정의 모든 On-demand 스트림은 예열된 쓰기 처리량(Warm Throughput) 기능을 사용할 수 있고, 요금 구조가 간소화되면서 데이터 사용량 기반 과금이 됩니다.

핵심 기능

  • Warm Throughput: 즉시 사용 가능한 쓰기 처리량을 사전에 설정할 수 있습니다.
  • 자동 확장 유지: 설정 값 이상으로 AWS가 자동 확장 지원을 계속합니다.
  • 간소화된 과금 구조: 스트림 고정 요금이 없어지고 데이터 수집/검색량만 과금됩니다.
  • 최소 처리량 약정: 계정 전체로 최소 25MiB/s 수집 및 25MiB/s 검색 기준이 적용됩니다.

2. 활성화 전 준비

요구 조건

  • 계정의 On-demand 스트림이 있어야 합니다.
  • On-demand Advantage는 계정 단위로 설정되며, 활성화하면 최소 24시간 동안 유지됩니다.

확인할 점

  • 스트림 생성 단계에서 On-demand 모드로 생성했는지 확인합니다.
  • 계정 수준에서 새로운 요금 체계를 적용할 것이므로, 예상 처리량/트래픽 패턴을 검토 후 활성화 여부를 결정합니다.

3. On-demand Advantage 모드 활성화

[AWS] Kinesis Data Streams On-demand Advantage 구성 가이드
[AWS] Kinesis Data Streams On-demand Advantage 구성 가이드

콘솔로 설정

  1. AWS Management Console에 로그인합니다.
  2. Kinesis Data Streams 서비스로 이동합니다.
  3. 왼쪽 메뉴에서 Account Settings로 이동합니다.
  4. Billing mode 섹션에서 On-demand Advantage 선택합니다.
  5. 약관 체크 후 저장(Save changes) 합니다.

한 번 활성화하면 최소 24시간 유지됩니다. 이후 24시간 뒤에 Standard 모드로 변경 가능합니다.

AWS CLI로 설정

아직 AWS 공식 문서에서 명령 예제가 완전 정리된 상태는 아니지만, 계정 설정을 변경하는 API인 update-account-settings를 통해 활성화할 수 있습니다.

aws kinesis update-account-settings \
  --minimum-throughput-billing-commitment Status=ENABLED

위 명령은 계정 전체의 최소 처리량 약정(On-demand Advantage 활성화) 을 설정합니다. 실제 CLI 파라미터는 SDK/CLI 버전 및 서비스 API 업데이트에 따라 변경될 수 있습니다.

4. 스트림 생성 및 설정

On-demand 스트림 생성

On-demand Advantage는 On-demand 모드 스트림에서만 작동합니다. 스트림 생성 시 아래 절차를 따릅니다.

콘솔 생성

  1. Kinesis Data Streams > Create stream 선택
  2. Provisioning mode에서 On-demand 선택
  3. 스트림 이름 및 태그 입력
  4. 생성

AWS CLI

aws kinesis create-stream \
  --stream-name my-kinesis-stream \
  --stream-mode-details StreamMode=ON_DEMAND

스트림이 생성되면 자동으로 AWS가 처리량을 관리합니다. On-demand Advantage가 활성화되어 있으면 다음 단계로 Warm Throughput 설정이 가능합니다.

5. Warm Throughput 설정

On-demand Advantage를 활성화하면 Warm Throughput 설정이 가능해집니다. 이 설정을 통해 즉시 확보된 처리량을 지정할 수 있습니다.

콘솔에서 설정

  1. Kinesis Data Streams > Streams 로 이동
  2. 해당 스트림 선택
  3. Configuration 탭에서 Warm throughput 편집
  4. Warm throughput (MiB/s) 를 설정하고 저장

AWS CLI로 설정

aws kinesis update-stream-warm-throughput \
  --stream-name my-kinesis-stream \
  --warm-throughput-mibps 200
  • --warm-throughput-mibps 값은 스트림이 즉시 처리할 수 있도록 지정하는 처리량입니다.
  • 최대 값은 10GiB/s 또는 초당 1천만 이벤트 수준까지 설정할 수 있습니다.

설정 후 스트림은 지정된 처리량까지 즉시 대응할 수 있게 되며, 실제 트래픽이 증가할 경우 AWS가 자동으로 추가 확장합니다.

6. 요금

On-demand Advantage 활성화 이후에는 아래 과금 체계가 적용됩니다.

  • 데이터 수집(Ingest): GB당 비용
  • 데이터 검색(Retrieve): GB당 비용
  • Extended Retention: GB-month 기준
  • 최소 25MiB/s 처리량 약정이 적용되며, 실제 사용량이 아래일 경우에도 25MiB/s 기준 과금됩니다.
  • 스트림 고정 요금은 없음

이 구조는 지속적인 처리량이 높은 워크로드에서 비용 효율성을 높여줍니다.

7. 고려사항

성능 모니터링

  • CloudWatch Metrics로 쓰기/읽기 처리량과 에러(Throttling) 상태를 모니터링합니다.
  • Warm Throughput은 즉시 처리 대응이지만, 단일 파티션 키 집중은 여전히 병목을 유발할 수 있어 키 분산 전략을 설계해야 합니다.

계정 규모

  • 여러 스트림이 존재하거나 Fan-out 소비자가 많을 경우, On-demand Advantage의 요금 구조가 훨씬 유리하게 작용할 수 있습니다. 

정리

On-demand Advantage는 Kinesis Data Streams를 운영 중심으로 접근할 때 매우 유용한 모드입니다.

  • Warm Throughput으로 트래픽 스파이크 대응
  • 간소화된 요금 체계로 비용 최적화
  • 스트리밍 서비스의 자동 확장/운영 부담 감소