Clean Up

イベントの無効化

以下のコマンドでイベントを無効化します。もしくは、イベント有効化時にメモしておいた設定に戻します。こちらの手順は、同じ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
        }
    }
}'

リソースの削除

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

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

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

clean-up.py

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

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

# 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 にアタッチされている証明書がある場合はデタッチしてください。

CloudFormation のコンソールから、作成したスタックを削除してください。

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