Clean Up

この手順ではワークショップで作成したリソースを削除していきます。

Fleet Hub アプリケーションの削除

7-1. で Fleet Hub アプリケーションを作成した場合は、以下の手順でアラーム、Fleet Hub アプリケーション、AWS SSOを削除します。

Fleet Hub アラームの削除

  • Fleet Hub アプリケーションの Fleet Hub alarms の画面で、作成したアラーム(Low-connected-device)を選択し、Delete ボタンを選択します
  • 確認画面が表示されるので Delete ボタンを選択します

Fleet Hub アプリケーションの削除

  • AWS IoT のコンソール -> フリートハブ -> アプリケーション を選択します
  • 作成したアプリケーション(Device Management Workshop) にチェックを入れ 削除 ボタンを選択します
  • 確認画面が表示されるので delete と入力し、削除 ボタンを選択します

AWS SSO の削除

Fleet Hub 以外の用途で AWS SSO を利用している場合はこの手順は実施しないでください。

  • AWS SSO のコンソール を開きます
  • 設定 を選択し、AWS SSO の設定を削除 ボタンを選択します
  • 全てのチェックボックスにチェックを入れ、削除 と入力し、AWS SSO の削除 ボタンを選択します

イベントの無効化

以下のコマンドでイベントを無効化します。もしくは、イベント有効化時にメモしておいた設定に戻します。こちらの手順は、同じAWSアカウント内のどなたか1名が実行してください。

aws iot update-event-configurations --cli-input-json \
'{
    "eventConfigurations": {
        "THING_TYPE": {
            "Enabled": false
        },
        "JOB_EXECUTION": {
            "Enabled": false
        },
        "THING_GROUP_HIERARCHY": {
            "Enabled": false
        },
        "CERTIFICATE": {
            "Enabled": false
        },
        "THING_TYPE_ASSOCIATION": {
            "Enabled": false
        },
        "THING_GROUP_MEMBERSHIP": {
            "Enabled": false
        },
        "CA_CERTIFICATE": {
            "Enabled": false
        },
        "THING": {
            "Enabled": false
        },
        "JOB": {
            "Enabled": false
        },
        "POLICY": {
            "Enabled": false
        },
        "THING_GROUP": {
            "Enabled": false
        }
    }
}'

IoT リソースの削除

まず、モノの種類を無効化します。これには約5分かかります。

aws iot deprecate-thing-type --thing-type-name Device-$NAME

続いて、バルクで作成したモノをまとめて削除します。 以下のコマンドを実行すると、名前が bulky-, group-member- から始まるデバイスが全て削除されます。 ワークショップ以外で同じ名前のデバイスを作成している場合、そちらも削除されてしまいますので、ご注意ください。 こちらの手順は、同じAWSアカウント内のどなたか1名が実行してください。

clean-up.py

上記コマンドを実行すると削除されるモノのリストが表示されるので、内容に問題がなければ Enter キーで削除を実行します。

そして、作成したリソースを手動で削除していきます。ここでは作業で作成したものを削除してください。

# Continuous Job のキャンセル(日時部分はマネージメントコンソールのジョブから確認します。)
aws iot cancel-job --job-id $NAME-continuous-YYYY-mm-dd_H-M-S

# 動的グループの削除
aws iot delete-dynamic-thing-group --thing-group-name Dynamic_${NAME}_v1

# フリートインデックスの無効化
aws iot update-indexing-configuration \
  --thing-indexing-configuration thingIndexingMode=OFF

# S3のバケットを空にしておきます
# これを実行しないと、続いて行う CloudFormation スタックの削除に失敗します
# 保存しておきたいファイルがある場合は事前にバックアップしておいてください
aws s3 rm s3://$S3_BUCKET --include "*" --recursive

# グループを削除します
aws iot delete-thing-group --thing-group-name bulky-group-$NAME
aws iot delete-thing-group --thing-group-name building-$NAME

# ポリシーを削除します
aws iot delete-policy --policy-name SmartBuilding_${NAME}_Policy
aws iot delete-policy --policy-name bootstrapPolicy-$NAME
# 無効化したモノのタイプを削除します
# 失敗した場合は少し待ってから再度試してください
aws iot delete-thing-type --thing-type-name Device-$NAME

# 3-2で作成したLambdaの削除
aws lambda delete-function --function-name preProvFook-$NAME
# 3-5で作成したLambdaの削除
aws lambda delete-function --function-name jitr-$NAME

$IOT_POLICY にアタッチされている証明書がある場合はデタッチしてください。

CloudWatch ログの削除

ハンズオン以外で AWS IoT を利用しておりログを残している場合は、AWSIotLogsV2 は削除しないでください。

  • CloudWatch のコンソールを開きます
  • メニューの ログ > ロググループ を選択します
  • ロググループから以下のロググループにチェックを入れ、アクション から ロググループの削除 を実施します
    • /aws/lambda/jitr-お名前
    • /aws/lambda/preProvFook-お名前
    • AWSIotLogsV2

CloudFormation スタックの削除

  • CloudFormation のコンソールを開きます
  • 作成したスタック(DeviceManagementWorkshop)を選択して、削除 ボタンを選択します
  • 確認画面が表示されるので スタックの削除 ボタンを選択します

お疲れ様でした、これで本ワークショップの内容は全て完了です!