AWS S3: как посмотреть, сколько места на диске используется



У меня есть аккаунт AWS. Я использую S3 для хранения резервных копий с разных серверов. Вопрос есть ли какая-либо информация в консоли AWS о том, сколько дисковых накопителей используется в моем облаке S3?



спасибо

851   16  

16 ответов:

Yippe-обновление для AWS CLI позволяет рекурсивно ls через ведра...

aws s3 ls s3://<bucketname> --recursive  | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=}END{print total/1024/1024" MB"}'

Я не уверен, когда это было добавлено в AWSCLI, учитывая, что исходный вопрос был 3 года назад, но инструмент командной строки дает хорошее резюме, запустив:

aws s3 ls s3://mybucket --recursive --human-readable --summarize

s3cmd может показать вам это, запустив s3cmd du, при необходимости передавая имя ведра в качестве аргумента.

интерфейс командной строки AWS теперь поддерживает --query параметр, который принимает JMESPath выражения.

Это означает, что вы можете суммировать значения размера, заданные list-objects используя sum(Contents[].Size) и как length(Contents[]).

Это можно запустить с помощью официального интерфейса командной строки AWS, как показано ниже, и было введено в февраль 2014

 aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"

чтобы узнать размер корзины S3 с помощью консоли AWS:

  1. щелкните имя корзины S3
  2. выберите вкладку "Управление"
  3. Нажмите кнопку навигации "метрики"
  4. по умолчанию вы должны увидеть метрику хранения ведра

надеюсь, что это помогает.

на Linux box, которые имеют pythonpip установщик), grep и awk, установите AWS CLI (инструменты командной строки для EC2, S3 и многих других сервисов)

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+=}END{print total/1024/1024" MB"}'
  • the aws часть перечисляет ведро (или необязательно "подпапку")
  • the grep часть удаляется (с помощью -v) строки, соответствующие регулярному выражению (с помощью -E). ^$ на пустую строку, -- для разделительных линий на выходе aws s3 ls
  • последние awk просто добавьте total 3-й Колум полученного выход (размер в КБ), а затем отобразить его в конце

Примечание эта команда работает для текущего ведра или "папки", а не рекурсивно

см https://serverfault.com/questions/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket

ответил Витька...

<?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';
?>

Cloud watch также позволяет создавать метрики для вашего ведра S3. Он показывает вам метрики по размеру и количеству объектов. Службы> Инструменты управления> облачные часы. Выберите регион, в котором находится ваш контейнер S3, и метрики размера и количества объектов будут среди этих доступных метрик.

начало большие ведра размер через API (либо aws cli, либо s4cmd) довольно медленный. Вот мой как объяснить, как разобрать отчет об использовании S3 С помощью bash One liner:

cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", /(1024**3 )/24, , }' | sort -n

В дополнение к ответу Кристофера.

Если вам нужно подсчитать общий размер версионного ведра, используйте:

aws s3api list-object-versions --bucket BUCKETNAME --output json --query "[sum(Versions[].Size)]"

он учитывает как последние, так и архивные версии.

консоль AWS не покажет вам это, но вы можете использовать Bucket Explorer или Морошка 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+=}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 удобно позволяет для вычисления размера для ведра или папки.

Мини Джонответ полностью работал для меня! Потрясающий... пришлось добавить

--region eu-west-1 

из Европы, хотя

Это старый запрос, но так как я искал ответ, я наткнулся на него. Некоторые из ответов заставили меня вспомнить, что я использую браузер S3 для управления данными. Вы можете нажать на ведро и нажмите Свойства, и он показывает вам общую сумму. Довольно просто. Я настоятельно рекомендую браузер: https://s3browser.com/default.aspx?v=6-1-1&fam=x64

Ну, вы можете сделать это через клиент S3, если вы предпочитаете дружественный интерфейс человека.

Я использую CrossFTP, который является бесплатным и кросс-платформенным, и там вы можете щелкнуть правой кнопкой мыши на папке каталога- > выберите "Свойства..."-> нажмите на кнопку "Рассчитать" рядом с размером и вуаля.

Я использую Облако Черепаха чтобы получить размер отдельных ведер. Если размер ведра превышает >100 Гб, то для отображения размера потребуется некоторое время. Облако черепаха является бесплатным.

Comments

    Ничего не найдено.