스토리지 처리량 늘리기 - Amazon Managed Streaming for Apache Kafka

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

스토리지 처리량 늘리기

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

스토리지 처리량 측정

VolumeReadBytesVolumeWriteBytes 메트릭을 사용하여 클러스터의 평균 스토리지 처리량을 측정할 수 있습니다. 이 두 지표의 합계는 평균 스토리지 처리량을 바이트 단위로 나타냅니다. 클러스터의 평균 스토리지 처리량을 구하려면 이 두 메트릭을 SUM으로 설정하고 기간을 1분으로 설정한 후 다음 공식을 사용하십시오.

Average storage throughput in MiB/s = (Sum(VolumeReadBytes) + Sum(VolumeWriteBytes)) / (60 * 1024 * 1024)

VolumeReadBytesVolumeWriteBytes 지표에 대한 자세한 내용은 을 참조하십시오PER_BROKER레벨 모니터링.

구성 업데이트

프로비저닝된 처리량을 활성화하기 전이나 후에 Amazon MSK 구성을 업데이트할 수 있습니다. 하지만num.replica.fetchers 구성 파라미터를 업데이트하고 프로비저닝된 처리량을 켜기 전까지는 원하는 처리량을 확인할 수 없습니다.

기본 Amazon MSK 구성의 값은 2입니다.num.replica.fetchersnum.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

  1. 에AWS Management Console 로그인하고 https://console.aws.amazon.com/msk/home?region=us-east-1#/home/ 에서 Amazon MSK 콘솔을 엽니다.

  2. 클러스터 생성(Create cluster)을 선택합니다.

  3. 사용자 지정 생성을 선택합니다.

  4. 클러스터의 이름을 지정합니다.

  5. 스토리지 섹션에서 활성화를 선택합니다.

  6. 브로커당 스토리지 처리량 값을 선택합니다.

  7. VPC, 영역 및 서브넷, 보안 그룹을 선택합니다.

  8. Next(다음)를 선택합니다.

  9. 보안 단계 하단에서 다음을 선택합니다.

  10. 모니터링 및 태그 단계 하단에서 다음을 선택합니다.

  11. 클러스터 설정을 검토한 다음 클러스터 생성을 선택합니다.

를 사용하여 스토리지 처리량을 프로비저닝합니다.AWS CLI

이 섹션에서는 를 사용하여 프로비저닝 처리량이 활성화된AWS CLI 클러스터를 생성하는 방법의 예를 보여 줍니다.

  1. 다음 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" }
  2. 이전 단계에서 JSON 파일을 저장한 디렉터리에서 다음AWS CLI 명령을 실행합니다.

    aws kafka create-cluster-v2 --cli-input-json file://cluster-creation.json

API를 사용한 스토리지 처리량 프로비저닝

클러스터를 생성하는 동안 프로비저닝된 스토리지 처리량을 구성하려면 CreateClusterV2를 사용하십시오.