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

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

Ответ 1

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"}'

Ответ 2

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

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

Ответ 3

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

  • Нажмите имя ведра S3
  • Выберите вкладку "Управление"
  • Нажмите кнопку навигации "Метрики".
  • По умолчанию вы должны увидеть метрику хранилища в ковше

Надеюсь, что это поможет.

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

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

ПРИМЕЧАНИЕ эта команда работает для текущего ведра или "папки", а не рекурсивно

Ответ 7

См. 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';
?>

Ответ 8

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

Ответ 10

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

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

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

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

Ответ 11

Консоль AWS не покажет вам это, но вы можете использовать Bucket Explorer или Cloudberry Explorer, чтобы получить общий размер ведра. Обе версии имеют бесплатные версии.

Примечание. Эти продукты по-прежнему должны получать размер каждого отдельного объекта, поэтому для ведер с большим количеством объектов может потребоваться много времени.

Ответ 12

На основе ответа @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 удобно позволяет вычислять размер для ведра или папки.

Ответ 13

Mini John полностью помог мне! Удивительно... пришлось добавить

--region eu-west-1 

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

Ответ 14

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

Ответ 15

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

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

Ответ 16

s3admin - это приложение с открытым исходным кодом, которое позволяет просматривать сегменты, вычислять общий размер, показывать самые большие/самые маленькие файлы. Он предназначен для быстрого обзора ваших ковшей и их использования.

Ответ 17

Вы спросили: информацию в консоли AWS о том, сколько дискового пространства используется в моем облаке S3?

Я подхожу к Billing Dashboard и проверяю использование S3 в текущем счете.

Они дают вам информацию - MTD - в Gb до 6 десятичных знаков, IOW, до уровня Kb.

Он разбит по регионам, но их сложение (при условии, что вы используете более одного региона) достаточно просто.

BTW: You may need specific IAM permissions to get to the Billing information.

Ответ 18

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