WASABI のストレージ使用率を AWS CLI で確認する
wasabi のストレージ使用率を Web UI から確認しようとしたところ、以下のように Bucket size information is unavailable at this point in time. Sizes are calculated once daily.
と表示されてしまいました。
しかし、AWS CLI であればいつでもストレージの使用率を確認することが出来ます。 但し、詳細は後述しますが --page-size
オプションによって結果が異なる為、「凡そのサイズが分かる」(正確なサイズが分かるわけでは無い) と理解しておいた方が良さそうです。
AWS CLI の実行¶
以下のように実行します。
1 |
|
これで以下のように結果が表示されるはずです。
1 2 3 4 5 |
|
.aws/config
ファイルの設定¶
wasabi に限定した話ではありませんが、S3 のパフォーマンスを改善する為、.aws/config
は以下のように設定してあります。 具体的な値は実行環境にあわせてチューニングしてください。
1 2 3 4 5 6 |
|
--page-size
オプションについて¶
以下のように --page-size
オプション無しで実行します。
1 |
|
すると、以下のようなエラーになってしまいました。 --page-size
オプションを付与すればこのエラーを回避出来るようです。
1 |
|
尚、AWS の公式ページ には --page-size
オプションについて以下の記載がありました。
大量のリソースに対してリストコマンドを実行しているときに問題がある場合、1,000 というデフォルトのページサイズが高すぎる可能性があります。これにより、AWS サービスの呼び出しが最大許容時間を超えて、「タイムアウト」エラーを生成することがあります。--page-size オプションを使用して、AWS CLI が AWS のサービスの 1 回の呼び出しで要求する項目数を少なくすることができます。その場合でも、CLI は完全なリストを取得しますが、多数のサービス API コールをバックグラウンドで実行し、1 回の呼び出しで取得する項目数が少なくなります。このため、個々の呼び出しがタイムアウトにならずに成功する可能性が高くなります。ページサイズを変更しても、出力には影響しません。出力を生成するために必要な API 呼び出しの数が変わるだけです。
--page-size
オプションごとの結果¶
「wasabi Bucket 上のファイル数やサイズは一切、変更無し」という条件下で --page-size
の値を変化させながら実行した結果をメモしてみました。 今回の環境では --page-size
に 7,260 を指定した場合が Total Objects
と Total Size
が共に最大となりました。 --page-size
は「タイムアウトしない程度に全オブジェクト数より多ければ良い」というわけでも無いようです。
--page-size | Total Objects | Total Size |
---|---|---|
1000 | (Error) | (Error) |
2000 | (Error) | (Error) |
3000 | (Error) | (Error) |
4000 | 7771 | 622.7 |
5000 | 7652 | 606.1 |
6000 | 7638 | 606 |
7000 | 9862 | 619.9 |
7100 | 9962 | 620.7 |
7200 | 10062 | 621.5 |
7250 | 10112 | 625.3 |
7260 | 10122 | 625.4 |
7261 | 7651 | 606.1 |
7262 | 7651 | 606.1 |
7263 | 7651 | 606.1 |
7264 | 7651 | 606.1 |
7265 | 7651 | 606.1 |
7270 | 7651 | 606.1 |
7280 | 7651 | 606.1 |
7290 | 7651 | 606.1 |
7300 | 7651 | 606.1 |
7400 | 7651 | 606.1 |
7500 | 7651 | 606.1 |
7600 | 7651 | 606.1 |
7700 | 7651 | 606.1 |
7800 | 7651 | 606.1 |
7900 | 7651 | 606.1 |
8000 | 7651 | 606.1 |
9000 | 7651 | 606.1 |
10000 | 7651 | 606.1 |