CloudWatch 지원 프로토콜에 대한 FAQ - Amazon CloudWatch

CloudWatch 지원 프로토콜에 대한 FAQ

CloudWatch SDK에서는 AWS JSON 1.1Smithy RPC v2 CBOR이라는 2개의 추가 프로토콜을 사용하게 되었습니다. 이러한 프로토콜은 CloudWatch SDK 및 AWS CLI에서 이전에 사용했던 AWS Query보다 성능이 뛰어납니다. SDK는 각 언어에 가장 적합한 프로토콜의 우선순위를 지정합니다.

AWS JSON 프로토콜이란 무엇이며, 기존 CloudWatch API 요청 및 응답과 어떻게 다른가요?

JSON은 이기종 시스템 간 통신에 가장 널리 사용되고 승인되는 데이터 형식 중 하나입니다. CloudWatch는 JSON을 매체로 사용하여 AWS SDK 클라이언트(예: Java, Python, Golang, JavaScript)와 CloudWatch 서버 간에 통신합니다. CloudWatch API 작업의 HTTP 요청은 JSON 양식의 입력을 수락합니다. CloudWatch 작업이 실행되고 실행 응답이 JSON 양식으로 SDK 클라이언트에 다시 공유됩니다. JSON은 AWS Query에 비해 클라이언트와 서버 간에 데이터를 전송하는 데 효율적입니다.

  • CloudWatch AWS JSON 프로토콜은 CloudWatch 클라이언트 및 서버 사이에서 중재자 역할을 합니다.

  • CloudWatch AWS SDK는 CloudWatch 클라이언트와 서버 간의 직렬화(객체를 JSON 형식으로 변환) 및 역직렬화(JSON 형식을 객체로 변환)를 처리합니다.

Smithy RPC v2 CBOR 프로토콜이란 무엇이며, 기존 CloudWatch API 요청 및 응답과 어떻게 다른가요?

Smithy RPC v2 CBOR(Concise Binary Object Representation)은 더 효율적인 데이터 전송을 위해 Amazon에서 개발한 프로토콜입니다. 메시지 크기를 간결하게 유지하고, 시스템 간 버전 협상 없이도 형식을 개선할 수 있도록 설계된 데이터 형식입니다. JSON 인코딩과의 주요 차이점은 JSON은 사람이 읽을 수 있는 텍스트(예: "name": "John")를 사용하는 반면, CBOR은 이진 형식(1초 및 0초 시퀀스)을 사용한다는 것입니다. 이러한 이진 접근 방식은 네트워크를 통해 더 빠르게 이동하는 더 작은 데이터 패키지를 생성하며, 컴퓨터가 이진 데이터를 직접 처리하기 때문에 직렬화 시간이 줄어듭니다.

  • CloudWatch RPC v2 CBOR 프로토콜은 CloudWatch 클라이언트 및 서버 사이에서 중재자 역할을 합니다.

  • CloudWatch SDK는 CloudWatch 클라이언트와 서버 간의 직렬화(객체를 CBOR 형식으로 변환) 및 역직렬화(CBOR 형식을 객체로 변환)를 처리합니다.

CloudWatch의 최신 프로토콜을 시작하려면 어떻게 해야 하나요?

시작하려면 최신 AWS SDK/CLI 버전을 통해 CloudWatch에 지원되는 최신 프로토콜을 사용합니다. AWS SDK를 지정된 버전 또는 후속 버전으로 업그레이드합니다.

SDK 클라이언트 프로토콜 지원
언어 프로토콜 SDK 버전
C++ RPC v2 CBOR 1.11.708
Golang 2.x RPC v2 CBOR 1.53.0
Java 1.x AWS JSON 1.1 1.12.795
Java 2.x RPC v2 CBOR 2.40.6
JavaScript v3.x AWS JSON 1.1 3.949.0
.NET v3 AWS JSON 1.1 3.7.1182.0
.NET v4 RPC v2 CBOR 4.0.150.0
PHP AWS JSON 1.1 3.367.0
Python-boto3 AWS JSON 1.1 1.42.7
Python-botocore AWS JSON 1.1 1.42.7
AWS CLI v1 AWS JSON 1.1 1.43.13
AWS CLI v2 AWS JSON 1.1 2.32.14
Ruby AWS JSON 1.1 1.126.0
Powershell AWS JSON 1.1 5.0.114
Rust RPC v2 CBOR 1.100.0
Swift RPC v2 CBOR 1.6.14
Kotlin RPC v2 CBOR 1.5.100

CloudWatch 워크로드에 대해 이러한 새 프로토콜을 활성화할 경우 어떤 위험이 있나요?

이러한 새로운 SDK 버전으로 마이그레이션을 통해 고객에게 완전히 투명하고 간편한 경험을 제공할 수 있을 것으로 예상됩니다. 목록 내에서 null 값을 처리하는 방법과 관련된 프로토콜 간에 알려진 동작 변화가 한 가지 있습니다. 이전 AWS Query 프로토콜과 비교했을 때 AWS JSON 및 Smithy RPC v2 CBOR 프로토콜에서는 null 값이 포함될 수 있는 목록 입력이 있는 CloudWatch API 직접 호출이 다르게 처리됩니다. AWS Query 프로토콜에서는 목록 내의 null 값이 제거되는 반면, JSON/CBOR 프로토콜에서는 API 직접 호출을 통해 전파됩니다.

또한 AWS Query 기반(XML 기반) 응답을 생성하는 CloudWatch와 상호 작용하기 위해 SDK의 AWS 사용자 지정 구현 또는 사용자 지정 클라이언트와 AWS SDK의 조합을 사용할 경우 AWS JSON 또는 CBOR 프로토콜과 호환되지 않을 수 있습니다. 다른 문제가 발생하면 AWS Support에 문의하세요.

이미 최신 AWS SDK 버전을 사용하고 있는데 오픈소스 솔루션이 JSON 또는 CBOR을 지원하지 않으면 어떻게 되나요?

SDK 버전을 이전 버전으로 변경해야 합니다. CloudWatch의 최신 프로토콜을 시작하려면 어떻게 해야 하나요? 섹션을 참조한 후 목록에 나열된 버전보다 낮은 버전을 선택합니다. AWS SDK를 이전 버전으로 변경하면 CloudWatch API가 AWS Query 프로토콜을 사용합니다.

CloudWatch API에서 사용되는 AWS JSON 및 CBOR 프로토콜이 지원되는 리전

CloudWatch는 CloudWatch를 사용할 수 있는 모든 AWS 리전에서 AWS JSON 및 CBOR 프로토콜을 지원합니다.

최신 프로토콜을 사용하여 CloudWatch용 특정 AWS SDK 버전으로 업그레이드할 때 어떤 지연 시간 개선을 기대할 수 있나요?

JSON과 CBOR 둘 다 AWS Query에 비해 지연 시간 및 CPU 사용량이 최대 80% 더 낮습니다. 두 프로토콜 모두 네트워크 대역폭 사용 측면에서 최대 20% 더 효율적입니다.

AWS Query 프로토콜은 더 이상 사용되지 않을 예정인가요?

AWS Query 프로토콜은 계속 지원될 예정입니다. AWS SDK 버전이 CloudWatch의 최신 프로토콜을 시작하려면 어떻게 해야 하나요?에 나열된 버전보다 이전 버전으로 설정되어 있는 한 AWS Query 프로토콜을 계속 사용할 수 있습니다.

AWS JSON 및 Smithy RPC v2 CBOR 프로토콜에 대한 자세한 내용은 어디에서 찾을 수 있나요?

JSON 프로토콜에 대한 자세한 내용은 Smithy 설명서의 AWS JSON 1.1 프로토콜에서 확인할 수 있고, CBOR에 대한 자세한 내용은 Smithy 설명서의 AWS RPC v2 CBOR 프로토콜에서 확인할 수 있습니다.

CloudWatch API 요청에 대한 자세한 내용은 CloudWatch API 참조 안내서의 Making API Requests를 참조하세요.