AWS IoT Core(MQTTブローカー)統合ガイド

Prev Next

Tulip Interface AWS IoT Core との統合 - AWS コンソールガイド

# Tulip Interface AWS IoT Core 統合 - AWS コンソールガイド

概要

このガイドでは、コマンドラインを使用せずに、AWSコンソールだけで Tulip Interface をAWS IoT Coreに接続する方法について説明します。

前提条件

  • IoT 権限を持つ AWS コンソールへのアクセス権
  • MQTTコネクタ機能を備えたTulip Interface へのアクセス権
  • Webブラウザ

ステップ 1: IoT Thing を作成する

1.1 AWS IoTコンソールにアクセスする

  1. AWS IoT コンソールにアクセスします
  2. 左側のサイドバーで、[管理] → [Thing] をクリックします

1.2 新しいデバイスを作成する

  1. [Thingの作成] をクリックします
  2. [単一の Thing を作成] を選択します
  3. [次へ] をクリックします
  4. 「Thing name」に「tulip-interface-client」と入力します
  5. その他のフィールドはデフォルトのままにします
  6. 「次へ」をクリック

ステップ 2: デバイス証明書の作成

2.1 証明書の設定

  1. 「新しい証明書を自動生成する」を選択します
  2. [次へ] をクリック

2.2 IoT ポリシーの作成

  1. [ポリシーの作成] をクリックします
  2. 開いた新しいタブで:
  3. ポリシー名:TulipMQTTPolicy
  4. ポリシー文書:**「JSON」**タブをクリックし、以下を貼り付けます: json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:*" ], "Resource": "*" } ] }
  5. 「作成」をクリックします
  6. 前のタブに戻る

2.3 ポリシーの添付

  1. ポリシー一覧を更新します
  2. 「TulipMQTTPolicy」を選択
  3. 「Thingの作成」をクリック

ステップ 3: 証明書ファイルのダウンロード

3.1 必要なファイルのダウンロード

重要:これらのファイルは直ちにダウンロードしてください(後でダウンロードすることはできません):

  1. デバイス証明書→ 「certificate.pem.crt」として保存
  2. 秘密鍵ファイル→private.pem.keyとして保存
  3. Amazon Root CA 1→ 「AmazonRootCA1.pem」として保存
  4. [完了] をクリック

3.2 証明書チェーンファイルの作成

  1. テキストエディタでcertificate.pem.crtを開く
  2. テキストエディタでAmazonRootCA1.pemを開く
  3. 「cert_chain.pem」という名前の新しいファイルを作成します
  4. certificate.pem.crtの内容全体をcert_chain.pemにコピーします
  5. 末尾に新しい行を追加します
  6. AmazonRootCA1.pemの内容全体をコピーし、cert_chain.pemの末尾に追加します
  7. cert_chain.pemを保存します

ステップ 4: 秘密鍵の形式を変換する

4.1 オンライン変換ツール

コマンドラインは使いたくないので、オンラインツールを使用します:

  1. SSL Converterまたは同様のツールにアクセスします
  2. 「変換元: RSA 秘密鍵」を選択します
  3. 「変換先」で「PKCS#8」を選択します
  4. private.pem.keyファイルをアップロードします
  5. 変換されたファイルをprivate_pkcs8.pemとしてダウンロードします

セキュリティに関する注意:本番環境では、セキュリティを強化するため、オフラインツールまたはコマンドラインを使用してください。


ステップ 5: IoT エンドポイントを取得する

5.1 エンドポイントの確認

  1. AWS IoT コンソールで、[設定](左側のサイドバー)に移動します
  2. [デバイスデータエンドポイント] の下にあるエンドポイント URL をコピーします
  3. URLは次のような形式です:a1234567890123-ats.iot.us-west-1.amazonaws.com
  4. このURLを保存してください。Tulipの設定で必要になります

ステップ 6:Tulip Interface のMQTTコネクタを設定する

6.1 MQTT 接続設定

Tulip Interface のMQTTコネクタで、以下を設定してください:

  • MQTT ブローカーホスト:[手順 5 で取得したエンドポイント]
  • ポート:8883
  • プロトコル:MQTT over TLSまたはMQTTS
  • クライアント ID:tulip-interface-client

6.2 証明書の設定

以下のファイルをTulip Interface にアップロードしてください:

  1. 証明書ファイル:cert_chain.pemをアップロード
  2. 秘密鍵ファイル:private_pkcs8.pemをアップロード
  3. CA証明書ファイル:AmazonRootCA1.pemをアップロード

6.3 トピックの設定

  • 公開トピック:tulip/data
  • トピックの購読:tulip/commands(オプション)

ステップ 7: CloudWatch Logging を有効にする(オプション)

7.1 IAM ロールの作成

  1. IAMコンソールにアクセスします
  2. [Roles] → [Create role] をクリック
  3. AWS サービスを選択 →IoT
  4. [次へ] をクリック
  5. 「CloudWatchLogsFullAccess」を検索して選択します
  6. 「次へ」をクリック
  7. ロール名:IoTLogsRole
  8. 「ロールの作成」をクリック

7.2 IoT ロギングを有効にする

  1. AWS IoT コンソールに戻る
  2. [設定](左側のサイドバー)に移動します
  3. [ログ] の下にある**[編集**] をクリックします
  4. 詳細レベル:Info
  5. ロールの設定:IoTLogsRoleを選択
  6. 「更新」をクリック

ステップ 8: 接続のテスト

8.1 AWSコンソールでの監視

  1. [テスト] → [MQTT テストクライアント] に移動します
  2. [トピックを購読] をクリックします
  3. トピックフィルター:tulip/data
  4. [Subscribe] をクリック

8.2 Tulip からのテスト

  1. からテストメッセージを送信しますTulip Interface
  2. AWS MQTT テストクライアントにメッセージが表示されるはずです

8.3 CloudWatch ログの確認(有効になっている場合)

  1. CloudWatchコンソールにアクセスします
  2. [Logs] → [Log groups] をクリックします
  3. 「AWSIotLogsV2」を探します
  4. ロググループをクリックして、接続ログを表示します

トラブルシューティング

よくある問題とコンソールでの解決策

1. 証明書が機能しない

問題:証明書エラーにより接続に失敗する解決策: -cert_chain.pemを使用していることを確認してください(個別の証明書ではありません) - 秘密鍵が PKCS#8 形式(private_pkcs8.pem)であることを確認してください

2. ポリシーに関する問題

問題:ログに認証エラーが記録されている解決策:1.[Secure]→[Policies]に移動します。2.[TulipMQTTPolicy] をクリックします。3. JSONポリシーで、「*」リソースに対する「 iot:*」が許可されていることを確認します。

3. エンドポイントの誤り

問題:ブローカーに接続できない解決策:1. IoTコンソールの**「設定」**に移動します。2. エンドポイントURLを正確にコピーします(-atsサフィックスを含む)。3.ポート8883を使用します。

4. 証明書が紐付けられていない

問題:認証エラー解決策:1.**[Secure]→[Certificates]に移動します。2. 該当する証明書をクリックします。3.[Things]タブと[Policies]**タブを確認します。4.「tulip-interface-client」シングと「TulipMQTTPolicy」が関連付けられていることを確認します。


ファイルの概要

Tulipの設定には、以下のファイルが必要です:

📁 ダウンロードしたファイル├── certificate.pem.crt      # オリジナルのデバイス証明書├── private.pem.key          # 元の秘密鍵├── AmazonRootCA1.pem        # AmazonルートCA├── cert_chain.pem           # 証明書 + ルートCA ← これを使用└── private_pkcs8.pem        # 変換済みの秘密鍵 ← これを使用

クイックリファレンスカード

Tulip MQTT 設定の概要

設定 値
ホスト [your-endpoint]-ats.iot.[region].amazonaws.com
ポート 8883
クライアント ID tulip-interface-client
トピック tulip/data
証明書 cert_chain.pem
秘密鍵 private_pkcs8.pem
CA証明書 AmazonRootCA1.pem

AWSコンソールのクイックリンク


成功の指標

✅接続に成功

  • Tulip Interface ステータスが「接続済み」と表示される
  • tulip/dataをサブスクライブすると、AWS MQTT テストクライアントにメッセージが表示される
  • CloudWatchログにPublish-Inイベントが正常に記録されている

❌接続に失敗しました

  • 証明書ファイルの形式が正しいか確認してください
  • エンドポイントURLがAWSコンソールと完全に一致しているか確認してください
  • ポート 8883 が使用されていることを確認してください
  • クライアント ID が Thing Name と完全に一致していることを確認してください

セキュリティのベストプラクティス

  1. 証明書の保管:証明書ファイルをTulipに安全に保管してください
  2. ポリシーの精緻化:テスト終了後、より制限の厳しいポリシーを作成してください
  3. 監視:本番環境の監視のために CloudWatch ロギングを有効にする
  4. 定期的な更新:証明書の更新計画を立てる(証明書の有効期限は2049年)

サポートリソース

  • AWS IoT ドキュメント:docs.aws.amazon.com/iot
  • Tulip サポート:MQTT コネクタに関する問題については、Tulip サポートにお問い合わせください
  • AWSサポート:IoT Coreに関する問題については、AWSサポートをご利用ください

注:このガイドでは、AWSコンソールのみに焦点を当てています。自動化やスクリプト作成については、CLIベースのガイドを参照してください。