View a markdown version of this page

자체 관리형 Apache Kafka 클러스터를 사용하여 MSK Replicator에 대한 사전 조건 설정 - Amazon Managed Streaming for Apache Kafka

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

자체 관리형 Apache Kafka 클러스터를 사용하여 MSK Replicator에 대한 사전 조건 설정

IAM 실행 역할 생성

에 대한 신뢰 정책을 사용하여 IAM 역할을 생성합니다kafka.amazonaws.com. AWSMSKReplicatorExecutionRole 관리형 정책을 연결합니다. 관리형 정책은 Replicator에 필요한 클러스터, 주제 및 consumer-group-level Kafka 권한을 부여하지만 SASL/SCRAM 인증 및 CMK 암호화 보안 인증에 필요한 AWS Secrets Manager 또는 AWS KMS 권한은 포함하지 않습니다. 추가할 인라인 정책 코드 조각은 섹션을 참조하세요SASL/SCRAM, mTLS 및 고객 관리형 키에 대한 추가 SER 권한.

신뢰 정책 예:

{ "Statement": [{ "Effect": "Allow", "Principal": {"Service": "kafka.amazonaws.com"}, "Action": "sts:AssumeRole" }] }

SASL/SCRAM 사용자 및 ACL 권한 구성

자체 관리형 Kafka 클러스터에서 전용 SCRAM 사용자를 생성합니다. 다음 ACL 권한이 필요합니다.

  1. 모든 주제에 대해 읽기, 설명

  2. 모든 소비자 그룹에 대해 읽기, 설명

  3. 클러스터 리소스에 대한 설명

예제 kafka-acls.sh 명령:

# Grant Read and Describe on all topics kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --topic '*' # Grant Read and Describe on all consumer groups kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --group '*' # Grant Describe on cluster kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Describe --cluster

자체 관리형 클러스터에서 mTLS 구성

를 사용하여 자체 관리형 Kafka 브로커에서 SSL 리스너를 구성합니다ssl.client.auth=required. 브로커의 트러스트 스토어에는 MSK Replicator에 사용할 클라이언트 인증서에 서명한 CA 인증서가 포함되어야 합니다.

클라이언트 인증서의 고유 이름(DN)에서 파생된 Kafka 보안 주체에 ACL 권한을 부여합니다. 필요한 권한은 모든 주제에 대한 읽기 및 설명, 모든 소비자 그룹에 대한 읽기 및 설명, 클러스터 리소스에 대한 설명입니다.

자체 관리형 클러스터에서 SSL 구성

브로커에서 SSL 리스너를 구성합니다. 공개적으로 신뢰할 수 있는 인증서의 경우 추가 구성이 필요하지 않습니다. 프라이빗 또는 자체 서명된 인증서의 경우 AWS Secrets Manager에 저장된 보안 암호에 전체 CA 인증서 체인을 포함합니다.

AWS Secrets Manager에 자격 증명 저장

인증 유형에 적합한 키-값 페어를 사용하여 AWS Secrets Manager에서 기타(RDS/Redshift 아님) 유형의 보안 암호를 생성합니다.

SASL/SCRAM의 경우:

  1. username - 자체 관리형 클러스터의 SCRAM 사용자 이름

  2. password - 자체 관리형 클러스터의 SCRAM 암호

  3. certificate - CA 인증서 체인(PEM 형식, 프라이빗/자체 서명 인증서에 필요)

mTLS의 경우:

  1. certificate - PEM 인코딩 클라이언트 인증서 체인

  2. privateKey - PEM 인코딩 프라이빗 키

  3. privateKeyPassword - (선택 사항) 암호화된 PKCS8 키에만 필요한 프라이빗 키의 암호

네트워크 연결 구성

MSK Replicator를 사용하려면 자체 관리형 Kafka 클러스터에 네트워크 연결이 필요합니다. 지원되는 옵션:

  • AWS Site-to-Site VPN - 인터넷을 통해 온프레미스 네트워크를 VPC에 연결합니다.

  • AWS Direct Connect - 온프레미스에서 로 전용 프라이빗 네트워크 연결을 설정합니다 AWS.

보안 그룹 구성

보안 그룹이 인증 리스너에서 사용하는 포트에서 MSK Replicator와 자체 관리형 클러스터 간의 트래픽을 허용하는지 확인합니다. VPC 보안 그룹의 인바운드 규칙과 자체 관리형 클러스터 방화벽의 아웃바운드 규칙을 모두 업데이트합니다.