{S3}CloudWatch メトリクスの設定

Amazon S3Amazon 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