AWS 계정이 있습니다. S3를 사용하여 다른 서버의 백업을 저장하고 있습니다. 질문은 AWS 콘솔에 S3 클라우드에서 사용중인 디스크 공간에 대한 정보가 있습니까?
AWS 계정이 있습니다. S3를 사용하여 다른 서버의 백업을 저장하고 있습니다. 질문은 AWS 콘솔에 S3 클라우드에서 사용중인 디스크 공간에 대한 정보가 있습니까?
답변:
Yippe-AWS CLI 업데이트를 통해 버킷을 통해 재귀 적으로 ls ...
aws s3 ls s3://<bucketname> --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
aws cloudwatch get-metric-statistics --namespace AWS/S3 --start-time 2015-07-15T10:00:00 --end-time 2015-07-31T01:00:00 --period 86400 --statistics Average --region eu-west-1 --metric-name BucketSizeBytes --dimensions Name=BucketName,Value=toukakoukan.com Name=StorageType,Value=StandardStorage
중요 : dimension 인수에 StorageType과 BucketName을 모두 지정해야합니다 . 그렇지 않으면 결과가 표시되지 않습니다.
원래 질문이 3 년 전이라는 점을 감안할 때 이것이 AWSCLI에 언제 추가되었는지 확실하지 않지만 명령 줄 도구는 다음을 실행하여 멋진 요약을 제공합니다.
aws s3 ls s3://mybucket --recursive --human-readable --summarize
for b in $(aws s3 ls | awk '{ print $NF }'); do printf "$b "; aws s3 ls s3://$b --recursive --human-readable --summarize | tail -1; done
AWS 콘솔을 사용하여 S3 버킷의 크기를 확인하려면 :
도움이 되었기를 바랍니다.
ls
기반 솔루션은 그렇지 않은 불완전한 업로드를 캡처 합니다.
s3cmd는를 실행 s3cmd du
하고 선택적으로 버킷 이름을 인수로 전달하여 이를 표시 할 수 있습니다 .
이제 AWS CLI는 --query
는 JMESPath 표현식을 사용 파라미터를 .
이는 다음을 list-objects
사용하여 주어진 크기 값을 합산 할 수 있음을 의미합니다.sum(Contents[].Size)
과 같은 계산을 length(Contents[])
.
이는 아래와 같이 공식 AWS CLI를 사용하여 실행할 수 있으며 2014 년 2 월 에 도입되었습니다.
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
In function sum(), invalid type for value: None, expected one of: ['array-number'], received: "null"
그렇지 않으면 쿼리가 잘 작동합니다!
python
( pip
설치 프로그램 포함) grep
및 awk
AWS CLI (EC2, S3 및 기타 여러 서비스 용 명령 줄 도구 ) 가있는 Linux 상자에서
sudo pip install awscli
그런 다음 .awssecret
아래와 같은 내용으로 홈 폴더에 파일 을 만듭니다 (필요에 따라 키, 암호 및 지역 조정).
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
이 파일을 사용자에게만 읽기 / 쓰기로 만듭니다.
sudo chmod 600 .awssecret
환경으로 내보내십시오.
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
그런 다음 터미널에서 실행합니다 ( \
여기에서 쉽게 읽을 수 있도록로 구분 된 한 줄 명령 ).
aws s3 ls s3://<bucket_name>/foo/bar | \
grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | \
awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
aws
부분 (임의로 또는 "서브 폴더") 버킷 나열grep
(사용 부품 제거합니다 -v
) 정규 표현식 (사용하여 일치하는 라인 -E
). ^$
빈 줄입니다.--
출력의 구분 줄aws s3 ls
awk
단순히 추가 total
한 후 결과 출력 (KB의 크기)의 3 콜럼 마지막에 표시참고이 명령은 재귀 적이 아닌 현재 버킷 또는 '폴더'에 대해 작동합니다.
/server/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket을 참조 하십시오.
의해 답변을 Vic ...
<?php
if (!class_exists('S3')) require_once 'S3.php';
// Instantiate the class
$s3 = new S3('accessKeyId', 'secretAccessKey');
S3::$useSSL = false;
// List your buckets:
echo "S3::listBuckets(): ";
echo '<pre>' . print_r($s3->listBuckets(), 1). '</pre>';
$totalSize = 0;
$objects = $s3->getBucket('name-of-your-bucket');
foreach ($objects as $name => $val) {
// If you want to get the size of a particular directory, you can do
// only that.
// if (strpos($name, 'directory/sub-directory') !== false)
$totalSize += $val['size'];
}
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
?>
echo ($totalSize / 1024 / 1024 / 1024) . ' GB';
은 소스 코드 맨 아래에 있습니다.
점점 큰 버켓 (중 AWS가 s4cmd를 CLI 또는) API를 통해 크기 것은 매우 느립니다. bash one liner를 사용하여 S3 사용 보고서를 구문 분석하는 방법을 설명하는 방법은 다음과 같습니다 .
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3 )/24, $4, $2}' | sort -n
AWS 콘솔은이를 표시하지 않지만 Bucket Explorer를 사용 하거나 Cloudberry Explorer를 를 의 총 크기를 가져올 수 있습니다. 둘 다 무료 버전을 사용할 수 있습니다.
참고 : 이러한 제품은 여전히 각 개별 개체의 크기를 가져와야하므로 개체가 많은 버킷의 경우 시간이 오래 걸릴 수 있습니다.
@cudds의 답변을 바탕으로 :
function s3size()
{
for path in $*; do
size=$(aws s3 ls "s3://$path" --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{printf "%.2fGb\n", (total/1024/1024/1024)}')
echo "[s3://$path]=[$size]"
done
}
...
$ s3size bucket-a bucket-b/dir
[s3://bucket-a]=[24.04Gb]
[s3://bucket-b/dir]=[26.69Gb]
또한 Cyberduck 은 버킷 또는 폴더의 크기를 편리하게 계산할 수 있습니다.
이것은 오래된 질문이지만 답을 찾고 있었기 때문에 그것을 발견했습니다. 일부 답변은 S3 브라우저를 사용하여 데이터를 관리하는 것을 기억하게했습니다. 버킷과 적중 속성을 클릭하면 총계가 표시됩니다. 아주 간단합니다. 브라우저를 적극 권장합니다 : https://s3browser.com/default.aspx?v=6-1-1&fam=x64
인간 친화적 인 UI를 선호한다면 S3 클라이언트를 통해서도 가능합니다.
저는 무료이며 크로스 플랫폼 인 CrossFTP를 사용 합니다. 여기서 폴더 디렉토리를 마우스 오른쪽 버튼으로 클릭-> "속성 ..."을 선택-> 크기 및 짜임새 옆에있는 "계산"버튼을 클릭합니다.
질문 : AWS 콘솔에서 S3 클라우드에서 사용중인 디스크 공간에 대한 정보 ?
나는 그래서에 청구 대시 보드 및 현재 법안의 S3 사용을 확인합니다 .
그들은 당신에게 정보-MTD-Gb에서 6 소수점, IOW, Kb 수준까지 제공합니다.
지역별로 세분화되어 있지만 두 개 이상의 지역을 사용한다고 가정 할 때 추가하는 것만으로도 충분합니다.
BTW : 결제 정보에 액세스하려면 특정 IAM 권한이 필요할 수 있습니다.
Cloud Turtle 을 사용 하여 개별 버킷의 크기를 얻습니다. 버킷 크기가> 100Gb를 초과하면 크기를 표시하는 데 시간이 걸립니다. Cloud turtle은 프리웨어입니다.