MSK 브로커의 권장 파티션수를 넘어가는 경우에 발생하는 문제를 해결하는 방법

2분 분량
콘텐츠 수준: 중급
0

MSK 클러스터내의 브로커의 파티션수가 권장 파티션수를 넘어가는 경우 클러스터의 구성 업데이트, 버전업데이트 등의 작업이 수행되지 않을 수 있습니다. 해당 기사에서는 이러한 경우를 직면했을때 또는 미리 예방하는 방법을 안내해드립니다.

문제 상황

일반적으로 브로커의 유형에 따라 권장되는 파티션 수(리더 및 팔로어 복제본 포함)가 정해져있습니다. 만일 클러스터 브로커의 권장 파티션수를 넘어가는 경우 클러스터에 과부하가 주어지게 되며 아래와 같은 작업이 수행을 못할수도 있습니다. [1]

  • 클러스터 구성 업데이트
  • 클러스터에 대한 Apache Kafka 버전 업데이트
  • 더 작은 브로커 유형으로 클러스터 업데이트
  • AWS Secrets Manager 암호를 SASL/SCRAM 인증이 있는 클러스터와 연결

일반적으로 브로커 유형에 따라 권장되는 파티션수는 아래와 같습니다.

브로커 유형브로커당 권장 파티션 수(리더 및 팔로어 복제본 포함)
kafka.t3.small300
kafka.m5.large 또는 kafka.m5.xlarge1000
kafka.m5.2xlarge2000
kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge 또는 kafka.m5.24xlarge4000
kafka.m7g.large 또는 kafka.m7g.xlarge1000
kafka.m7g.2xlarge2000
kafka.m7g.4xlarge,, 또는 kafka.m7g.8xlarge kafka.m7g.12xlarge kafka.m7g.16xlarge4000

문제 해결 방법

만일 클러스터 구성 업데이트, 버전 업데이트 등의 작업이 수행되지 않는 경우에 CloudWatch에서 클러스터 브로커의 PartitionCount를 확인합니다. [2] 브로커의 PartitionCount가 권장 파티션의 수를 넘어간것을 확인하면 아래와 같은 방법을 선택하여 권장 파티션 수 이내로 클러스터를 되돌릴수 있습니다.

  1. 토픽 및 파티션 정리: 사용하지 않는 토픽 및 파티션을 정리하여 브로커당 권장 파티션 수 이내로 줄인 뒤, Reassign partitions 동작을 수행합니다.[3]
  2. 인스턴스 타입 변경 및 노드 추가: 브로커 노드의 수를 늘리고 클러스터의 인스턴스 타입을 확장하여 최대 파티션 제한을 늘린 뒤 클러스터의 처리량을 늘린뒤에 Reassign partitions 을 수행합니다.[4]

참고

[1] 클러스터 크기를 적절하게 조정: 브로커당 파티션 수

https://docs.aws.amazon.com/ko_kr/msk/latest/developerguide/bestpractices.html#partitions-per-broker

[2] 다음을 통한 모니터링을 위한 Amazon MSK 메트릭 CloudWatch: DEFAULT 수준 모니터링

https://docs.aws.amazon.com/ko_kr/msk/latest/developerguide/metrics-details.html#default-metrics

[3] Re-assign partitions after changing cluster size

https://catalog.us-east-1.prod.workshops.aws/workshops/c2b72b6f-666b-4596-b8bc-bafa5dcca741/en-US/addingbrokers/reassignpartitions

[4] AWS Management Console을 사용하여 브로커 유형 업데이트

https://docs.aws.amazon.com/ko_kr/msk/latest/developerguide/msk-update-broker-type.html#update-broker-type-console

profile pictureAWS
지원 엔지니어
게시됨 2달 전756회 조회
댓글 없음