View a markdown version of this page

CloudWatch Synthetics 카나리에서 종속 항목 사용 - Amazon CloudWatch

CloudWatch Synthetics 카나리에서 종속 항목 사용

이 섹션에서는 CloudWatch Synthetics 카나리에서 Dependencies를 사용하는 방법을 설명합니다. Dependencies 필드를 사용하면 카나리 스크립트에서 사용할 수 있는 추가 라이브러리 또는 사용자 지정 코드를 포함할 수 있도록 카나리에 대한 종속 항목을 지정할 수 있습니다.

개요

CloudWatch Synthetics 카나리는 Lambda 계층을 종속 항목으로 지정하도록 지원합니다. 이 기능을 사용하면 다음을 수행할 수 있습니다.

  • 여러 카나리에서 공통 코드 공유

  • 카나리 스크립트 코드와 별도로 종속 항목 관리

  • 종속 항목을 Lambda 계층으로 이동하여 카나리 스크립트의 크기 축소

지원되는 API

Dependencies 필드는 다음 API에서 지원됩니다.

구문

Dependencies 필드는 요청 구문에서 코드 구조의 일부입니다.

"Code": { "Handler": "string", "S3Bucket": "string", "S3Key": "string", "S3Version": "string", "ZipFile": blob, "Dependencies": [ { "Type": "LambdaLayer", "Reference": "string" } ] }

종속 항목 추가

다음은 다양한 시나리오에서 Dependencies 필드를 사용하기 위한 몇 가지 예제와 지침입니다.

종속 항목이 있는 카나리 생성

카나리를 생성할 때 Lambda 계층을 종속 항목으로 지정할 수 있습니다.

{ "Name": "my-canary", "Code": { "Handler": "pageLoadBlueprint.handler", "S3Bucket": "my-bucket", "S3Key": "my-canary-script.zip", "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-custom-layer:1" } ] }, "ArtifactS3Location": "s3://my-bucket/artifacts/", "ExecutionRoleArn": "arn:aws:iam::123456789012:role/my-canary-role", "Schedule": { "Expression": "rate(5 minutes)" }, "RuntimeVersion": "syn-nodejs-puppeteer-3.9" }

카나리의 종속 항목 업데이트

UpdateCanary API를 사용하여 카나리의 종속 항목을 업데이트할 수 있습니다.

{ "Name": "my-canary", "Code": { "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-updated-layer:2" } ] } }

종속 항목 제거

카나리에서 종속 항목을 제거하려면 종속 항목 필드에 빈 배열을 제공합니다.

{ "Name": "my-canary", "Code": { "Dependencies": [] } }

StartCanaryDryRun을 사용하여 종속 항목 테스트

새 종속 항목으로 카나리를 업데이트하기 전에 StartCanaryDryRun API를 사용하여 카나리를 테스트할 수 있습니다.

{ "Name": "my-canary", "Code": { "Dependencies": [ { "Type": "LambdaLayer", "Reference": "arn:aws:lambda:us-west-2:123456789012:layer:my-test-layer:3" } ] } }

제한 사항 및 고려 사항

  • 하나의 Lambda 계층만 종속 항목으로 지정할 수 있습니다.

  • 종속 항목이 있는 카나리를 생성하는 데 사용되는 역할은 필요한 역할 및 권한 외에도 종속 항목 계층에 대한 lambda:GetLayerVersion 액세스 권한을 보유해야 합니다.

호환되는 Lambda 계층 생성

계층을 생성하고 패키징하는 방법에 대한 자세한 내용은 계층으로 Lambda 종속성 관리를 참조하세요. 카나리 패킹 구조를 기반으로 하는 카나리 검사의 패키징 구조를 이해하려면 카나리 스크립트 작성을 참조하세요.