翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: AWS IoT Device Client チュートリアルを実行した後のクリーンアップ
このチュートリアルの手順では、このラーニングパスのチュートリアルを完了するまでに作成したファイルとリソースを削除する手順を説明します。
このチュートリアルの手順
ステップ 1: AWS IoT Device Client でデモを作成した後にデバイスをクリーンアップする
このチュートリアルでは、このラーニングパスでデモを作成した後に microSD カードをクリーンアップする方法の 2 つのオプションについて説明します。必要なセキュリティレベルを提供するオプションを選択します。
デバイスの microSD カードをクリーニングしても作成した AWS IoT リソースは何も削除されないことに注意してください。デバイスの microSD カードをクリーニングしてから AWS IoT リソースをクリーンアップするには、ステップ 2: AWS IoT Device Client でデモを作成した後に AWS アカウント をクリーンアップする のチュートリアルを確認してください。
オプション 1: microSD カードを書き換えてクリーンアップする
このラーニングパスのチュートリアルを完了した後、microSD カードをクリーニングする最も簡単で徹底的な方法は、デバイスの最初の準備時に作成して保存しておいたイメージファイルで microSD カードを上書きすることです。
この手順では、ローカルホストコンピュータを使用して、保存された microSD カードイメージを microSD カードに書き込みます。
注記
デバイスがオペレーティングシステムにリムーバブルストレージメディアを使用していない場合は、そのデバイスの手順を参照してください。
microSD カードに新しいイメージを書き込むには
-
ローカルホストコンピュータで、microSD カードに書き込む保存した microSD カードイメージを見つけます。
-
microSD カードをローカルホストコンピュータに挿入します。
-
SD カードイメージングツールを使用して、選択したイメージファイルを microSD カードに書き込みます。
-
Raspberry Pi OS イメージを microSD カードに書き込んだ後、microSD カードを取り出し、ローカルホストコンピュータから安全に取り外します。
microSD カードは使用可能になっています。
オプション 2: ユーザーディレクトリを削除してクリーンアップする
チュートリアルを完了した後、microSD カードのイメージを書き換えずに microSD カードをクリーニングするには、ユーザーディレクトリを個別に削除します。この方法では、システムファイルがインストールされている場合、そのファイルは削除されないため、保存されたイメージで microSD カードを書き換える方法ほど徹底的ではありません。
必要性に対して、ユーザーディレクトリが十分に削除されるならば、この手順に従うことができます。
このラーニングパスのユーザーディレクトリをデバイスから削除するには
-
次のコマンドを実行して、デバイスに接続されたターミナルウィンドウで、このラーニングパスで作成されたユーザーディレクトリ、サブディレクトリ、およびそのすべてのファイルを削除します。
注記
これらのディレクトリとファイルを削除すると、チュートリアルを再度完了しないとデモを実行できなくなります。
rm -Rf ~/dc-configs rm -Rf ~/policies rm -Rf ~/messages rm -Rf ~/certs rm -Rf ~/.aws-iot-device-client
-
次のコマンドを実行して、デバイスに接続されているターミナルウィンドウで、アプリケーションのソースディレクトリとファイルを削除します。
注記
これらのコマンドはプログラムをアンインストールしません。プログラムのビルドとインストールに使用されたソースファイルのみを削除します。これらのファイルを削除すると、AWS CLI と AWS IoT Device Client が動作しない場合があります。
rm -Rf ~/aws-cli rm -Rf ~/aws rm -Rf ~/aws-iot-device-client
ステップ 2: AWS IoT Device Client でデモを作成した後に AWS アカウント をクリーンアップする
これらの手順は、このラーニングパスのチュートリアルの完了までに作成した AWS リソースを特定して削除するのに役立ちます。
AWS IoT リソースをクリーンアップする
この手順は、このラーニングパスのチュートリアルの完了までに作成した AWS IoT リソースを特定して削除するのに役立ちます。
チュートリアル | モノのリソース | ポリシーリソース |
---|---|---|
DevCliTestThing |
DevCliTestThingPolicy | |
PubSubTestThing |
PubSubTestThingPolicy | |
チュートリアル: AWS IoT Device Client でのリモートアクション (ジョブ) をデモンストレーションする |
ユーザー定義 (複数ある可能性があります) |
ユーザー定義 (複数ある可能性があります) |
AWS IoT リソースを削除するには、作成したモノのリソースごとに、以下の手順に従います。
-
を削除するモノのリソースの名前に置き換えてから、次のコマンドを実行して、ローカルホストコンピュータからモノのリソースにアタッチされた証明書を一覧表示します。thing_name
aws iot list-thing-principals --thing-name
thing_name
このコマンドは、
にアタッチされている証明書を一覧表示するこのようなレスポンスを返します。ほとんどの場合、リストに含まれる証明書は 1 つだけです。thing_name
{ "principals": [ "arn:aws:iot:us-west-2:57EXAMPLE833:cert/23853eea3cf0edc7f8a69c74abeafa27b2b52823cab5b3e156295e94b26ae8ac" ] }
-
前のコマンドでリストされた各証明書について、次の手順を実行します。
-
を前のコマンドの証明書 ID に置き換えます。証明書 ID は、前のコマンドで返された ARN でcertificate_ID
cert/
の後に続く英数字です。次に、次のコマンドを実行して、証明書を無効にします。aws iot update-certificate --new-status INACTIVE --certificate-id
certificate_ID
成功すると、このコマンドは何も返しません。
-
を以前に返された証明書のリストの証明書 ARN に置き換えてから、次のコマンドを実行して、この証明書にアタッチされたポリシーを一覧表示します。certificate_ARN
aws iot list-attached-policies --target
certificate_ARN
このコマンドは、証明書にアタッチされたポリシーを一覧表示するこのようなレスポンスを返します。ほとんどの場合、リストにはポリシーが 1 つしかありません。
{ "policies": [ { "policyName": "DevCliTestThingPolicy", "policyArn": "arn:aws:iot:us-west-2:57EXAMPLE833:policy/DevCliTestThingPolicy" } ] }
-
証明書にアタッチされた各ポリシーについて、次の手順を実行します。
-
を 前のコマンドのpolicy_name
policyName
の値に置き換え、
を証明書の ARN に置き換えてから、次のコマンドを実行して、証明書からポリシーをデタッチします。certificate_ARN
aws iot detach-policy --policy-name
policy_name
--targetcertificate_ARN
成功すると、このコマンドは何も返しません。
-
をpolicy_name
policyName
の値に置き換えてから、次のコマンドを実行して、ポリシーがその他の証明書にアタッチされているかどうかを確認します。aws iot list-targets-for-policy --policy-name
policy_name
コマンドがこのような空のリストを返す場合、ポリシーはどの証明書にもアタッチされていません。その場合、ポリシーのバージョンを一覧表示します。ポリシーにまだ証明書が添付されている場合は、detach-thing-principal ステップに進みます。
{ "targets": [] }
-
をpolicy_name
policyName
の値に置き換えてから、次のコマンドを実行してポリシーのバージョンを確認します。ポリシーを削除するには、ポリシーのバージョンが 1 つだけであることが必要です。aws iot list-policy-versions --policy-name
policy_name
次の例のように、ポリシーにバージョンが 1 つしかない場合は、スキップして delete-policy ステップに進み、直ちにポリシーを削除できます。
{ "policyVersions": [ { "versionId": "1", "isDefaultVersion": true, "createDate": "2021-11-18T01:02:46.778000+00:00" } ] }
次の例のように、ポリシーに複数のバージョンがある場合、ポリシーを削除する前に、
isDefaultVersion
の値がfalse
であるポリシーバージョンを削除する必要があります。{ "policyVersions": [ { "versionId": "2", "isDefaultVersion": true, "createDate": "2021-11-18T01:52:04.423000+00:00" }, { "versionId": "1", "isDefaultVersion": false, "createDate": "2021-11-18T01:30:18.083000+00:00" } ] }
ポリシーバージョンを削除する必要がある場合は、
をpolicy_name
policyName
の値に置き換え、
を前のコマンドのversion_ID
versionId
の値に置き換えてから、次のコマンドを実行してポリシーバージョンを削除します。aws iot delete-policy-version --policy-name
policy_name
--policy-version-idversion_ID
成功すると、このコマンドは何も返しません。
ポリシーバージョンを 1 つ削除した後、ポリシーのポリシーバージョンが 1 つになるまで、このステップを繰り返します。
-
をpolicy_name
policyName
の値に置き換えてから、次のコマンドを実行してポリシーを削除します。aws iot delete-policy --policy-name
policy_name
-
-
をモノの名前に置き換え、thing_name
を証明書の ARN に置き換えてから、次のコマンドを実行してモノのリソースから証明書をデタッチします。certificate_ARN
aws iot detach-thing-principal --thing-name
thing_name
--principalcertificate_ARN
成功すると、このコマンドは何も返しません。
-
を前のコマンドの証明書 ID に置き換えます。証明書 ID は、前のコマンドで返された ARN でcertificate_ID
cert/
の後に続く英数字です。次に、次のコマンドを実行して、証明書リソースを削除します。aws iot delete-certificate --certificate-id
certificate_ID
成功すると、このコマンドは何も返しません。
-
-
をモノの名前に置き換えて、次のコマンドを実行してモノを削除します。thing_name
aws iot delete-thing --thing-name
thing_name
成功すると、このコマンドは何も返しません。
AWS リソースをクリーンアップする
この手順は、このラーニングパスのチュートリアルの完了までに作成した他の AWS リソースを特定して削除するのに役立ちます。
チュートリアル | リソースタイプ | リソース名または ID |
---|---|---|
チュートリアル: AWS IoT Device Client でのリモートアクション (ジョブ) をデモンストレーションする |
Amazon S3 オブジェクト | hello-world-job.json |
チュートリアル: AWS IoT Device Client でのリモートアクション (ジョブ) をデモンストレーションする |
AWS IoT ジョブリソース |
ユーザー定義 |
このラーニングパスで作成された AWS リソースを削除するには
-
このラーニングパスで作成されたジョブを削除するには
-
次のコマンドを実行して、AWS アカウント のジョブを一覧表示します。
aws iot list-jobs
このコマンドは、自身の AWS アカウント と AWS リージョン の AWS IoT ジョブの次のようなリストを返します。
{ "jobs": [ { "jobArn": "arn:aws:iot:us-west-2:57EXAMPLE833:job/hello-world-job-2", "jobId": "hello-world-job-2", "targetSelection": "SNAPSHOT", "status": "COMPLETED", "createdAt": "2021-11-16T23:40:36.825000+00:00", "lastUpdatedAt": "2021-11-16T23:40:41.375000+00:00", "completedAt": "2021-11-16T23:40:41.375000+00:00" }, { "jobArn": "arn:aws:iot:us-west-2:57EXAMPLE833:job/hello-world-job-1", "jobId": "hello-world-job-1", "targetSelection": "SNAPSHOT", "status": "COMPLETED", "createdAt": "2021-11-16T23:35:26.381000+00:00", "lastUpdatedAt": "2021-11-16T23:35:29.239000+00:00", "completedAt": "2021-11-16T23:35:29.239000+00:00" } ] }
-
このラーニングパスで作成したジョブとしてリストから認識したジョブごとに、
を削除するジョブのjobId
jobId
の値に置き換えてから、次のコマンドを実行して AWS IoT ジョブを削除します。aws iot delete-job --job-id
jobId
コマンドが正常に終了すると、何も返しません。
-
-
このラーニングパスの Amazon S3 バケットに保存したジョブドキュメントを削除するには
-
を使用したバケットの名前に置き換えてから、次のコマンドを実行して、使用した Amazon S3 バケット内のオブジェクトを一覧表示します。bucket
aws s3api list-objects --bucket
bucket
このコマンドは、次のようにバケット内の Amazon S3 オブジェクトのリストを返します。
{ "Contents": [ { "Key": "hello-world-job.json", "LastModified": "2021-11-18T03:02:12+00:00", "ETag": "\"868c8bc3f56b5787964764d4b18ed5ef\"", "Size": 54, "StorageClass": "STANDARD", "Owner": { "DisplayName": "EXAMPLE", "ID": "e9e3d6ec1EXAMPLEf5bfb5e6bd0a2b6ed03884d1ed392a82ad011c144736a4ee" } }, { "Key": "iot_job_firmware_update.json", "LastModified": "2021-04-13T21:57:07+00:00", "ETag": "\"7c68c591949391791ecf625253658c61\"", "Size": 66, "StorageClass": "STANDARD", "Owner": { "DisplayName": "EXAMPLE", "ID": "e9e3d6ec1EXAMPLEf5bfb5e6bd0a2b6ed03884d1ed392a82ad011c144736a4ee" } }, { "Key": "order66.json", "LastModified": "2021-04-13T21:57:07+00:00", "ETag": "\"bca60d5380b88e1a70cc27d321caba72\"", "Size": 29, "StorageClass": "STANDARD", "Owner": { "DisplayName": "EXAMPLE", "ID": "e9e3d6ec1EXAMPLEf5bfb5e6bd0a2b6ed03884d1ed392a82ad011c144736a4ee" } } ] }
-
このラーニングパスで作成したオブジェクトとしてリストから認識したオブジェクトごとに、
をバケット名に置き換え、bucket
を削除するオブジェクトのキー値に置き換えてから、次のコマンドを実行して Amazon S3 オブジェクトを削除します。key
aws s3api delete-object --bucket
bucket
--keykey
コマンドが正常に終了すると、何も返しません。
-
このラーニングパスの完了までに作成した AWS リソースとオブジェクトをすべて削除したら、チュートリアルを最初からやり直すことができます。