AWSのサービスで自席の快適度を測定できるようにしてみた話(2)
2026年05月21日 木曜日
以前の記事では、AWS IoT SiteWise Monitorを使用して自席付近の気温・湿度などを計測できるようにしました。その後 2025年10月付 でAWS IoT SiteWise Monitorのメンテナンスサービス入りが発表され、新規ユーザは利用不可となりました。今後の機能追加も基本的に行われません。
参考:https://docs.aws.amazon.com/general/latest/gr/maintenance_services.html
今回は、元々AWS IoT SiteWise Monitorを使用して可視化してた部分を移行の選択肢として提示されている「Amazon Managed Grafana」にしていきたいと思います。加えてAWS IoT TwinMakerも試していきます!
構成図
前回記事:AWSのサービスで自席の快適度を測定できるようにしてみた話 | IIJ Engineers Blog
以前作成した環境をベースに、Amazon Managed Grafana、AWS IoT TwinMakerなどを追加しています。
Amazon Managed Grafanaについて
Amazon Managed Grafanaは以下の通りでAWSフルマネージドサービスのGrafanaです。
Amazon Managed Grafanaは、AWSが提供するフルマネージド型のデータ可視化サービスです。オープンソースのGrafanaを基盤として、メトリクス、ログ、トレースを複数のデータソースから即座にクエリ、相関分析、可視化できます。
最大の強みは、AWS 関連のデータソースを利用する際に IAM ロールによる制御をそのまま適用できる点です。そのため、IAMユーザが不要になり、IAMユーザに紐づくアクセスキーのローテーションも不要になります。
以下の画像はIAMの組み込みロール設定部分になりますが、様々なデータソースへのアクセスを手軽に付与することが出来ます。Prometheusもマネージドで提供されていますのでベーシックな監視構成はマネージドサービスのみで組み上げることが可能です。
Amazon Managed Grafanaのセットアップ
Grafanaの設定を進めていきます。Grafanaは古いバージョンを選択しています。
サブネットを2つ以上指定する必要があるためサブネット部分は注意が必要です。
プラグイン管理をオンにし、ネットワークアクセスコントロールはプレフィックスでアクセス元を制限します。
今回使用しませんが表示されているサービス全てへの許可設定を追加します。
以上でAmazon Managed Grafanaのセットアップ作業は完了です。
AWS IoT SiteWiseなどのデータソースの設定によってはここで作成されるIAMロールに追加の設定が必要になります。
一例としてAWS IoT SiteWiseをデータソースとする場合、以下に相当する権限ポリシーが必要です。
{
"Effect": "Allow",
"Action": [
"iotsitewise:DescribeAssetModel",
"iotsitewise:ListAssetModels",
"iotsitewise:DescribeAsset",
"iotsitewise:ListAssets",
"iotsitewise:DescribeAssetProperty",
"iotsitewise:GetAssetPropertyValue",
"iotsitewise:GetAssetPropertyValueHistory"
],
"Resource": "*"
}
エンドポイントの追加
AWS IoT SiteWiseのデータを読み際にエンドポイントが必要になる場合があります。今回はAPI、Dataの2つを追加します。
- com.amazonaws.ap-northeast-1.iotsitewise.api
- com.amazonaws.ap-northeast-1.iotsitewise.data
作成した画面
一旦、AWS IoT SiteWise Monitorと同程度の情報を表示する画面を作成してみます。
AWSマネージドサービスなだけあって、つまづくことなく簡単に可視化することが出来ました!
デジタルツイン環境の下準備
AWS IoT TwinMakerでデジタルツインを構築するにあたり、大前提として3Dモデルが必要になります。当初はScaniverseというアプリを検討していましたが、課題が多数存在したため最終的に以下の3Dモデルを使用することにしました。
デジタルツインとは、現実の設備や機器を仮想空間上に再現したモデルです。センサーなどから取得したリアルタイムデータを取り込み、状態の可視化や挙動のシミュレーションを行います。
対象は工場内の単一機器から、風力発電設備、さらには都市全体まで幅広く、運用状況の監視や異常の予兆検知、保守計画の最適化などに活用されています。
使用した3Dモデル(Furniture Kit – Kenney)
https://kenney.nl/assets/furniture-kit
電子部品3Dモデル(DigiKey)
https://www.digikey.jp/ja/models/16608263
環境構築
以下のコマンドを使用してワークスペースなどを作成します。
{
# ワークスペース用のS3バケットを作成
aws s3 mb s3://my-twinmaker-workspace-bucket-948302543195 --region ap-northeast-1
# IoT TwinMaker ワークスペースを作成
aws iottwinmaker create-workspace \
--workspace-id my-factory-workspace \
--s3-location "arn:aws:s3:::my-twinmaker-workspace-bucket-948302543195" \
--role "arn:aws:iam::948302543195:role/TwinMakerWorkspaceRole" \
--region ap-northeast-1
続いてリソースライブラリに必要な3Dモデルをアップロードします。
アップロードした3Dモデルを使用してシーンを作成します。
最後にGrafanaとの連携を行います。
GrafanaからTwinMakerの機能を使用するためのロールを作成します。
※この画面で表示されるポリシーなどは自動的に連携されません。
最後にS3でクロスオリジン設定を追加します。
Managed Grafanaとの連携
Grafanaとの接続を行います。Assume Role ARNはOptionalと記載されていますが今回のケースでは設定が必須です。
既存のダッシュボードを編集し、TwinMakerのシーンを表示させます。
以上で、AWS上でデジタルツイン環境を作成することが出来ました。
今回の構成ではセンサー設置地点が1か所のみなのでイメージすることが難しいですが、温度、湿度、電波強度を測定する機器がすべてのデスクに配置される
という想定で考えると、オフィスのどこで問題が起きているのかを確認したり、後からどのタイミングで問題が発生したのかを確認できる環境を作成できたと言えます。















