CloudWatch でサポートされるプロトコルについてのよくある質問 - Amazon CloudWatch

CloudWatch でサポートされるプロトコルについてのよくある質問

CloudWatch は、AWS JSON 1.0Smithy RPC v2 CBOR の 2 つの追加プロトコルをサポートするようになりました。これらのプロトコルは、AWS SDK および CLI で現在使用されている AWS クエリプロトコルよりも優れたパフォーマンスを提供します。AWSSDK は、各言語で最もパフォーマンスの高いプロトコルを優先します。

AWS JSON プロトコルとは何ですか。また、既存の CloudWatch API のリクエストやレスポンスとどう違いますか。

JSON は、異種システム間の通信で最も広く使用され、受け入れられている配線方法の 1 つです。CloudWatch は JSON を通信媒体として使用して、AWS SDK クライアント (Java、Python、Golang、JavaScript など) と CloudWatch サーバー間の通信を行います。CloudWatch API オペレーションの HTTP リクエストは、JSON 形式の入力を受け付けます。CloudWatch オペレーションが実行され、実行レスポンスが JSON 形式で SDK クライアントに共有されます。AWS クエリと比較して、JSON はクライアントとサーバー間でより効率的にデータ転送できます。

  • CloudWatch AWS JSON プロトコルは、CloudWatch クライアントとサーバー間のメディエーターとして機能します。

  • サーバーは CloudWatch オペレーションが作成されたプログラミング言語を理解しませんが、AWS JSON プロトコルは理解します。

  • CloudWatch AWS JSON プロトコルは、CloudWatch クライアントとサーバー間のシリアル化 (オブジェクトを JSON 形式に変換) と逆シリアル化 (JSON 形式をオブジェクトに変換) を使用します。

Smithy RPC v2 CBOR プロトコルとは何ですか。また、既存の CloudWatch API のリクエストやレスポンスとどう違いますか。

Concise Binary Object Representation (CBOR) は、効率と柔軟性に焦点を当てたデータ形式です。その主要な設計目標には、非常に小さいコードサイズ、コンパクトなメッセージサイズ、バージョンフリーの拡張性などがあります。Smithy RPC v2 CBOR は、Amazon が開発したプロトコルで、これらの利点を基により効率的なデータ転送を可能にします。RPC V2 CBOR は、JSON のテキストエンコーディングではなくバイナリエンコーディングを実装するため、ペイロードのサイズが小さくなり、シリアル化にかかる時間が短縮されます。

  • CloudWatch RPC v2 CBOR プロトコルは、CloudWatch クライアントとサーバー間のメディエーターとして機能します。

  • サーバーは CloudWatch オペレーションが作成されたプログラミング言語を理解しませんが、RPC v2 CBOR プロトコルは理解します。

  • CloudWatch RPC v2 CBOR プロトコルは、CloudWatch クライアントとサーバー間のシリアル化 (オブジェクトを CBOR 形式に変換) と逆シリアル化 (CBOR 形式をオブジェクトに変換) を使用します。

CloudWatch の新しいプロトコルを使い始めるにはどうすればよいですか。

現在、新しいプロトコルは SDK のパブリックプレビューバージョンで利用可能です。SDK は以下の手順に従ってダウンロードできます。

注記

以下に示す CloudWatch SDK のプレビューバージョンには、次のような特定の問題が存在します。このプレビュー SDK を使用すると、これらの問題が統合に影響を及ぼす可能性があります。これらの問題には最終リリース前に対処する予定です。

  • すべての SDK に影響 – プレビューバージョンでは、リストから末尾の null 値が削除されます。最終リリースでは、これらの値は適切にシリアル化されます。

  • Java SDK v1 に固有 – プレビューバージョンでは空のリストがシリアル化されません。最終リリースでは、空のリストは適切にシリアル化されます。

SDK クライアントプロトコルのサポート
言語 SDK クライアントリポジトリ SDK ダウンロードリンク SDK のインストール手順 プロトコル
C++ aws/aws-sdk-cpp ダウンロードへのリンク インストール手順 AWS JSON 1.0
Golang 2.x aws/aws-sdk-go-v2 ダウンロードへのリンク インストール手順 RPC v2 CBOR
Java 1.x aws/aws-sdk-java ダウンロードへのリンク インストール手順 AWS JSON 1.0
Java 2.x aws/aws-sdk-java-v2 ダウンロードへのリンク インストール手順 RPC v2 CBOR
JavaScript v3.x aws/aws-sdk-js-v3 ダウンロードへのリンク インストール手順 AWS JSON 1.0
.NET aws/aws-sdk-net ダウンロードへのリンク インストール手順 AWS JSON 1.0
PHP aws/aws-sdk-php ダウンロードへのリンク インストール手順 AWS JSON 1.0
Python-boto3 boto/boto3 ダウンロードへのリンク インストール手順 AWS JSON 1.0
awscli AWS CLI v1 アーティファクト ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 ソースディストリビューション ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 ソースディストリビューションがデタッチされました ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 Windows MSI ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 Linux X86 Docker ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 Linux X86 ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 Linux X86 インストーラがデタッチされました ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 Linux ARM Docker ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 Linux ARM ダウンロードへのリンク インストール手順 AWS JSON 1.0
AWS CLI v2 Linux ARM インストーラがデタッチされました ダウンロードへのリンク インストール手順 AWS JSON 1.0
Ruby aws/aws-sdk-ruby ダウンロードへのリンク インストール手順 AWS JSON 1.0
PowerShell ダウンロードへのリンク インストール手順 AWS JSON 1.0
Rust awslabs/aws-sdk-rust ダウンロードへのリンク インストール手順 RPC v2 CBOR
Swift awslabs/aws-sdk-swift ダウンロードへのリンク インストール手順 RPC v2 CBOR
Kotlin awslabs/aws-sdk-kotlin ダウンロードへのリンク インストール手順 RPC v2 CBOR

CloudWatch ワークロードでこれらの新しいプロトコルを有効にした場合、どのようなリスクがありますか。

AWS SDK のカスタム実装、またはカスタムクライアントと AWS SDK の組み合わせを使用して、AWS クエリベース (別名 XML ベース) のレスポンスを生成する CloudWatch を操作している場合、AWS JSON または CBOR プロトコルと互換性がない可能性があります。問題が発生した場合は、AWS サポートに連絡してください。

既に最新の AWS SDK バージョンを使用しているものの、オープンソースのソリューションが JSON または CBOR をサポートしていない場合はどうなりますか。

SDK のバージョンを以前のバージョンに変更する必要があります。CloudWatch の新しいプロトコルの使用を開始し、リストよりも前のバージョンを選択する方法については、「CloudWatch の新しいプロトコルを使い始めるにはどうすればよいですか。」を参照してください。AWS SDK を以前のバージョンに変更すると、CloudWatch API は AWS クエリプロトコルを使用します。

CloudWatch API で使用される AWS JSON および CBOR プロトコルではどのリージョンがサポートされていますか。

CloudWatch は、CloudWatch が利用可能なすべての AWS リージョンで AWS JSON および CBOR プロトコルをサポートしています。

新しいプロトコルを使用して CloudWatch の指定された AWS SDK バージョンにアップグレードすると、どのようなレイテンシーの改善が期待できますか。

JSON と CBOR はどちらも、AWS クエリと比較してレイテンシーが 50%~80% 向上します。CBOR はクライアントで 2 倍高速になります。どちらのプロトコルも、ネットワーク帯域幅の使用効率が 10~20% 改善します。

AWS クエリプロトコルは廃止される予定ですか。

AWS クエリプロトコルは引き続きサポートされます。お使いの AWS SDK のバージョンが、「CloudWatch の AWS JSON プロトコルを使い始めるにはどうすればよいですか。」に記載されているバージョンを除く、以前のいずれかのバージョンに設定されている場合、AWS クエリプロトコルを引き続き使用できます。

AWS JSON プロトコルと Smithy RPC v2 CBOR プロトコルの詳細情報はどこで入手できますか。

JSON プロトコルの詳細については、Smithy ドキュメントの「AWS JSON 1.0 protocol」を参照してください。

CloudWatch API リクエストの詳細については、「CloudWatch API リファレンスガイド」の「API リクエストの作成」を参照してください。