CloudWatch Canary 실행이 중지된 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 10월 13일

Amazon CloudWatch에서 AWS CloudFormation 또는 AWS 명령줄 인터페이스(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인지 확인합니다.</p


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?