Amazon CloudWatch Synthetics 카나리의 일반적인 문제를 해결하려고 합니다.
간략한 설명
CloudWatch Synthetics 카나리에서 발생할 수 있는 일반적인 문제는 다음과 같습니다.
- 역할 및 권한 문제
- Amazon Simple Storage Service(Amazon S3) 문제
- AWS Lambda 문제
- Amazon Virtual Private Cloud(VPC) 문제
CloudWatch Synthetics 카나리의 문제를 해결하기 위한 모범 사례는 다음과 같습니다.
- Availability(가용성) 탭을 확인하여 특정 실패 또는 통과된 실행에 대한 문제를 파악합니다.
- Details(세부 정보) 페이지의 오류 메시지를 확인하여 카나리가 실패하는 이유를 확인합니다.
- 스크린샷에서 최신 카나리 간접 호출을 확인합니다.
- 로그 파일을 확인하여 권한 문제 또는 스로틀링 예외를 파악합니다.
- Monitoring(모니터링) 탭에서 Canary 지표 및 Lambda 지표를 확인합니다.
- 이름이 /aws/lambda/cwsyn-MyCanaryName-randomId인 CloudWatch Logs 로그 그룹에서 최근 카나리 작업 로그를 확인합니다.
- 이름이 cw-syn-results-accountID-region인 Amazon S3 버킷에서 스크린샷 또는 HAR 파일 등의 아티팩트 업로드를 확인합니다.
- 카나리에서 게시한 CloudWatch 지표를 확인합니다.
해결 방법
CloudWatch Synthetics 카나리의 일반적인 문제를 해결하려면 다음 작업을 수행하십시오.
역할 및 권한 문제
카나리를 생성하고 관리하는 경우 특정 권한이 있어야 합니다. 또한 생성된 카나리에도 특정 권한이 있어야 합니다. 자세한 내용은 CloudWatch 카나리를 관리하는 사용자에게 필요한 역할 및 권한과 카나리에 필요한 역할 및 권한을 참조하십시오. 사용자의 권한을 제한하려면 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.html)특정 카나리를 볼 수 있도록 사용자 제한[을 참조하십시오.
Amazon S3 버킷 문제
Amazon S3 버킷 문제와 관련하여 CloudWatch Synthetics 카나리에서 발생할 수 있는 일반적인 오류는 다음과 같습니다.
- 지정한 버킷이 존재하지 않습니다.
- S3에 아티팩트를 업로드할 수 없습니다. 예외: S3 버킷 위치를 가져올 수 없음: 액세스 거부됨.
- 이 카나리가 현재 오류 상태입니다. 오류 메시지: 1 validation error detected: Value 'XXXXX' at 'content.s3Bucket' failed to satisfy constraint: Member must satisfy regular expression pattern: ^[0-9A-Za-z\.\-_]*(?<!\.)$
지정한 버킷이 존재하지 않음
이 오류는 Amazon S3 버킷이 삭제되었으며 CloudWatch Synthetics 카나리에서 해당 버킷을 찾을 수 없음을 나타냅니다. 향후 이 오류를 방지하려면 Amazon S3 버킷에 수명 주기를 생성하여 CloudWatch Synthetics 카나리 아티팩트를 저장합니다. 자세한 내용은 스토리지 수명 주기 관리를 참조하십시오.
S3에 아티팩트를 업로드할 수 없습니다. 예외: S3 버킷 위치를 가져올 수 없음: 액세스 거부됨
이 오류를 해결하려면 다음을 확인하십시오.
- 카나리의 AWS Identity and Access Management(IAM) 역할에 올바른 Amazon S3 버킷 권한이 있는지 확인합니다. 조직에서 Amazon S3 버킷과 연결된 권한을 제한하지 않도록 하십시오. 자세한 내용은 서비스 제어 정책(SCP)을 참조하십시오.
- 카나리가 암호화에 AWS Key Management Service(AWS KMS) 고객 관리형 키가 아닌 표준 AWS 관리형 키를 사용하는지 확인합니다. 카나리가 AWS KMS 고객 관리형 키를 사용하는 경우, 카나리의 IAM 역할에 암호화 또는 복호화 권한이 없을 수 있습니다. 자세한 내용은 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_artifact_encryption.html)카나리 아티팩트 암호화[를 참조하십시오.
- 카나리 및 버킷 정책 암호화 모드가 동일한지 확인합니다. 동일하지 않으면 버킷 정책에서 카나리가 사용하는 암호화 메커니즘을 허용하지 않는 것입니다.
- 카나리가 시각적 모니터링을 수행하는지 확인합니다. 자세한 내용은 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_artifact_encryption.html#CloudWatch_Synthetics_artifact_encryption_visual)시각적 모니터링 사용 시 아티팩트 위치 및 암호화 업데이트[를 참조하십시오.
이 카나리가 현재 오류 상태입니다. 오류 메시지: 1 validation error detected: Value 'XXXXX' at 'content.s3Bucket' failed to satisfy constraint: Member must satisfy regular expression pattern: ^[0-9A-Za-z\.\-_]*(?<!\.)$
이 오류를 해결하려면 카나리 스크립트가 Amazon S3에 있는지 확인하십시오. 스크립트가 Amazon S3에 있으면 스크립트 코드에 버킷 이름을 지정합니다. 버킷 이름의 시작 부분에 **s3://**을 포함하지 않도록 하십시오.
AWS Lambda 문제
AWS Lambda와 관련하여 CloudWatch Synthetics 카나리에서 발생할 수 있는 일반적인 오류는 다음과 같습니다.
- 카나리가 최신 Lambda 계층을 감지할 수 없습니다.
- 카나리에 연결된 IAM 역할에 Lambda 서비스에 대한 신뢰 관계가 없습니다.
카나리가 최신 Lambda 계층을 감지할 수 없음
카나리는 수동으로 변경하거나 Lambda 함수가 삭제된 경우 최신 Lambda 계층을 감지할 수 있습니다. 이 문제를 해결하려면 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Create.html)새 카나리를 생성하십시오[.
카나리에 연결된 IAM 역할에 Lambda 서비스에 대한 신뢰 관계가 없음
카나리 IAM 역할에 Lambda 서비스에 대한 신뢰 관계가 없는 경우 IAM 역할에 다음 명령문이 포함되어 있는지 확인하십시오.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Amazon VPC 문제
Amazon VPC 문제를 해결하려면 VPC에서 생성한 CloudWatch 카나리가 실패해서 발생한 오류를 해결하려면 어떻게 해야 합니까?를 참조하십시오.
관련 정보
CloudWatch 카나리 실행이 중지된 이유는 무엇입니까?
CloudWatch Synthetics를 사용하여 웹사이트의 성능을 모니터링하려면 어떻게 해야 합니까?