Azure Tableストレージに格納されたゲストOS診断データを時間指定で削除する
こんにちは、Azureサポートチームの三國です。
今回は、Azure Tableストレージに格納されたゲストOS診断データを時間指定で削除する方法についてご案内します。
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
はじめに
Azure Table ストレージには、表形式で情報を格納できます。たとえば、仮想マシンの"ゲストOSの診断"情報を格納できます。格納は仮想マシン作成時などに設定できます。
この"ゲストOSの診断"を利用することで、VMのパフォーマンス情報などを得ることができ、それはポータルから確認ができます。
"ゲストOSの診断"データは、たとえばストレージエクスプローラなどで下図のように蓄積されていることを確認できます。
さて、このデータは**どれくらいの期間
**保管されるのでしょうか?
ストレージアカウントの診断ログアーカイブはリテンションというパラメータがあり、保管期間を指定することができます。
しかし、現時点では"ゲストOSの診断"データについては保管期間の管理ができません。
そのため、過去にさかのぼって診断データを確認できるメリットはありますが、保管しているデータの容量に対して課金が発生します。課金体系の詳細はこちらをご覧ください。
今回は、Tableストレージに蓄積されたゲストOS診断データについて時間を指定して削除するPowerShellスクリプトをご紹介します。
クラシックモデルについては、こちらで同機能の PowerShell のサンプルが公開されていましたが、ARM についてはサンプルはありませんでしたので、今回、公開する事にしました。
スクリプトのご紹介
以下、powershellスクリプトになります。.ps1形式で保存し、powershellとしてお使いください。
ClearOutAzureTableStorageEntity_ARM
必要な引数は以下です。
StorageAccountName: "ストレージアカウント名"
TableName: "テーブル名"
ResourseGroupName: "リソースグループ名"
StartTime: "削除開始時間"
EndTime: "削除終了時間"
StartTime(削除開始時間)、EndTime(終了時間)はGMT(グリニッジ標準時) で以下のフォーマットで指定してください。
mm/dd/yyyy hh:mm:ss AM(or PM)
例: 10/13/2017 06:00 AM
以下は実行例です。
PS > .\scriptForBlog.ps1 -StorageAccountName saforblog -ResourseGroupName rgForBlog -TableName WADPerformanceCountersTable -StartTime "10/13/2017 06:30 AM" -EndTime "10/13/2017 06:33 AM"
(アカウント情報略)
saforblog
Deleting the entity whose ETag is 'W/"datetime'2017-10-13T06%3A30%3A34.4238714Z'"'.
Deleting the entity whose ETag is 'W/"datetime'2017-10-13T06%3A30%3A34.4238714Z'"'.
Deleting the entity whose ETag is 'W/"datetime'2017-10-13T06%3A30%3A34.4238714Z'"'
(中略)
Totally deleted 183 entities in 'WADPerformanceCountersTable' Table Storage.
ストレージエクスプローラを見ると下図のようになっています。6:30-6:33のデータが削除されていることがわかります。
以上です。
皆様のお役に立ちましたら幸いです。
なお、スクリプトのご利用にあたっては免責事項をご参照願います。