Показаны сообщения с ярлыком S3. Показать все сообщения
Показаны сообщения с ярлыком S3. Показать все сообщения

понедельник, 3 июня 2024 г.

amazon aws s3 - path styles

https://community.aws/content/2biM1C0TkMkvJ2BLICiff8MKXS9/format-and-parse-amazon-s3-url

Суть:

есть масса форматов путей у S3, включая особенности про дефолтный регион (вне его такое не работает) - и просто не прочитав про это, можно долго думать что не так.

Если используется амазон и S3 - читать обязательно.

четверг, 9 марта 2023 г.

Как подключить S3 как диск?

Предисловие: скорость работы оставляет желать лучшего, но иногда лучше чем ничего...

Самое популярное: s3fs

https://github.com/s3fs-fuse/s3fs-fuse

Для начала, нужно сделать бакет, и записать файл с кредами, формат ID:KEY, в файл $HOME/.passwd-s3fs или /etc/s3fs-storage если будет монтироваться через fstab, и обязательно ставим права 0600, иначе может не монтировать.

На примере edgecore

Монтирование из консоли:

sudo s3fs <bucket> <local_dir> -o passwd_file=/etc/s3fs-storage -o allow_other -o url=https://s-dt2.cloud.edgecore.ru -o use_path_request_style

Если же требуется отладка то добавляем в конец этой строки:

-o dbglevel=info -f -o curldbg

Монтирование из fstab:
<bucket>    <local_dir>        fuse.s3fs     _netdev,allow_other,use_cache=/tmp/cache,uid=1000,gid=1000,use_path_request_style,passwd_file=/etc/s3fs-storage,url=https://s-dt2.cloud.edgecore.ru    0       0
Опции меняем-убираем по вкусу, это уже запуск под нужным пользователем. Нюанс, во многих инструкциях другой формат записи:
s3fs#<bucket>    <local_dir>        fuse ......
в убунте 20.04 работают оба.

Ещё нюанс, маунт при опциях выше показывает (rw,relatime,user_id=0,group_id=0,allow_other), хотя файлы внутри от нужного пользователя...

Для яндекса: отличий не так много, url=https://storage.yandexcloud.net

Для timeweb: по идее, должно быть тоже только url=https://s3.timeweb.com, но по факту - не работает...

Также интересно рассмотреть аналог от яндекса

https://github.com/yandex-cloud/geesefs

(а ещё там есть сравнение с несколькими другими проектами)


Если захочется собрать самому, то статей много, у яндекса, сбера итд, типа
https://tecadmin.net/mount-s3-bucket-centosrhel-ubuntu-using-s3fs/

PS

s3fs показал себя крайне ненадёжно:
ls: cannot access '/srv/storage': Transport endpoint is not connected
Ремаунт помогает на короткое время.
Поставлен  geesefs - работает так же медленно (помним что это fuse-обёртка на http), но хотя бы не падает.
Проверено на яндексе и эджцентре (оно же gcore). При этом для подключения под юзера с ид 1015 строка в fstab получилась такая
app-uploads    /srv/storage     fuse.geesefs    _netdev,allow_other,--endpoint=https://s-dt2.cloud.edgecore.ru,--cache=/tmp/geesefs.cache,--memory-limit=400,--read-ahead-large=20480,--dir-mode=0755,--file-mode=0644,--uid=1015,--gid=1015 0 0

среда, 6 апреля 2022 г.

gcore и их некоторые сервисы

На данный момент они же edgecenter.ru

В разрезе автоматизации, то есть через terraform

kubernetes

https://support.edgecenter.ru/knowledge_base/category/57207

Дальше работать можно через веб, можно через cli (kubectl), информация есть выше. А можно через (дискредетировавший себя) терраформ

https://registry.terraform.io/providers/G-Core/gcorelabs/latest/docs

https://github.com/G-Core/terraform-provider-gcorelabs/tree/master/examples

s3

Подключиться к S3 хранилищу с помощью aws cli и S3cmd

урлы и регионы

https://gcorelabs.com/support/articles/360002112138/

ацл и далее

https://gcorelabs.com/support/sections/360000563618/

понедельник, 30 марта 2020 г.

AWS S3: немного про ACL

Для начала, как посмотреть права на файле в s3, кроме веба?
s3cmd info s3://(bucket)/(dir/file)
aws s3api get-object-acl --bucket (bucket) --key (dir/file)

В выводе будут строки ACL:
Но что с этим знанием делать дальше? Для начала, читать доку

вторник, 24 мая 2011 г.

s3cmd

Офсайт
http://s3tools.org/s3cmd

Описание s3cmd sync
http://s3tools.org/s3cmd-sync
в том числе —-exclude / —-include и их варианты с регулярками и файлами.

Также интересен
S3fuse

Filesystem driver for Linux FUSE (Filesystem in USErspace). It will allow for mounting the S3 storage as a fully fledged filesystem to your Linux box.

Есть особенность в том, что есть bucket, но нет команды создания там каталогов... Но это особо и не нужно: s3cmd sync . s3://ourbucket/my/new/path (my/new/path не существует пока) отработает нормально и все пути создаст. Хотя в самом скрипте и есть закомментированный блок:
#{"cmd":"mkdir", "label":"Make a virtual S3 directory", "param":"s3://BUCKET/path/to/dir", "func":cmd_mkdir, "argc":1},
Так что может в дальнейшем и будет такая команда.

Дока с примерами:
http://www.tech6i.com/how-to-use-s3cmd-sync-to-syncrsync-your-data-with-your-s3-bucket/

Many of you have asked whether s3cmd supports Reduced Redundancy Storage recently introduced by Amazon. Yes it does!
RRS is supported in s3cmd 1.0.0-rc1 and newer

Oh, by the way, the magic switch is --reduced-redundancy or --rr for put, sync, cp and mv commands.
http://s3tools.org/reduced-redundancy-storage
You don’t need the development version for this; at least on 0.9.9.91 (recent Ubuntu distro), just add the header as documented by Amazon:

—add-header=x-amz-storage-class:REDUCED_REDUNDANCY

Конвертация non-rr to rr
http://www.bryceboe.com/2010/07/02/amazon-s3-convert-objects-to-reduced-redundancy-storage/

Впрочем, есть проблемы. В частности, копирование 80к картинок +чуть-чуть flv видео занимает много часов, хотя общий объем там относительно небольшой, около гига, канал 10мбит.
С синхронизацией тоже не всё хорошо - грузит проц, проблемы с симлинками итд. Надо читать комменты по ссылкам выше.

воскресенье, 16 января 2011 г.

s3cmd во FreeBSD

root@www1:/usr/ports# make search name=s3cmd
Port: py26-s3cmd-1.0.0.r1
Path: /usr/ports/net/py-s3cmd
Info: Unix-like tools to manipulate stored files from the command line
Maint: clsung@FreeBSD.org
B-deps: py26-elementtree-1.2.6_1 python26-2.6.6
R-deps: py26-elementtree-1.2.6_1 python26-2.6.6
WWW: http://s3tools.logix.cz/s3cmd

Требует установленного питона 2.6

среда, 10 ноября 2010 г.

Бэкапы в S3, часть 1

Для начала, определимся с языками и технологиями, а также тем, что вообще и как будем хранить.


Выгрузить файл в службы Amazon S3 с web-страницы можно несколькими способами:
  • При помощи командной строки, используя соответствующие модули CPAN.
  • При помощи командной строки, используя соответствующие модули Amazon.
  • Непосредственно из HTML-формы.
http://www.ibm.com/developerworks/ru/library/l-amazon-perl-2/

CPAN в свою очередь делятся еще на 2 части:
SOAP и REST
Модули - к примеру, s3cmd
Получить файл можно простым wget

Хранить нужно:
1) Дампы баз
2) архивы проектов (www)
3) копии репозитариев
4) рабочие файлы

Подборочка ссылок на скрипты
http://jeremy.zawodny.com/blog/archives/007641.html

s3sync пока отложил, потому что он на руби. Если часть проектов на наших серверах, где можно доставить руби, то на некоторых внешних проектах это практически нереально. Так что предпочтительно перл/пхп. Хотелось еще питон, но он по тем же причинам отложен. Хотя s3cmd зависимостями тянет питон, так что..

По установке немного:
http://habrahabr.ru/blogs/linux/72754/
http://wiki.vpslink.com/Automate_Backups_with_Amazon_S3_and_s3sync

Есть вариант duplicity + deja-dup

Получается как-то сумбурно немного, но я иначе вообще не выложу ничего...

среда, 3 ноября 2010 г.

ставим s3cmd

# cd /etc/yum.repos.d/
# wget http://s3tools.org/repo/CentOS_5/s3tools.repo
# yum -y install s3cmd
 Можно использовать.

Небольшое дополнение. s3cmd тянет в зависимостях питон.