Kinesis Data Streams를 선택해야 하는 이유
Amazon Kinesis Data Streams는 로그, 이벤트, 클릭스트림 및 기타 스트리밍 데이터 형식을 실시간으로 손쉽게 탄력적으로 수집하고 저장할 수 있는 완전관리형 서버리스 스트리밍 데이터 서비스입니다. Kinesis Data Streams는 사용량에 따라 지불하는 간편한 요금제를 사용합니다. 선결제 금액이나 최소 요금은 없으며 사용하는 리소스에 대한 비용만 지불하면 됩니다. Kinesis Data Streams에는 온디맨드 및 프로비저닝의 두 가지 용량 모드가 있으며 둘 다 특정 결제 옵션과 함께 제공됩니다. 이러한 옵션에 대해 자세히 알아보려면 다음 탭을 클릭하십시오.
AWS 요금 계산기
Amazon Kinesis Data Streams 및 아키텍처 비용을 단일 예상 비용으로 계산할 수 있습니다.
-
온디맨드 모드
-
프로비저닝된 모드
-
온디맨드 모드
-
온디맨드 용량 모드를 사용하면 데이터 스트림에서 쓰고 읽는 데이터의 GB당 비용을 지불합니다. 애플리케이션이 수행할 것으로 예상되는 읽기 및 쓰기 처리량을 지정할 필요가 없습니다. Kinesis Data Streams는 증가하거나 감소하는 워크로드를 즉시 수용합니다.
온디맨드 모드에서 가격은 계정의 각 데이터 스트림에 대한 시간당 요금과 함께 수집 및 검색된 데이터의 양을 기준으로 합니다. 옵션 기능에 대한 연장된 데이터 보존(처음 24시간 초과 및 처음 7일 이내), 장기 데이터 보존(7일 초과 및 최대 1년) 및 향상된 팬아웃과 같은 추가 요금이 있습니다. 또한 계정의 온디맨드 용량 모드에서 작동하는 각 스트림에 대해 시간당 요금이 부과됩니다.
온디맨드 용량 모드는 워크로드를 알 수 없는 새 데이터 스트림을 생성하거나 애플리케이션 트래픽을 예측할 수 없거나 용량을 관리하지 않으려는 경우에 가장 적합할 수 있습니다.
주요 용어
데이터 입력: Kinesis Data Streams로 수집된 데이터는 데이터 스트림에 기록된 GB당 요금이 청구됩니다. 서비스로 보내는 데이터 레코드 수에 각 레코드의 크기를 곱하여 1KB(1,024바이트)로 반올림하여 계산합니다. 예를 들어 데이터 레코드가 각각 4.5KB인 경우 Kinesis Data Streams는 각 레코드를 5KB의 데이터 수집으로 계산합니다. Kinesis Data Streams에 수집된 모든 데이터는 기본적으로 24시간 동안 저장되며 추가 요금은 없습니다.
데이터 출력: Kinesis Data Streams에서 검색된 데이터는 데이터 스트림에서 읽은 GB당 요금이 청구됩니다. 이는 검색된 레코드 수에 각 레코드의 크기를 곱하여 계산됩니다. 이 계산에는 반올림 계수가 적용되지 않습니다. 데이터 레코드가 각각 4.5KB인 경우 Kinesis Data Streams는 각 레코드를 4.5KB의 데이터 송신으로 계산합니다.
스트림당: 계정의 온디맨드 용량 모드에서 작동하는 각 스트림에 대해 시간당 요금이 청구됩니다.
확장된 데이터 보존: Kinesis Data Streams는 기본적으로 24시간 동안 데이터를 저장합니다. 확장된 데이터 보존은 최대 7일까지 저장 용량을 연장할 수 있는 옵션을 제공합니다. 최대 7일 동안 24시간을 초과하여 저장된 데이터에 대해서는 GB-월 요금이 청구됩니다.
장기 데이터 보존: 장기 데이터 보존은 데이터 스트림을 최대 365일까지 저장할 수 있는 옵션을 제공합니다. 처음 7일 동안은 연장된 데이터 보존 요금이 청구되고 그 다음에는 지정된 보존 기간까지 7일을 초과하여 저장된 데이터에 대해서는 더 낮은 GB/월 요금이 청구됩니다.
향상된 팬아웃: 향상된 팬아웃은 각 데이터 소비자에게 샤드당 고유한 읽기 처리량(최대 2MB/초)을 제공하여 읽기 병렬 처리를 개선합니다. 소비자가 향상된 팬아웃을 사용하면 검색된 데이터 GB당 추가 요금이 발생합니다.
리전별 요금
요금 예제
미국 동부의 온디맨드 용량 모드에서 작동하는 Amazon Kinesis Data Stream에 초당 1,000개의 스트리밍 데이터 레코드(각 레코드 크기는 3KB)를 전송한다고 가정해 보겠습니다. 데이터를 하루 동안 보관하고 단일 소비자를 사용하여 처리하려고 합니다. 월별 요금은 다음과 같이 계산됩니다.
3KB의 레코드 크기, 가장 가까운 1KB로 반올림 = 3KB
수집 데이터(초당 GB) = (레코드 1,000개/초 * 3KB/레코드) / 1,048,576 KB/GB = 0.00286GB/초
수집 데이터(월별 GB) = 30일/월 * 86,400초/일 * 0.00286GB/초 = 7,413.12 GB/월
소비자가 한 명이므로:
검색된 데이터(초당 GB) = 1(소비자) * (1,000개 레코드/초 * 3KB/레코드) / 1,048,576KB/GB = 0.00286GB/초수집 데이터(월별 GB) = 30일/월 * 86,400초/일 * 0.00286GB/초 = 7,413.12 GB/월
1일 보존은 데이터 수집 요금에 포함됩니다.
미국 동부 리전의 수집 데이터 요금은 GB당 0.08 USD입니다.
데이터 입력 월 요금 = 7,413.12GB * 0.08 USD/GB = 593.04 USD
미국 동부 리전의 데이터 검색 요금은 GB당 0.040 USD입니다.
데이터 출력 월별 요금 = 7,413.12GB * 0.040 USD/GB = 296.50 USD
스트림이 해당 월에 30일 동안 사용되기에:
스트림당 요금 = 30 * 24 * 0.040(요금) = 28.80 USD총 월간 요금 = 593.04 USD + 296.50 USD + 28.80 USD = 918.34 USD
-
프로비저닝된 모드
-
프로비저닝된 용량 모드에서는 쓰기 및 읽기 요청 속도를 기반으로 애플리케이션에 필요한 샤드 수를 지정합니다. 샤드는 1MB/초의 쓰기와 2MB/초의 읽기를 제공하는 용량 단위입니다.
프로비저닝된 용량 모드는 예측 가능한 애플리케이션 트래픽이 있거나, 트래픽이 일정하거나 점진적으로 증가하는 애플리케이션을 실행하거나, 비용을 제어하기 위해 용량 요구 사항을 예측할 수 있는 경우에 가장 적합할 수 있습니다.
주요 용어
샤드 시간: 샤드는 Amazon Kinesis 데이터 스트림의 기본 처리량 단위입니다. 스트림 내에서 필요한 샤드 수를 필요한 처리량을 토대로 지정합니다. 각각의 샤드에 대해 시간 단위로 사용료가 부과됩니다.
하나의 샤드는 1MB/초 또는 1,000개 레코드/초의 수집 용량을 제공합니다.
데이터 소비자가 향상된 팬아웃을 사용하는 경우 각 샤드는 이를 사용하는 각 소비자에 대해 최대 2MB/초의 데이터 출력을 제공합니다.
데이터 소비자가 향상된 팬아웃을 사용하지 않는 경우, 각 샤드는 샤드에서 병렬로 데이터를 처리하는 소비자 수와 관계없이 최대 2MB/초의 데이터 출력을 제공합니다.
PUT 페이로드 단위(25KB): 레코드는 데이터 생산자가 Amazon Kinesis 데이터 스트림에 추가하는 데이터입니다. PUT 페이로드 단위는 레코드를 구성하는 25KB 페이로드 "청크"로 계산됩니다. 예를 들어, 5KB 레코드는 1개의 PUT 페이로드 단위를 포함하고, 45KB 레코드는 2개의 PUT 페이로드 단위를 포함하며, 1MB 레코드는 40개의 PUT 페이로드 단위를 포함합니다. PUT 페이로드 단위에는 백만 PUT 페이로드 단위 요금이 부과됩니다.
향상된 팬아웃: 향상된 팬아웃은 각 데이터 소비자에게 최대 2MB/초의 샤드당 자체 읽기 처리량을 제공하여 읽기 병렬 처리를 개선합니다. 소비자가 향상된 팬아웃을 사용하는 경우, 소비자-샤드 시간당 요금과 검색된 데이터 GB당 요금이 발생합니다.
확장된 데이터 보존: Kinesis Data Streams는 기본적으로 24시간 동안 데이터를 저장합니다. 확장된 데이터 보존은 최대 7일까지 저장 용량을 연장할 수 있는 옵션을 제공합니다. 연장된 데이터 보존을 시작하면 데이터 스트림으로 인해 발생한 각 샤드 시간에 대한 추가 요금이 부과됩니다.
장기 데이터 보존: 장기 데이터 보존은 데이터 스트림을 최대 365일까지 저장할 수 있는 옵션을 제공합니다. 처음 7일 동안은 연장된 데이터 보존 요금이 부과되고 그 다음에는 지정된 보존 기간까지 7일을 초과하여 저장된 데이터에 대해서는 GB/월 요금이 부과됩니다.
장기 보존 데이터 검색: GetRecords API를 사용하여 데이터를 검색하는 경우 7일 이상 저장된 데이터 검색에 대해 GB당 요금이 부과됩니다. 기본 24시간 또는 7일 이내의 데이터 보존 기간 연장에 대해서는 저장된 데이터 검색 비용이 부과되지 않습니다. 향상된 팬아웃 소비자(SubscribeToShard API)를 사용할 경우 장기 데이터 검색에 대한 비용이 부과되지 않습니다.
리전별 요금
요금 예제
데이터 생산자가 전체적으로 초당 100개의 레코드를 추가하고 각 레코드가 35KB라고 가정해 보겠습니다. 이 경우 총 데이터 입력 속도는 3.4MB/초(100개 레코드/초 * 35KB/레코드를 1,024로 나눈 값 = 3.4MB/초)입니다. 간편하게 계산할 수 있도록 각 레코드의 당일 처리량과 데이터 크기가 안정적이며 일관된다고 가정합니다. Amazon Kinesis 스트림의 처리량은 언제든지 동적으로 조정할 수 있다는 점에 유의하세요.
먼저, 필요한 처리량을 구하기 위해 스트림에 필요한 샤드 수를 계산합니다. 하나의 샤드가 1MB/초의 데이터 입력 용량을 제공하고 1,000개의 레코드/초를 지원하는 것처럼, 4개의 샤드는 4MB/초의 데이터 입력 용량을 제공하고 4,000개의 레코드/초를 지원합니다. 따라서 4개의 샤드가 있는 스트림은 100개의 레코드/초에서 필요한 처리량 3.4MB/초를 충족합니다.
그런 다음 미국 동부 리전의 요금을 사용하여 월별 Kinesis Data Streams 비용을 계산합니다.
샤드 시간: 샤드 1개의 요금은 시간당 0.015 USD 또는 1일당 0.36 USD입니다(0.015 USD*24). 해당 스트림에는 샤드가 4개 있으므로 소요 비용은 하루에 1.44 USD입니다(0.36 USD*4). 31일까지 있는 달의 경우 월별 샤드 시간 비용은 44.64 USD(1.44 USD*31)입니다.
PUT 페이로드 단위(25KB): 예제의 레코드가 35KB이므로, 각 레코드는 2개의 PUT 페이로드 단위를 포함합니다. 데이터 생산자는 전체적으로 초당 100개의 레코드 또는 초당 200 PUT 페이로드 단위를 추가합니다. 즉, 월별 총 267,840,000개의 레코드 또는 535,680,000개의 PUT 페이로드 단위가 됩니다. 백만 PUT 페이로드 단위 비용이 0.014 USD이므로 월별 PUT 페이로드 단위 비용은 7.499 USD(0.014 USD * 535.68)입니다.
옵션으로 스트림의 데이터 보존 기간을 24시간에서 최대 7일까지 연장하도록 선택할 수 있습니다. 이 예제에서는 데이터 스트림의 데이터 보존 기간 연장 기능이 한 달 내내 활성화된다고 가정합니다. 또는 데이터 손실을 방지하는 것이 중요한 경우에만 연장된 데이터 보존을 선택할 수 있으므로 연장된 보존 비용을 절약할 수 있습니다.
연장된 데이터 보존(최대 7일): 연장된 데이터 보존에는 샤드 시간당 0.020 USD의 추가 비용이 듭니다. 스트림에서 매월 2,976 샤드 시간이 발생하므로(샤드 4개 * 24시간/일 *31일/월), 월별 데이터 보존 기간 연장 비용은 59.52 USD(0.020 USD * 2,976)입니다.
샤드 시간 비용과 PUT 페이로드 단위 비용을 합산하면 총 Amazon Kinesis Data Streams 비용은 하루에 1.68 USD 또는 매월 52.14 USD가 됩니다. 따라서 하루에 1.68 USD의 비용만 지불하면 안정적이면서 탄력적으로 초당 4MB의 데이터 또는 매일 337GB의 데이터를 지속적으로 수집할 수 있는 완전관리형 스트리밍 데이터 인프라를 갖출 수 있습니다. 또한 보관 기간을 24시간에서 최대 7일로 늘리면 월 59.52 USD가 추가됩니다.
선택적으로 7일 이상 데이터를 유지하고 향상된 팬아웃을 사용할 수도 있습니다.
장기 데이터 보존(7일 이상 보존된 데이터): 데이터 스트림을 30일 동안 보존하려는 것으로 가정합니다. 24시간에서 최대 7일(위의 계산 참조)로 확장된 데이터 보존 샤드-시간 요금과 7일에서 30일을 초과하는 장기 데이터 보존 요금(23일 기간)이 발생합니다. 23일 동안의 장기 보존 요금의 경우, 기본 소비자(GetRecords API)를 사용한다면 저장에 추가로 GB-월 기준 0.023 USD의 비용과 데이터 검색에 GB당 0.021 USD의 비용이 발생합니다. 3.4MB/초의 데이터 입력 속도를 기준으로 한 시간에 3.4(입력 속도) * 1,024 * 1,024 * 3,600 = 12,902,400,000바이트가 누적됩니다.
월말 사용량은 다음과 같습니다.
3,565,158 * 23일 * 24시간/일 = 7,122,124,800,000바이트-시간
이 값을 GB-월로 변환하면 다음과 같습니다.
7,122,124,800,000바이트-시간/GB당 1,073,741,824바이트 = 월 6,633GB23일의 보존 기간에 대한 총 저장 비용 = 6,633 * 0.023 USD = 월 152.56 USD입니다.
장기 데이터 보존(7일 이상 보존된 데이터): 레코드를 가져오는 데 GetRecords API를 사용하는 단일 소비자를 사용하여 모든 장기 데이터를 검색할 경우, 처음 7일 이후로 저장된 데이터에만 검색 비용이 발생합니다. 6,623GB의 데이터를 검색하므로 월말에 6,623 * 0.021 = 139.08 USD가 청구됩니다. 향상된 팬아웃 소비자를 사용하여 검색한 장기 데이터는 아래와 같이 향상된 팬아웃 데이터 검색 요금이 발생합니다.
향상된 팬아웃 소비자-샤드 시간: 향상된 팬아웃 요금은 샤드당 0.015 USD이며 이 요금은 데이터 소비자당으로 추가됩니다. 스트림에서 매월 2,976 샤드 시간이 발생하므로(샤드 4개 * 24시간/일 *31일/월), 이 기간 내내 향상된 팬아웃 기능을 사용하는 각 소비자에는 44.64 USD(2,976 x 0.015 USD)의 비용이 발생합니다. 같은 기간에 2개의 소비자에는 89.28 USD의 비용이 발생하게 됩니다.
향상된 팬아웃 데이터 검색: 향상된 팬아웃 기능을 사용하는 소비자가 스트림에서 검색한 데이터에는 GB당 0.013 USD의 비용이 발생합니다. 한 달 동안 2개의 샤드 스트림이 50,000MB의 데이터를 수집하고 2명의 데이터 소비자가 향상된 팬아웃을 사용하고 해당 월에 이 모든 데이터를 검색한 경우 검색된 총 데이터는 100,000MB(50,000MB * 2명의 소비자) 또는 97.6GB입니다. 각 GB의 비용은 0.013 USD이므로 총 향상된 팬아웃 비용은 1.26 USD(97.6 * 0.013 USD)입니다.
* 데이터가 기본 24시간 이내로 저장되었거나 7일 이내의 데이터 보존 기간을 연장하는 동안은 Amazon Kinesis 데이터 스트림에서 무료로 레코드를 가져올 수 있습니다. 7일 이상, 365일 이내의 장기 보존된 데이터를 검색할 경우 GB당 요금이 부과됩니다.
* 향상된 팬아웃을 사용하기로 선택한 경우, 소비자-샤드 시간당 요금과 검색된 데이터 GB당 요금이 발생합니다.
* AWS는 모든 리소스가 동일한 리전에 있는 경우 데이터 생산자에서 Amazon Kinesis Data Streams로 또는 Amazon Kinesis Data Streams에서 소비 애플리케이션으로의 데이터 전송에 대해 요금을 부과하지 않습니다.
* 데이터 생산자가 다른 리전의 Kinesis Data Stream에 쓰는 경우 AWS는 데이터 전송에 대해 요금을 부과하지 않습니다. 그러나 온디맨드 모드에서는 소비하는 애플리케이션이 다른 AWS 리전의 데이터 스트림에서 데이터를 읽는 경우 추가 요금이 발생합니다. 표준 AWS 데이터 전송 요금이 청구됩니다.
* Amazon Kinesis Data Streams는 현재 AWS 프리 티어에서 사용할 수 없습니다. AWS 프리 티어는 AWS 서비스 그룹에 대한 무료 평가판을 제공하는 프로그램입니다. AWS 프리 티어에 대한 자세한 내용은 AWS 프리 티어를 참조하세요.
서비스 수준 계약
Amazon Kinesis Data Streams 서비스 수준 계약에 대한 자세한 내용은 FAQ를 참조하세요.