기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 도메인 이름 엔드 투 엔드 설정
이 주제에서는 사용자 지정 도메인 이름에 대한 클러스터 측 구성을 안내합니다. 네트워킹 계층(Network Load Balancer, DNS 및 TLS 인증서)은 사용자가 소유한 사전 조건이며 AWS 빅 데이터 블로그의 Amazon MSK 클러스터에 대한 사용자 지정 도메인 이름 구성
구성을 적용하기 전에 네트워킹 확인
custom.advertised.listeners를 적용하면 사용자 지정 도메인 이름이 재정의된 리스너의 기본 주소를 대체합니다. 구성을 적용하기 전에 네트워킹 계층을 마련하고 확인해야 합니다. 클라이언트가 사용자 지정 도메인을 확인할 수 없는 경우 연결이 끊어집니다.
1단계: Amazon MSK 구성에 사용자 지정 도메인 추가
Network Load Balancer에서 프로비저닝한 호스트 이름 및 포트와 일치하는 custom.advertised.listeners 속성이 포함된 Amazon MSK 구성을 생성하거나 업데이트합니다. 포트 9001~9003이 있는 Network Load Balancer가 앞에 있는 3-브로커 IAM 클러스터의 경우 속성을 파일에 넣습니다.
custom.advertised.listeners=CLIENT_IAM://b-{broker_id}.example.com:9000+{broker_id}
그런 다음 파일을 서버 속성으로 전달하여 구성을 생성합니다.
aws kafka create-configuration \ --name "custom-domain-iam" \ --description "Custom advertised listeners for CLIENT_IAM" \ --server-properties fileb://custom-domain-config.txt
가 파일을 바이트로 AWS CLI 읽고 base64로 인코딩하도록 fileb:// (가 아님file://)를 사용합니다. 값을 인라인으로 전달하면 중{broker_id}괄호로 인해 취약합니다. Amazon MSK는 적용 시 브로커당 문제를 해결하기 때문에 파일에 {broker_id} 리터럴을 그대로 둡니다. 응답은 다음 단계에서 LatestRevision.Revision사용하는 Arn 및 구성을 반환합니다.
2단계: 구성 적용
콘솔UpdateClusterConfiguration,, AWS CLI AWS CloudFormation, AWS CDK 또는 Terraform을 사용하여를 사용하여 클러스터에 구성을 적용합니다. 이는 브로커 구성 변경에 이미 사용하고 있는 것과 동일한 워크플로입니다.
aws kafka update-cluster-configuration \ --cluster-arnyour-cluster-arn\ --configuration-info arn=configuration-arn,revision=revision\ --current-versioncurrent-cluster-version
DescribeCluster 작업을 사용하여 클러스터의 현재 버전을 찾습니다. 클러스터 버전은 단순한 정수가 아닙니다.
Amazon MSK는 무언가를 적용하기 전에 구성을 동기적으로 검증하므로 잘못된 형식의 값이 브로커에 도달하지 않습니다. Amazon MSK는 HTTP 400 오류와 함께 잘못된 구성을 거부합니다. 오류 예제는 단원을 참조하십시오사용자 지정 도메인 이름 구성 오류. 보고된 문제를 수정하고 다시 적용합니다.
3단계: 롤아웃 추적
aws kafka describe-cluster-operation-v2 \ --cluster-operation-arnoperation-arn
구성이 수락되면 Amazon MSK는 롤링 재시작을 통해 구성을 적용합니다. 작업이를 보고할 때까지 기다립니다UPDATE_COMPLETE. 를 보고하면 브로커UPDATE_FAILED가 변경 사항을 적용할 수 없습니다. 롤아웃은 해당 브로커에서 중지되고, 나머지 브로커는 이전 구성을 유지하며, 구성을 수정하고 다시 적용하여 복구할 수 있습니다.
4단계: 확인
리스너의 인증 설정을 사용하는 클라이언트의 주제를 나열하여 클라이언트가 사용자 지정 도메인을 통해 연결할 수 있는지 확인합니다.
사용자 지정 도메인 엔드포인트를 통해 주제를 나열할 수 있는 경우 클라이언트가 사용자 지정 도메인을 통해 성공적으로 연결하는 것입니다. 작업이 보고UPDATE_COMPLETE되었지만 클라이언트가 연결할 수 없는 경우 클러스터 측 구성은 올바르지만 네트워킹 계층에 주의가 필요할 수 있습니다. 다음을 확인하세요.
-
네트워킹 경로: 클라이언트가 사용하는 브로커 및 포트에 대해 Network Load Balancer 리스너, 대상 그룹 및 보안 그룹 규칙이 존재하고 클라이언트의 네트워크에서 Network Load Balancer에 연결할 수 있는지 확인합니다.
-
DNS 확인: 사용자 지정 도메인이 Apache Kafka 클라이언트가 실행되는 모든 네트워크에서 Network Load Balancer로 확인되는지 확인합니다.
-
인증서: Network Load Balancer의 TLS 인증서가 확인된 브로커 호스트 이름(일반 이름 또는 주체 대체 이름을 통해)을 포함하고 클라이언트가 CA(프라이빗 CA의 루트 및 중간)를 신뢰하는지 확인합니다.
조정 및 브로커 교체
클러스터를 조정하거나 자동 복구 중에 브로커가 교체되면 Amazon MSK는 새 브로커에 구성을 자동으로 적용합니다. Amazon MSK는 클러스터 측{broker_id}에서 수동 단계 없이 브로커의 ID를 확인합니다.
참고
새 브로커에 해당하는 Network Load Balancer 리스너, 대상 그룹 및 DNS 레코드를 추가합니다. 네트워킹 계층은 자동으로 확장되지 않습니다.
사용자 지정 도메인 제거
기본 Amazon MSK 생성 주소로 되돌리려면 Amazon MSK 구성에서 custom.advertised.listeners 속성을 제거하고를 사용하여 업데이트된 구성을 적용합니다UpdateClusterConfiguration. Amazon MSK는 롤링 재시작을 수행하고 브로커는 원래 주소를 알리는 것으로 돌아갑니다. 사용자 지정 도메인 구성을 제거하기 전에 클라이언트가 원래 Amazon MSK 생성 주소에 도달할 수 있는지 확인합니다.