Amazon MSK 클러스터 인벤토리

Kafka 클러스터와 스트리밍 데이터 경로를 관리하세요.

설명

AWS::MSK::Cluster는 프로비저닝된 Kafka 클러스터를 선언합니다. 클러스터 사용 자체는 취약점이 아니며, 데이터 흐름과 운영 책임을 파악하기 위한 자산 정보입니다.

잠재적 영향

누락된 클러스터는 브로커 접근 권한, 암호화와 장애 대응 검토에서 빠질 수 있습니다.

해결 방법

클러스터의 소유자와 생산자·소비자를 기록하고 브로커 접근 범위, 인증, 암호화 및 모니터링을 확인하세요.

예시

공개 접근 요건을 충족하는 기존 클러스터에서 공개 접근을 끄는 구성 발췌입니다. KafkaVersion에는 지원 중인 호환 버전, ClientSubnets에는 서로 다른 AZ의 실제 서브넷 세 개를 제공하세요. 클라이언트의 사설 연결과 IAM 권한이 필요하며, 클러스터 생성 시에는 공개 접근을 활성화할 수 없습니다.

변경 전

yaml
Resources:
  TestCluster:
    Type: AWS::MSK::Cluster
    Properties:
      ClusterName: ClusterWithAllProperties
      KafkaVersion: !Ref KafkaVersion
      NumberOfBrokerNodes: 3
      ClientAuthentication:
        Sasl:
          Iam:
            Enabled: true
        Unauthenticated:
          Enabled: false
      EncryptionInfo:
        EncryptionInTransit:
          ClientBroker: TLS
          InCluster: true
      BrokerNodeGroupInfo:
        InstanceType: kafka.m5.large
        ClientSubnets: !Ref ClientSubnets
        ConnectivityInfo:
          PublicAccess:
            Type: SERVICE_PROVIDED_EIPS

변경 후

yaml
Resources:
  TestCluster:
    Type: AWS::MSK::Cluster
    Properties:
      ClusterName: ClusterWithAllProperties
      KafkaVersion: !Ref KafkaVersion
      NumberOfBrokerNodes: 3
      ClientAuthentication:
        Sasl:
          Iam:
            Enabled: true
        Unauthenticated:
          Enabled: false
      EncryptionInfo:
        EncryptionInTransit:
          ClientBroker: TLS
          InCluster: true
      BrokerNodeGroupInfo:
        InstanceType: kafka.m5.large
        ClientSubnets: !Ref ClientSubnets
        ConnectivityInfo:
          PublicAccess:
            Type: DISABLED

참조