기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
스토리지 처리량 늘리기
Amazon MSK 브로커는 스토리지 볼륨에 데이터를 보관합니다. 스토리지 I/O는 생산자가 클러스터에 쓸 때, 브로커 간에 데이터가 복제될 때, 소비자가 메모리에 없는 데이터를 읽을 때 소비됩니다. 볼륨 스토리지 처리량은 스토리지 볼륨에 데이터를 쓰고 읽을 수 있는 속도입니다. 프로비저닝된 스토리지 처리량은 클러스터의 브로커에 대해 해당 속도를 지정할 수 있는 기능입니다.
브로커 유형이kafka.m5.4xlarge
이상이고 스토리지 볼륨이 10GiB 이상인 클러스터의 프로비저닝된 처리량 속도를 초당 MiB 단위로 지정할 수 있습니다. 클러스터 생성 중에 프로비저닝된 처리량을 지정할 수 있습니다. 또한 해당ACTIVE
상태의 클러스터에 대해 프로비저닝된 처리량을 활성화하거나 비활성화할 수 있습니다.
처리량 병목 현상
브로커 처리량의 병목 현상은 볼륨 처리량, Amazon EC2에서 Amazon EBS로의 네트워크 처리량, Amazon EC2 송신 처리량 등 여러 가지 원인이 있습니다. 프로비저닝된 스토리지 처리량을 활성화하여 볼륨 처리량을 조정할 수 있습니다. 하지만 브로커 처리량 제한은 Amazon EC2에서 Amazon EBS로의 네트워크 처리량과 Amazon EC2 송신 처리량으로 인해 발생할 수 있습니다.
Amazon EC2 송신 처리량은 소비자 그룹 수와 소비자 그룹당 소비자 수에 영향을 받습니다. 또한 다음 표와 같이 Amazon EC2에서 Amazon EBS로의 네트워크 처리량과 Amazon EC2 송신 처리량은 브로커 유형이 클수록 더 높습니다.
브로커 유형 | Amazon EC2 EC2에서 아마존 EBS로의 네트워크 처리량 (MBps) |
---|---|
카프카.m 5.4x 라지 | 593.75 |
카프카.m 5.8x 라지 | 850 |
카프카.m 5.12x 라지 | 1187.5 |
카프카.m 5.16x 라지 | 1700 |
카프카.m 5.24x 라지 | 2375 |
스토리지 처리량 측정
VolumeReadBytes
및VolumeWriteBytes
메트릭을 사용하여 클러스터의 평균 스토리지 처리량을 측정할 수 있습니다. 이 두 지표의 합계는 평균 스토리지 처리량을 바이트 단위로 나타냅니다. 클러스터의 평균 스토리지 처리량을 구하려면 이 두 메트릭을 SUM으로 설정하고 기간을 1분으로 설정한 후 다음 공식을 사용하십시오.
Average storage throughput in MiB/s = (Sum(VolumeReadBytes) + Sum(VolumeWriteBytes)) / (60 * 1024 * 1024)
VolumeReadBytes
및VolumeWriteBytes
지표에 대한 자세한 내용은 을 참조하십시오PER_BROKER레벨 모니터링.
구성 업데이트
프로비저닝된 처리량을 활성화하기 전이나 후에 Amazon MSK 구성을 업데이트할 수 있습니다. 하지만num.replica.fetchers
구성 파라미터를 업데이트하고 프로비저닝된 처리량을 켜기 전까지는 원하는 처리량을 확인할 수 없습니다.
기본 Amazon MSK 구성의 값은 2입니다.num.replica.fetchers
를num.replica.fetchers
업데이트하려면 다음 표의 제안된 값을 사용할 수 있습니다. 이러한 값은 지침용입니다. 사용 사례를 바탕으로 이 값을 조정하는 것이 좋습니다.
브로커 유형 | num.replica.fetchers |
---|---|
카프카.m 5.4x 라지 | 4 |
카프카.m 5.8x 라지 | 8 |
카프카.m 5.12x 라지 | 14 |
카프카.m 5.16x 라지 | 16 |
카프카.m 5.24x 라지 | 16 |
업데이트된 구성은 최대 24시간 동안 적용되지 않을 수 있으며 소스 볼륨이 완전히 활용되지 않을 경우 더 오래 걸릴 수 있습니다. 그러나 전환 볼륨 성능은 최소한 마이그레이션 기간 동안의 소스 스토리지 볼륨 성능과 같습니다. 완전히 활용된 1TiB 볼륨을 업데이트된 구성으로 마이그레이션하는 데 일반적으로 약 6시간이 걸립니다.
를 사용하여 스토리지 처리량을 프로비저닝합니다.AWS Management Console
에AWS Management Console 로그인하고 https://console.aws.amazon.com/msk/home?region=us-east-1#/home/
에서 Amazon MSK 콘솔을 엽니다. 클러스터 생성(Create cluster)을 선택합니다.
사용자 지정 생성을 선택합니다.
클러스터의 이름을 지정합니다.
스토리지 섹션에서 활성화를 선택합니다.
브로커당 스토리지 처리량 값을 선택합니다.
VPC, 영역 및 서브넷, 보안 그룹을 선택합니다.
Next(다음)를 선택합니다.
보안 단계 하단에서 다음을 선택합니다.
모니터링 및 태그 단계 하단에서 다음을 선택합니다.
클러스터 설정을 검토한 다음 클러스터 생성을 선택합니다.
를 사용하여 스토리지 처리량을 프로비저닝합니다.AWS CLI
이 섹션에서는 를 사용하여 프로비저닝 처리량이 활성화된AWS CLI 클러스터를 생성하는 방법의 예를 보여 줍니다.
다음 JSON을 복사해 파일에 붙여 넣습니다. 서브넷 ID 및 보안 그룹 ID 자리 표시자를 계정의 값으로 바꿉니다. 파일 이름을
cluster-creation.json
지정하고 저장합니다.{ "Provisioned": { "BrokerNodeGroupInfo":{ "InstanceType":"kafka.m5.4xlarge", "ClientSubnets":[ "
Subnet-1-ID
", "Subnet-2-ID
" ], "SecurityGroups":[ "Security-Group-ID
" ], "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 10, "ProvisionedThroughput": { "Enabled": true, "VolumeThroughput": 250 } } } }, "EncryptionInfo": { "EncryptionInTransit": { "InCluster": false, "ClientBroker": "PLAINTEXT" } }, "KafkaVersion":"2.8.1", "NumberOfBrokerNodes": 2 }, "ClusterName": "provisioned-throughput-example" }이전 단계에서 JSON 파일을 저장한 디렉터리에서 다음AWS CLI 명령을 실행합니다.
aws kafka create-cluster-v2 --cli-input-json file://cluster-creation.json
API를 사용한 스토리지 처리량 프로비저닝
클러스터를 생성하는 동안 프로비저닝된 스토리지 처리량을 구성하려면 CreateClusterV2를 사용하십시오.