CloudWatch Canary 실행이 중지된 이유는 무엇입니까?
최종 업데이트 날짜: 2022년 8월 17일
Amazon CloudWatch에서 AWS CloudFormation 또는 AWS Command Line Interface(AWS CLI)를 사용하여 Canary를 생성했습니다. Canary가 일정 시간 실행된 뒤에 자동으로 중단됩니다. 이 문제를 해결하려면 어떻게 해야 합니까?
해결 방법
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.
CloudWatch Canary의 실행이 정지되면 Canary를 생성했을 때 설정한 "DurationInSeconds" 값을 확인하세요. 이 값은 Canary가 "Expression" 값에 예약된 대로 지속적으로 정기 실행되는 시간(초)을 지정합니다. 0으로 지정할 경우, 사용자가 정지할 때까지 Canary가 계속 실행됩니다. 이 필드를 생략하면 기본값 0이 사용됩니다.
Canary의 "DurationInSeconds" 파라미터 값을 확인하려면 Amazon CloudWatch Synthetics GetCanary API를 실행하세요.
aws synthetics get-canary --name [canary_name]
결과에서 "DurationInSeconds" 값을 확인합니다.
{
"Canary": {
"Id": "a1495b85-1c60-4f29-92c1-540f62fa34e3",
"Name": "canary_name",
"Code": {
"SourceLocationArn": "arn:aws:lambda:eu-west-1:YourAccount:layer:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
"Handler": "CanaryFunction.handler"
},
"ExecutionRoleArn": "arn:aws:iam::YourAccount:role/CanaryRoleName",
"Schedule": {
"Expression": "rate(2 minutes)",
"DurationInSeconds": 360
},
"RunConfig": {
"TimeoutInSeconds": 120
},
"SuccessRetentionPeriodInDays": 31,
"FailureRetentionPeriodInDays": 31,
"Status": {
"State": "READY"
},
"Timeline": {
"Created": 1594481063.96,
"LastModified": 1594481063.96
},
"ArtifactS3Location": "S3_Bucket_for_artifacts",
"EngineArn": "arn:aws:lambda:eu-west-1:YourAccount:function:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
"RuntimeVersion": "syn-1.0",
"Tags": {}
}
}
참고: 응답에서 "DurationInSeconds"가 0이 아닙니다.
"DurationInSeconds" 값이 원하는 시간과 일치하지 않으면 CloudWatch Synthetics UpdateCanary API를 실행하세요.
aws synthetics update-canary --name canary_cli --schedule Expression="rate(2 minutes)",DurationInSeconds=0
참고: Canary가 지속적으로 실행되려면 "DurationInSeconds"를 0으로 설정하고 예약 표현식을 작성해야 합니다.
변경 사항을 확인하려면 AWS CLI를 사용하여 CloudWatch Synthetics get-canary 명령을 실행하세요.
aws synthetics get-canary --name [canary_name]
{
"Canary": {
"Id": "a1495b85-1c60-4f29-92c1-540f62fa34e3",
"Name": "canary_name",
"Code": {
"SourceLocationArn": "arn:aws:lambda:eu-west-1:YourAccount:layer:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
"Handler": "CanaryFunction.handler"
},
"ExecutionRoleArn": "arn:aws:iam::YourAccount:role/CanaryRoleName",
"Schedule": {
"Expression": "rate(2 minutes)",
"DurationInSeconds": 0
},
"RunConfig": {
"TimeoutInSeconds": 120
},
"SuccessRetentionPeriodInDays": 31,
"FailureRetentionPeriodInDays": 31,
"Status": {
"State": "READY"
},
"Timeline": {
"Created": 1594481063.96,
"LastModified": 1594481063.96
},
"ArtifactS3Location": "S3_Bucket_for_artifacts",
"EngineArn": "arn:aws:lambda:eu-west-1:YourAccount:function:cwsyn-canary_name-a1495b85-1c60-4f29-92c1-540f62fa34e3:1",
"RuntimeVersion": "syn-1.0",
"Tags": {}
}
}
결과에서 "DurationInSeconds" 값이 0인지 확인합니다.