EC2インスタンスの用意
こちら を参考にEC2インスタンスを用意してください。
awsコマンドを使うので最初にするにはamazon linuxとかいいかもしれません。
IAMの設定を行う
ロールの作成
ロールを作成していきます。
EC2に割り当てるロールを作成します。
今回は CloudWatchAgentAdminPolicy
を適応します。
やりたいことだけでいうと 「cloudwatch:PutMetricData」 が入っていれば大丈夫だと思います。
ホントはもうちょっと絞ったほうがいいかも・・・
ロール名と説明を入れてさロールの作成を行います。
できました。
EC2にアタッチ
作成したEC2インスタンスから アクション > セキュリティ > IAMロールを変更 に進みます。
先ほど作成したIAMロールを選択してアップデートします。
サーバでaws configの設定
aws configure
コマンドでリージョン名とフォーマットを設定します。
アクセスキーなどを設定しないのは先程IAMロールをEC2に適応させたからです。
[root@ip-XX-XX-XX-XX ~]# aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: ap-northeast-1
Default output format [None]: json
値の送信
aws cloudwatch put-metric-data
コマンドを使い、入力する値としては以下になります。
--namespace : 名前空間(s3 や EC2等) : date-namespace
--metric-name : メトリクスの名前 : date-value
--dimensions : カテゴリ(s3だとストレージメトリクス など) : date-category=date
--value : cloudwatchにアップロードしたい値 : 20220630112446
入力イメージとしては以下になります。
※細かくなったので記載間違いとかあればコメントください
コマンドとしては以下を入力しました。
aws cloudwatch put-metric-data --namespace date-namespace --metric-name date-value --dimensions date-category=date --value 20220630112446
確認
cloudwatch > メトリクス > すべてのメトリクス から
参照 > date-namespace(namespace) > date-category(dimensions) から確認することが出来ます。
実際以下のように見ることができました。
勉強後イメージ
思ったよりすんなりいった
awsコマンド入ってるの楽やし、ロールアタッチできるのも楽!