Amazon S3 の Amazon CloudWatch メトリクスには、
ストレージメトリクス、
リクエストメトリクス、
レプリケーションメトリクスの 3 種類があります。
ストレージメトリクスは、1 日に 1 回レポートされ、すべてのお客様に追加料金なしで提供されます。
リクエストメトリクスは、処理のレイテンシーの後に 1 分間隔で使用できます。
リクエストメトリクスには、CloudWatch の標準料金が課金されます。
コンソールで設定するか、Amazon S3 API を使用して、リクエストメトリクスを取得する必要があります。
-- 1. コマンド等のインストール
-- 1.1 aws cli version 2 インストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
-- 2. S3 バケットを作成する
aws s3 mb s3://bucket123
aws s3 ls
-- 3. テストファイルのアップロード
echo test01 > test01.txt
echo test02 > test02.txt
aws s3api put-object --bucket bucket123 --key test01.txt --body test01.txt
aws s3api put-object --bucket bucket123 --key test02.txt --body test02.txt
aws s3 ls s3://bucket123 --recursive
-- 4. 有効なメトリクスのリストを表示
aws cloudwatch list-metrics --namespace "AWS/S3"
-- 5. CloudWatch ストレージメトリクスを取得する
aws cloudwatch get-metric-statistics \
--namespace AWS/S3 \
--metric-name BucketSizeBytes \
--dimensions Name=BucketName,Value=bucket20211111-1 Name=StorageType,Value=StandardStorage \
--start-time 2021-11-11T00:00:00Z \
--end-time 2021-11-20T00:00:00Z \
--period 86400 \
--statistics Average \
--unit Bytes
aws cloudwatch get-metric-statistics \
--namespace AWS/S3 \
--metric-name NumberOfObjects \
--dimensions Name=BucketName,Value=bucket20211111-1 Name=StorageType,Value=AllStorageTypes \
--start-time 2021-11-11T00:00:00Z \
--end-time 2021-11-20T00:00:00Z \
--period 86400 \
--statistics Average \
--unit Count
-- 6. リクエストメトリクス設定を作成する
-- バケット内のすべてのオブジェクト
aws s3api put-bucket-metrics-configuration \
--bucket bucket123 \
--id 1 \
--metrics-configuration '{"Id":"1"}'
-- プレフィックスでフィルタリングする
aws s3api put-bucket-metrics-configuration \
--bucket bucket123 \
--id 2 \
--metrics-configuration '{"Id":"2", "Filter":{"Prefix":"test"}}'
-- タグでフィルタリングする
aws s3api put-bucket-metrics-configuration \
--bucket bucket123 \
--id 3 \
--metrics-configuration '{"Id":"3", "Filter":{"Tag": {"Key": "key1", "Value": "val1"}}}'
aws s3api list-bucket-metrics-configurations --bucket bucket123
aws s3api get-bucket-metrics-configuration --bucket bucket123 --id 1
aws s3api get-bucket-metrics-configuration --bucket bucket123 --id 2
aws s3api get-bucket-metrics-configuration --bucket bucket123 --id 3
-- 7. CloudWatch リクエストメトリクスを取得する
aws cloudwatch get-metric-statistics \
--namespace AWS/S3 \
--metric-name AllRequests \
--dimensions Name=BucketName,Value=bucket123 Name=FilterId,Value=1 \
--start-time 2021-11-11T00:00:00Z \
--end-time 2021-11-20T00:00:00Z \
--period 86400 \
--statistics Sum \
--unit Count
-- 8. リクエストメトリクス設定を削除する
aws s3api delete-bucket-metrics-configuration --bucket bucket123 --id 1
aws s3api delete-bucket-metrics-configuration --bucket bucket123 --id 2
aws s3api delete-bucket-metrics-configuration --bucket bucket123 --id 3
aws s3api list-bucket-metrics-configurations --bucket bucket123
-- 9. クリーンアップ
-- バケットの削除
aws s3 ls
aws s3 rb s3://bucket123 --force