見出し画像

IoT で使用する Amazon CloudWatch - その3

前回( IoT で使用する Amazon CloudWatch - その2 )の続きです。

前回は「Amazon CloudWatch」と「カスタムメトリクス」の概要について解説しました。

今回から、実際に Amazon CloudWatch カスタムメトリクスにデータを登録する方法について書いていきます。

Amazon Web Services のAPIとSDK

Amazon Web Services (AWS) のサービスはすべてAPIでアクセスすることができます。

例えば、Amazon CloudWatch のカスタムメトリクスにデータを登録するには、Amazon CloudWatch API の PutMetricData というアクションを使用します。

APIのリファレンスを見てみましょう。

PutMetricData - Amazon CloudWatch
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html

HTTPでこのAPIを呼び出すことでカスタムメトリクスにデータを登録することができるのですが、データの送信先や呼び出し元のユーザーを指定するためにリクエストには署名をつける必要があります。

実際にカスタムメトリクスにデータを登録する際には、何らかのプログラムを使用して登録することになると思います。

いろいろなプログラミング言語や実行環境でAWSのAPIが利用できるように、あらかじめSDKや開発に使用できるライブラリなどが用意されています。

2018年7月現在、以下のようなSDKやライブラリが利用可能です。

AWS SDK
- AWS SDK for Java
AWS SDK for .NET
- AWS SDK for JavaScript in the Browser
AWS SDK for JavaScript in Node.js
AWS SDK for PHP
AWS SDK for Python (Boto3)
AWS SDK for Ruby
AWS SDK for C++
AWS SDK for Go

AWS Mobile SDK
AWS SDK for iOS
AWS SDK for Android
- AWS Mobile SDK for Unity
AWS Mobile SDK for .NET and Xamarin

ライブラリ
- AWS Amplify(JavaScript Library)
AWS Amplify Library for Web
AWS Amplify Library for React Native

コマンドラインツール
AWS Command Line Interface (CLI)
AWS Tools for PowerShell

このように、様々なプログラミング言語に合わせてSDKが用意されていますので、ここにある言語でAWSのサービスを利用する場合はSDKを使用するのが簡単です。

また、コマンドラインツールもあるので、シェルスクリプトなどからAWSサービスを利用することもできます。

Amazon Web Services を利用するための事前準備

AWSのAPIを利用するには、AWSのアカウントとアクセスキーが必要になります。

Amazon CloudWatch のカスタムメトリクスにデータを登録する事前準備として、以下の方法でアクセスキーを作成しておきましょう。

AWSアカウントの取得

Amazon CloudWatch を使用するためには、AWSのアカウントが必要になります。

下記のページを参考にアカウントを取得してください。

AWS アカウント作成の流れ | AWS
https://aws.amazon.com/jp/register-flow/

アクセスキーの作成

外部からAWSのサービスにアクセスするためにアクセスキーが必要になります。

下記のページを参考にアクセスキーを作成してください。

アクセスキーについて - リソース | AWS
https://aws.amazon.com/jp/developers/access-keys/

作成したアクセスキーで Amazon CloudWatch を利用するためには、1つ追加の設定が必要になります。

先ほどのページの手順4に以下の操作が記載されています。

4. [Select Policy Template] セクションで、Amazon S3 Full Access を検索し、[Select] をクリックします。

ここで指定するポリシーテンプレートには「 CloudWatchFullAccess 」を指定して下さい。

作業のふりかえり

これでAWSのAPIを利用するために必要な、AWSのアカウントとアクセスキーの準備ができました。

ここで作成したアクセスキーは「 Amazon CloudWatch だけを使用できるユーザー 」としてAWSサービスを利用できるものです。

権限を制限していますので Amazon CloudWatch 以外のAWSサービスを使用することはできません。

まとめ

今回は Amazon CloudWatch を利用するためのSDKや開発ツールの紹介と、事前準備として、アクセスキーの作成方法についてまとめてみました。

実際にIoTデバイスから Amazon CloudWatch を使用する具体例として、 Raspberry Pi から AWS SDK を利用してカスタムメトリクスにデータを登録する方法を説明します。


いいなと思ったら応援しよう!