CDK AWS v2 개발자 안내서입니다. 이전 CDK v1은 2022년 6월 1일에 유지 관리에 들어갔으며 2023년 6월 1일에 지원이 종료되었습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CDK CLI 원격 측정 구성
CDK CLI 원격 측정이란 무엇인가요?
중요
AWS CDK CLI 원격 측정은 AWS CDK CLI 버전 2.1100.0 이상에서만 수집됩니다.
AWS 클라우드 개발 키트(AWS CDK)는 CLI 사용에 대한 원격 측정 데이터를 수집하여 CDK CLI 사용자 기반에 영향을 미치는 광범위한 문제를 식별하는 데 도움이 되는 집계 사용 패턴과 오류 빈도를 제공합니다.
고객은 기본적으로 CLI 원격 측정 데이터 수집에 옵트인됩니다. 아래 나열된 방법을 사용하여 CDK CLI 원격 측정을 옵트아웃할 수 있습니다.
AWS CDK는 엄격한 데이터 최소화를 염두에 두고 원격 측정 데이터를 수집하여 특정 사용자, 계정 또는 조직에 대한 식별 또는 귀속을 방지합니다. 기본적으로 수집되는 지표의 전체 목록은 이유와 함께 아래에 나와 있습니다. 원격 측정 또는 지표는 더 이상 수집되지 않습니다.
현재 오류 메시지, 스택 추적 및 로그를 수집하지 않으며이 데이터 수집은 명시적 옵트인에 따라 향후 CDK CLI 버전에서 사용할 수 있습니다. 이러한 지표에 대한 자세한 내용은 표에서 확인할 수 있습니다.
수집되는 데이터는 다음과 같습니다.
| 지표 | 설명 | 이유 | 예제 |
|---|---|---|---|
|
CDK CLI 버전 |
CLI 버전(x.y.z) |
이를 수집하면 데이터를 버전별로 양분하는 데 도움이 되며, 이는 문제가 있는 버전을 식별하는 데 도움이 될 수 있습니다. |
"2.1100.0" |
|
설치 ID |
CLI 명령을 실행하는 로컬 시스템에 저장된 임의 UUID |
이렇게 하면 오류의 영향을 받는 고유한 사용자 수를 추정하는 데 도움이 됩니다. 고유한 각 시스템에는 UUID V4를 통해 무작위로 생성되는 자체 설치 ID가 있습니다. |
"881d3281-2811-4c86-b7b6-4a8a621cf6f2" |
|
세션 ID |
각 CLI 명령 호출에서 생성된 임의 UUID |
이렇게 하면 동일한 명령에서 발생하는 모든 이벤트를 식별할 수 있습니다. |
"c47e3d55-bc20-406b-a02a-e0285dd63230" |
|
이벤트 ID |
세션 ID와 카운터 |
그러면 세션의 각 이벤트에 대한 고유 식별자가 생성됩니다. |
"c47e3d55-bc20-406b-a02a-e0285dd63230:0" |
|
리전 |
AWS 리전 |
이렇게 하면 리전별 문제에 대한 데이터를 양분하는 데 도움이 됩니다. |
"us-east-1" |
|
타임스탬프 |
데이터가 원격 측정 엔드포인트로 전송되는 시간(클라이언트에서 생성) |
이렇게 하면 시계열 그래프를 생성하는 데 도움이 됩니다. |
"2025-12-12T00:00:00.000Z" |
|
이벤트 상태 |
이벤트의 "결과"입니다. 가능한 값은 'SUCCESS', 'FAILURE', 'ABORTED'입니다. |
이를 통해 각 CLI 명령의 오류율을 추적하고 고객이 보고하기 전에 잠재적 회귀를 알릴 수 있습니다. |
"SUCCESS" |
|
이벤트 유형 |
데이터를 생성하는 이벤트 유형의 식별자입니다. |
명령 실행에 여러 이벤트가 있을 수 있으므로 발생한 이벤트의 종류를 식별하는 열거형입니다. |
"SYNTH" |
|
명령 경로 |
자유 텍스트가 수정된 상태에서 CLI에 입력된 명령 및 속성 |
이 정보는 명령 파라미터와 함께 발생한 이벤트의 동작을 결정하는 데 도움이 되므로 폭발 반경과 발생하는 문제의 원인을 식별하는 데 도움이 됩니다. |
["cdk", "deploy", "$STACK1"] |
|
명령 파라미터 |
자유 텍스트가 수정된 상태로 CLI에 입력되는 선택적 파라미터 |
이 정보는 명령 경로와 함께 발생한 이벤트의 동작을 결정하는 데 도움이 되며, 이는 폭파 반경과 급증하는 문제의 원인을 식별하는 데 도움이 됩니다. |
{
all: true,
concurrency: 4
}
|
|
구성 |
CLI 명령에 영향을 미칠 수 있는 추가 파라미터(예: cdk.context.json 또는 |
이렇게 하면 CLI의 동작에 영향을 미칠 수 있는 가능한 모든 파라미터에 대한 포괄적인 보기를 제공하여 디버깅을 용이하게 할 수 있습니다. |
{ context: { "@aws-cdk/core:explicitStackTags": true } } |
|
운영 체제 |
사용 중인 운영 체제 |
이렇게 하면 특정 운영 체제에만 영향을 미치는 문제를 디버깅하는 데 도움이 됩니다. |
{
platform: "linux",
release: "5.15.0-1019-aws",
}
|
|
CI/CD |
CLI 명령이 CI/CD 환경에서 호출되고 있는지 여부 |
이렇게 하면 CI/CD 환경과 관련된 문제를 식별하는 데 도움이 됩니다. |
false |
|
노드 버전 |
환경에서 사용되는 노드 버전 |
이렇게 하면 발생하는 노드별 문제를 디버깅하는 데 도움이 됩니다. |
"v22.0.0" |
|
지속 시간 |
밀리초 단위의 이벤트 길이 |
이를 통해 특정 이벤트에 걸리는 시간의 패턴을 파악할 수 있습니다. |
{ total: 300 }
|
|
카운터 |
CDK 앱 및 CLI 실행에서 파생된 다양한 카운터 지표 |
CFN 리소스 수(이에 국한되지 않음)와 같은 통계 계산이 배포 기간에 미치는 영향을 모니터링합니다. |
{
resourceCount: 25,
errorCount: 0,
warningCount: 2,
}
|
|
종속성 |
관련 AWS 종속성 및 해당 버전 |
aws-cdk-lib, jsii, projen 등과 같이 CLI 결과에 영향을 미칠 수 있는 AWS 종속성을 추적할 계획입니다. 특정 AWS 소유 라이브러리에 대한 종속성만 수집합니다. |
[{ "aws-cdk-lib": "2.232.0"}]
|
|
오류 이름 |
오류가 발생하는 경우 오류의 이름입니다. |
제어되는 오류 이름만 기록하므로 반복되는 오류 유형을 식별하는 데 도움이 됩니다. |
"ToolkitError" |
|
다음 지표는 명시적 옵트인이 필요하며 현재 수집되지 않습니다. |
|||
|
오류 메시지 |
오류가 발생하면 오류 메시지가 반환됩니다. 자유 형식 텍스트 수정 |
[옵트인 필요] 오류 메시지를 캡처하면 오류가 발생한 데이터를 더 빠른 속도로 집계하고 개별 사용 사례에서 발생한 문제를 디버깅하는 데 도움이 됩니다. |
현재 수집되지 않음 |
|
오류 스택 추적 |
오류가 발생할 경우 오류 메시지의 스택 추적입니다. 자유 형식 텍스트 수정 |
[옵트인 필요] 스택 추적은 개별 디버깅 목적에 유용하며 발생할 수 있는 문제를 재현하는 데 필요합니다. |
현재 수집되지 않음 |
|
오류 로그 |
오류가 발생할 경우 실패한 CLI 명령의 로그입니다. 자유 형식 텍스트 수정 |
[옵트인 필요] 오류 로그는 CLI에 표시되는 문제를 디버깅하고 재현하는 데도 도움이 됩니다. |
현재 수집되지 않음 |
CDK CLI 원격 측정 옵트아웃 방법
컨텍스트 값 및 환경 변수를 기반으로 현재 원격 측정 상태를 보려면 다음 명령을 실행합니다.
cdk cli-telemetry --status
컨텍스트 값을 사용한 옵트아웃
다양한 소스의 컨텍스트 값에 충돌이 있는 경우 CDK가 사용하는 우선순위는 다음과 같습니다.
-
--context옵션을 포함해 CDK CLI 명령을 사용하여 지정된 컨텍스트 값 -
cdk.json 컨텍스트 값
-
cdk.context.json 컨텍스트 값
-
~/.cdk.json 컨텍스트 값
CDK CLI 명령을 사용하여 옵트아웃
다음 CDK CLI 명령을 실행하여 원격 측정을 비활성화합니다.
cdk cli-telemetry --disable
이 명령을 실행하면 작업이 사용자의 로컬 cdk.context.json 파일에 기록되고 현재 CDK 애플리케이션에만 적용됩니다.
애플리케이션 구성 파일을 사용하여 옵트아웃
애플리케이션의 cdk.json 파일에 cli-telemetry: false로 설정합니다. 이렇게 하면 애플리케이션의 원격 측정이 비활성화됩니다.
글로벌 구성 파일을 사용하여 옵트아웃
~/.cdk.json 파일에 cli-telemetry: false로 설정하여 같은 컴퓨터의 모든 CDK 애플리케이션에 대해 원격 측정을 비활성화합니다. 다음과 같이 컨텍스트 요소 내에서 해당 설정을 지정해야 합니다.
{ "context": { "cli-telemetry": false } }
환경 변수를 사용한 옵트 아웃
CDK_DISABLE_CLI_TELEMETRY 환경 변수를 true로 설정하여 해당 환경에서 CLI 원격 측정을 비활성화합니다.
CDK_DISABLE_CLI_TELEMETRY=true
이 환경 변수의 값은 설정된 컨텍스트 값보다 우선 적용됩니다.
작은 정보
터미널 창을 열 때마다 원격 측정을 비활성화하려면 .bashrc와 같은 쉘 시작 파일에 이 환경 변수를 추가합니다.
DNS 필터링을 사용하여 옵트아웃
원격 측정 엔드포인트는 입니다cdk-cli-telemetry.us-east-1.api.aws/metrics. 방화벽에서이 도메인 이름을 차단하면 CLI 원격 측정이 비활성화되고 CDK CLI 기능에 영향을 주지 않습니다.
모든 사용량 데이터 보고 옵트아웃
단일 명령에 대한 모든 사용량 데이터 보고를 옵트아웃하려면 --no-version-reporting 글로벌 CLI 옵션을 사용합니다. 이 옵션은 애플리케이션 사용량 데이터 수집과 CDK CLI 원격 측정을 모두 해제합니다.
현재 --no-version-reporting 옵션을 사용하여 애플리케이션 사용량 데이터 수집을 옵트아웃하는 경우 컨텍스트 값에 관계없이 해당 특정 명령 실행에 대해 CDK CLI 원격 측정을 자동으로 옵트아웃합니다.
참고
스택 수준에서 analyticsReporting을 설정하는 경우 애플리케이션 사용량 데이터 수집에 대한 --no-version-reporting 옵션보다 우선합니다.
원격 측정 데이터를 로컬 파일로 전송
CDK CLI 원격 측정에 옵트인한 상태를 계속 선택한 경우 원격 측정 데이터를 로컬 파일로 전송하도록 선택할 수 있습니다. 그런 다음 파일을 검토하여 수집한 원격 측정 데이터를 감사할 수 있습니다.
CDK CLI 명령에서 다음 옵션을 사용하여 원격 측정 데이터를 로컬 파일로 전송합니다.
참고
2.1100.0 미만의 AWS CDK CLI 버전을 사용하는 경우와 --unstable=telemetry 함께를 지정해야 합니다--telemetry-file.
--telemetry-file='path/to/local/file'
예를 들어이 deploy 명령은 원격 측정 데이터를 로컬 파일로 전송합니다.
cdk deploy --telemetry-file='path/to/local/file'