ロギングの有効化

IAM ロールの作成

※ 同一AWSアカウントを複数のユーザーで使っている場合は、この手順は誰か1人が代表して行ってください。

AWS IAM console(https://console.aws.amazon.com/iam/) で以下の手順を行います。

  1. ロール
  2. ロールの作成
  3. このロールを使用するサービスを選択で「IoT」を選択
  4. ユースケースの選択で「IoT」を選択
  5. 「次のステップ: アクセス権限」をクリック
  6. 少なくとも AWSIoTLogging が選択されていることを確認
  7. 「次のステップ: タグ」をクリック
  8. 「次のステップ: 確認」をクリック
  9. ロール名に「AWSIoTAccessServices」を入力
  10. 「ロールの作成」をクリック

IoT ロギングの有効化

※ 同一AWSアカウントの同一リージョンを複数のユーザーで使っている場合は、以下の手順は誰か1人が代表して行ってください。

AWS IoT Core console(https://console.aws.amazon.com/iot/) で以下の手順を行います。

  1. 設定
  2. ログ -> 編集
  3. 詳細レベルを「警告」に変更
  4. ログの設定で先ほど作成した「AWSIoTAccessServices」のロールを選択
  5. 「更新」をクリック

IoT V2 ログの有効化

続いて、AWS CLI を用いてロギングの設定を変更してみます。Cloud9 のターミナルから以下のコマンドを実行します。

ロールのARNを確認します。

aws iam get-role --role-name AWSIoTAccessServices

IoT V2 ログを有効化し、ログレベルを「情報」に変更します。

aws iot set-v2-logging-options --role-arn [AWSIoTAccessServices の ARN を記入] --default-log-level INFO --no-disable-all-logs

V2 ログが有効化されたことを確認します。

aws iot get-v2-logging-options

以下のような出力が表示されることを確認します。

{
    "roleArn": "[ROLE_ARN_AWSIoTAccessServices]",
    "defaultLogLevel": "INFO",
    "disableAllLogs": false
}

これによって Amazon CloudWatch へログが送られるようになり、AWS マネジメントコンソールからログを確認できます。