다음과 같은 AWS CloudFormation 오류를 해결하고 싶습니다. "Resource of type 'AWS::MSK::Cluster' with identifier did not stabilize."
간략한 설명
이 오류는 프로비저닝 리소스가 제한 시간 기간 내에 템플릿 속성에 지정된 상태에 도달할 수 없음을 나타냅니다. 제한 시간은 권한 누락, 리소스 제한 예외, 잘못된 리소스 속성 사양 또는 기본 MSK 서비스 중단으로 인해 발생할 수 있습니다.
때로는 CloudFormation 이벤트가 오류를 해결해야 하는 정확한 이유를 제공하지 않는 경우도 있습니다. 오류의 정확한 원인을 찾으려면 Amazon Managed Streaming for Apache Kafka(Amazon MSK) 콘솔을 사용하십시오.
참고: 스택 롤백을 방지하려면 CloudFormation 콘솔에서 Stack failure options(스택 실패 옵션)에서 Preserve successfully provisioned resources(성공적으로 프로비저닝된 리소스 보존)를 선택합니다.
해결 방법
다음은 발생할 수 있는 몇 가지 일반적인 오류와 해결 방법입니다.
CloudWatch Logs에 브로커 로그를 전달하는 중 오류 발생
Amazon CloudWatch Logs로 브로커 로그를 전송하는 클러스터를 생성할 때 다음 오류 응답 중 하나가 나타날 수 있습니다. CloudWatch Logs의 AWS CloudTrail 로그에서 이러한 오류 응답을 볼 수 있습니다. 실패한 클러스터가 여전히 존재하는 경우 Amazon MSK 콘솔에서 오류 응답을 볼 수도 있습니다.
Error: "InvalidInput.LengthOfCloudWatchResourcePolicyLimitExceeded"
위 오류는 Amazon MSK 브로커 로그와 연결된 CloudWatch 리소스 정책의 길이가 CloudWatch에서 허용하는 5120자 할당량을 초과할 때 발생합니다. 클러스터에서 CloudWatch 로깅이 활성화되었을 수 있으며, 로그 그룹이 클러스터와 연관되었을 수 있습니다.
Amazon MSK는 로그 스트리밍이 허용된 리소스 목록에 로그 그룹의 ARN을 추가하려고 시도합니다. 이 서비스는 로그 그룹의 ARN을 AWSLogDeliveryWrite20150319 리소스 정책에 추가합니다. 자세한 내용은 AWS 서비스에서 로깅 활성화를 참조하십시오. 리소스 정책이 문자 제한을 초과하면 CloudWatch Logs는 해당 서비스의 리소스 정책에서 /aws/vendedlogs/*를 자동으로 활성화합니다.
CloudWatch 리소스 정책을 보려면 AWS Command Line Interface(AWS CLI) 명령 describe-resource-policies를 실행합니다.
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
이 오류를 해결하려면 로그 그룹의 접두사에 **/aws/vendedlogs/**를 추가하십시오. 그런 다음 리소스를 다시 생성합니다. 자세한 내용은 추가 권한이 필요한 로깅[V1]의 로그 그룹 리소스 정책을 참조하십시오.
Error: "InvalidInput.NumberOfCloudWatchResourcePoliciesLimitExceeded"
위 오류는 AWS 리전당 CloudWatch 리소스 정책의 최대 수에 도달했을 때 발생합니다. 최대 수는 10이며, 이 할당량은 변경할 수 없습니다. 이 오류를 해결하려면 계정에서 기존 CloudWatch Logs 정책을 선택하고 다음 JSON 스크립트를 첨부하십시오.
{
"Sid": "AWSLogDeliveryWrite",
"Effect": "Allow",
"Principal": {
"Service": "delivery.logs.amazonaws.com"
},
"Action": ["logs:CreateLogStream", "logs:PutLogEvents"],
"Resource": ["*"]
}
여전히 오류가 발생하면 스크립트를 다른 CloudWatch Logs 정책에 연결하십시오. 그런 다음 클러스터를 다시 생성하여 CloudWatch Logs에 브로커 로그를 전송하도록 설정합니다.
Error: "InvalidInput.InsufficientPermissions"
위 오류는 사용자 또는 역할에 MSK 클러스터를 만드는 데 필요한 권한이 없는 경우 발생합니다. CloudTrail 로그에서 MSK API 작업에 대한 액세스가 거부되었다는 오류 메시지를 찾습니다. 또는 CreateLogGroup과 같은 CloudWatch Logs API와 관련된 오류를 찾습니다.
이 오류를 해결하려면 사용자 또는 역할에 필요한 권한이 있는지 확인하십시오. AWS 관리형 정책에 필요한 권한을 구성하는 방법에 대한 자세한 내용은 AWS 관리형 정책: AWSMSKFull 액세스를 참조하십시오.
유효하지 않은 속성 사양으로 인한 오류
클러스터 생성 중에 AWS::MSK::Cluster 리소스 속성에 유효하지 않거나 존재하지 않는 값을 할당하면 ‘안정화되지 않음 오류’가 발생합니다. 클러스터 속성에 할당하는 모든 값이 허용되는 형식인지 확인합니다.
관련 정보
Amazon CloudWatch Logs에 브로커 로그를 전달하는 중 오류 발생
CloudWatch Logs로 전송된 로그