Storage Browser for S3
Шёл 2024-й год. Не прошло и 20 лет спустя появления Amazon S3, как уже можно прямо в браузере ходить по S3!
https://github.com/aws-amplify/amplify-ui/issues/5731
Правда пока альфа-версия, но, глядишь, к юбилею успеют.
Хотя, вроде были варианты. Например, S3Fox:
https://aws.amazon.com/blogs/aws/s3fox_organizer/
Странно, в чём же прикол? Почему AWS потребовалось два десятка лет, чтобы придумать внешне обычный S3 просмотрщик?
Ох. Всё непросто. Дело в том, что у нас теперь новый, правильный S3. Точней, доступ к нему. Вы и не заметили, но это перепридуманный доступ к S3. Причём дважды.
AWS разработчикам пришлось всё переделать и при этом чтобы ничего не изменилось для старого и просто древнего кода.
А что ж так, зачем? Всё просто, две волшебные буквы — AI. В данном случае данные в виде Data Lake. Нужно иметь возможность задавать доступ к огромному количеству источников данных, где старый-привычный подход на базе IAM Roles и S3 Bucket policy не годится из-за ограничений и тупо неудобности.
Так были придуманы S3 Access Grants, которые были анонсированы на re:Invent 2023.
https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html
Реально полезное видео с этого реинвента:
https://www.youtube.com/watch?v=Ts-ZMBzGeh0
И AWS Blogs:
Часть 1 https://aws.amazon.com/blogs/storage/how-to-develop-a-user-facing-data-application-with-iam-identity-center-and-s3-access-grants/
Часть 2 https://aws.amazon.com/blogs/storage/how-to-develop-a-user-facing-data-application-with-iam-identity-center-and-s3-access-grants-part-2/
Кратко смысл следующий. Мы создаём S3 грант в аккаунте, с помощью которого юзер сможет получить доступ к S3 бакету или его префиксу. Юзер через условную Okta или MS Entra ID получает доступ с этим грантом через IAM Identity Center. В результате доступом к своим данным, разбросанным по аккаунтам и бакетам централизованно и при желании — извне Амазона.
Итого, что было раньше. Раньше были S3 ACL. Потом S3 Bucket Policy. Затем плюс IAM к ним. После S3 Access Points. И, на радость всем разработчикам AWS курсов, S3 Access Grants.
Важно отметить, что S3 Access Grants — нонче рекомендуемый способ предоставления доступа к данным в S3. Перевожу на понятный — все остальные "нерекомендованные". 😁
Причём тут Storage Browser for S3 вообще?
Да, собственно, вернёмся к теме. Так вот, с этими грантами вышла следующая беда. Нарезать то их можно, а вот "огласить полный список" для юзера — сразу по всем бакетам и префиксам было нельзя. Короче, та же беда, как нельзя ограничить листинг бакетов в аккаунте, чтобы не показывались те, к которым пользователь не имеет доступа.
Помните эту вечную болячку и постоянный вопрос "как сделать листинг только тех бакетов, которые нужно" — никак, листинг
И вот, наконец, ему на замену есть
https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html
Итого, с помощью
Это победа!
P.S. Жаль нет больше в AWS Василия Пантюхина. И эти титанические усилия на стороне AWS остаются не раскрытыми. А тут такая драма, нет, остросюжетный детектив, сериал, что угодно, а видно почти никому. Полезешь копаться, а там и пасхалки, и респауны, и шкафы со скелетами на каждом уровне.
#S3
Шёл 2024-й год. Не прошло и 20 лет спустя появления Amazon S3, как уже можно прямо в браузере ходить по S3!
https://github.com/aws-amplify/amplify-ui/issues/5731
Правда пока альфа-версия, но, глядишь, к юбилею успеют.
Хотя, вроде были варианты. Например, S3Fox:
https://aws.amazon.com/blogs/aws/s3fox_organizer/
Странно, в чём же прикол? Почему AWS потребовалось два десятка лет, чтобы придумать внешне обычный S3 просмотрщик?
Ох. Всё непросто. Дело в том, что у нас теперь новый, правильный S3. Точней, доступ к нему. Вы и не заметили, но это перепридуманный доступ к S3. Причём дважды.
AWS разработчикам пришлось всё переделать и при этом чтобы ничего не изменилось для старого и просто древнего кода.
А что ж так, зачем? Всё просто, две волшебные буквы — AI. В данном случае данные в виде Data Lake. Нужно иметь возможность задавать доступ к огромному количеству источников данных, где старый-привычный подход на базе IAM Roles и S3 Bucket policy не годится из-за ограничений и тупо неудобности.
Так были придуманы S3 Access Grants, которые были анонсированы на re:Invent 2023.
https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html
Реально полезное видео с этого реинвента:
https://www.youtube.com/watch?v=Ts-ZMBzGeh0
И AWS Blogs:
Часть 1 https://aws.amazon.com/blogs/storage/how-to-develop-a-user-facing-data-application-with-iam-identity-center-and-s3-access-grants/
Часть 2 https://aws.amazon.com/blogs/storage/how-to-develop-a-user-facing-data-application-with-iam-identity-center-and-s3-access-grants-part-2/
Кратко смысл следующий. Мы создаём S3 грант в аккаунте, с помощью которого юзер сможет получить доступ к S3 бакету или его префиксу. Юзер через условную Okta или MS Entra ID получает доступ с этим грантом через IAM Identity Center. В результате доступом к своим данным, разбросанным по аккаунтам и бакетам централизованно и при желании — извне Амазона.
Итого, что было раньше. Раньше были S3 ACL. Потом S3 Bucket Policy. Затем плюс IAM к ним. После S3 Access Points. И, на радость всем разработчикам AWS курсов, S3 Access Grants.
Важно отметить, что S3 Access Grants — нонче рекомендуемый способ предоставления доступа к данным в S3. Перевожу на понятный — все остальные "нерекомендованные". 😁
Причём тут Storage Browser for S3 вообще?
Да, собственно, вернёмся к теме. Так вот, с этими грантами вышла следующая беда. Нарезать то их можно, а вот "огласить полный список" для юзера — сразу по всем бакетам и префиксам было нельзя. Короче, та же беда, как нельзя ограничить листинг бакетов в аккаунте, чтобы не показывались те, к которым пользователь не имеет доступа.
Помните эту вечную болячку и постоянный вопрос "как сделать листинг только тех бакетов, которые нужно" — никак, листинг
s3:ListAllMyBuckets требует звёздочку в ресурсах.И вот, наконец, ему на замену есть
s3:ListCallerAccessGrants, который был нужен, чтобы реализовать Storage Browser for S3 — нам же нужно вывести всё, доступное пользователю.https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html
Итого, с помощью
s3:ListCallerAccessGrants можно получить полный список доступных S3 бакетов и доступных только этому юзеру, где он не увидит имени сразу всех S3 бакетов в аккаунте.Это победа!
P.S. Жаль нет больше в AWS Василия Пантюхина. И эти титанические усилия на стороне AWS остаются не раскрытыми. А тут такая драма, нет, остросюжетный детектив, сериал, что угодно, а видно почти никому. Полезешь копаться, а там и пасхалки, и респауны, и шкафы со скелетами на каждом уровне.
#S3
GitHub
StorageBrowser RFC · Issue #5731 · aws-amplify/amplify-ui
Overview StorageBrowser for Amazon S3 is an open source Amplify UI React component customers can add to their web applications to provide end-users with a simple interface for data stored in Amazon...
👍22🔥7❤3🤔1
AWS replacement for CodeCommit — git-remote-s3
https://github.com/awslabs/git-remote-s3
• git remote helper to use S3 as a serverless Git server
• git-lfs custom transfer to push LFS files
#CodeCommit #git #S3
https://github.com/awslabs/git-remote-s3
• git remote helper to use S3 as a serverless Git server
• git-lfs custom transfer to push LFS files
#CodeCommit #git #S3
GitHub
GitHub - awslabs/git-remote-s3
Contribute to awslabs/git-remote-s3 development by creating an account on GitHub.
🔥8🤔6👍3
Вы хотели S3 бакетов? Да пожалуйста!
https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-up-1-million-buckets-per-aws-account
#S3
https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-up-1-million-buckets-per-aws-account
2006: 1002015: 100 - 10002022: 1000 - 10 0002024-11: 10 000 - 1 000 000#S3
🔥11😁6👏2👍1
🆕 AWS Transfer Family web apps
https://aws.amazon.com/blogs/aws/announcing-aws-transfer-family-web-apps-for-fully-managed-amazon-s3-file-transfers/
Если вы не смогли поставить себе какой-нибудь Cyberduck для работы с данными в S3, то теперь можно настроить UI доступ к S3 с помощью AWS Transfer Family web apps. За каких-то 360$ в месяц за приложение.
#Transfer_Family #S3
https://aws.amazon.com/blogs/aws/announcing-aws-transfer-family-web-apps-for-fully-managed-amazon-s3-file-transfers/
Если вы не смогли поставить себе какой-нибудь Cyberduck для работы с данными в S3, то теперь можно настроить UI доступ к S3 с помощью AWS Transfer Family web apps. За каких-то 360$ в месяц за приложение.
#Transfer_Family #S3
😁13👍2
AWS Notes
Storage Browser for S3 Шёл 2024-й год. Не прошло и 20 лет спустя появления Amazon S3, как уже можно прямо в браузере ходить по S3! https://github.com/aws-amplify/amplify-ui/issues/5731 Правда пока альфа-версия, но, глядишь, к юбилею успеют. Хотя, вроде…
Storage Browser for Amazon S3
https://www.youtube.com/watch?v=UBpX8hCpLAY
AWS Blog:
https://aws.amazon.com/blogs/aws/connect-users-to-data-through-your-apps-with-storage-browser-for-amazon-s3/
#S3
https://www.youtube.com/watch?v=UBpX8hCpLAY
AWS Blog:
https://aws.amazon.com/blogs/aws/connect-users-to-data-through-your-apps-with-storage-browser-for-amazon-s3/
#S3
YouTube
Getting started with Storage Browser for Amazon S3
Storage Browser for Amazon S3 is an open source component that you can add to your web applications to provide your end users with a simple interface for data stored in S3.
With Storage Browser for S3, you can provide authorized end users, such as customers…
With Storage Browser for S3, you can provide authorized end users, such as customers…
🆕 S3 Tables = S3 buckets для аналитики
https://aws.amazon.com/blogs/aws/new-amazon-s3-tables-storage-optimized-for-analytics-workloads/
По сравнению с возможностью сделать на S3 buckets всё то же самое, S3 Tables обещает:
🔹 up to 3x faster query performance
🔸 up to 10x more transactions per second
И это весьма серьёзное отличие для прожорливых аналитических запросов.
А что с ценой? Отличия по самому хранению минимальные — где-то +5% по сравнению с S3 buckets. Если включить сжатие (S3 Tables compaction), то добавится ещё десяток-другой процентов, что вполне адекватно.
С ходу S3 Tables имеют интеграцию с Athena, Redshift, EMR, Glue Data Catalog и QuickSight.
Итого, нужно брать. С учётом важности работы с данными сейчас, S3 Tables теперь базовый элемент инфраструктуры.
Мои очередные сожаления (поздравления) всевозможным курсам — переделывать (и продавать).
#S3
https://aws.amazon.com/blogs/aws/new-amazon-s3-tables-storage-optimized-for-analytics-workloads/
По сравнению с возможностью сделать на S3 buckets всё то же самое, S3 Tables обещает:
🔹 up to 3x faster query performance
🔸 up to 10x more transactions per second
И это весьма серьёзное отличие для прожорливых аналитических запросов.
А что с ценой? Отличия по самому хранению минимальные — где-то +5% по сравнению с S3 buckets. Если включить сжатие (S3 Tables compaction), то добавится ещё десяток-другой процентов, что вполне адекватно.
С ходу S3 Tables имеют интеграцию с Athena, Redshift, EMR, Glue Data Catalog и QuickSight.
Итого, нужно брать. С учётом важности работы с данными сейчас, S3 Tables теперь базовый элемент инфраструктуры.
Мои очередные сожаления (поздравления) всевозможным курсам — переделывать (и продавать).
#S3
Amazon
New Amazon S3 Tables: Storage optimized for analytics workloads | Amazon Web Services
Amazon S3 Tables optimize tabular data storage (like transactions and sensor readings) in Apache Iceberg, enabling high-performance, low-cost queries using Athena, EMR, and Spark.
🔥11👍4
Deep dive on Amazon S3
https://www.youtube.com/watch?v=NXehLy7IiPM
S3:
🔸400 trillion objects amounting to exabytes of data
🔹150 million requests per second daily
🔸200 billion event notifications
🔹1 petabyte per second of traffic worldwide at peak
🔸tens of millions of hard drives, 20 terabytes each
🔹storage rack is about 1000 disks, 20 petabytes each
#S3 #video
https://www.youtube.com/watch?v=NXehLy7IiPM
S3:
🔸400 trillion objects amounting to exabytes of data
🔹150 million requests per second daily
🔸200 billion event notifications
🔹1 petabyte per second of traffic worldwide at peak
🔸tens of millions of hard drives, 20 terabytes each
🔹storage rack is about 1000 disks, 20 petabytes each
#S3 #video
YouTube
AWS re:Invent 2024 - Dive deep on Amazon S3 (STG302)
Amazon S3 provides developers and IT teams with cloud object storage that delivers industry-leading scalability, durability, security, and performance. Amazon S3 averages over 150 million requests per second across millions of hard drives to handle some of…
🔥15❤2
AWS поломал поддержку S3 со всеми сторонними S3-совместимыми инструментами.
В январе 2025-го года прилетело такое обновление AWS SDK:
https://github.com/aws/aws-sdk-go-v2/blob/release-2025-01-15/service/s3/CHANGELOG.md#v1730-2025-01-15
В нём появились два параметра:
Они как бы должны быть опциональными, но нет.
Поэтому, если у вас что-то не собирается, вы повторяете какой-то туториал, где всё красиво, а у вас лезут ошибки, топридётся страдать добавьте в
Либо через экспорт:
В качестве альтернативы, просто пиньте версию до этого обновления, например, AWS CLI 2.23.0.
#S3
В январе 2025-го года прилетело такое обновление AWS SDK:
https://github.com/aws/aws-sdk-go-v2/blob/release-2025-01-15/service/s3/CHANGELOG.md#v1730-2025-01-15
В нём появились два параметра:
AWS_REQUEST_CHECKSUM_CALCULATIONAWS_RESPONSE_CHECKSUM_VALIDATIONОни как бы должны быть опциональными, но нет.
Поэтому, если у вас что-то не собирается, вы повторяете какой-то туториал, где всё красиво, а у вас лезут ошибки, то
~/.aws/config переменные:request_checksum_calculation=when_requiredresponse_checksum_validation=when_requiredЛибо через экспорт:
export AWS_REQUEST_CHECKSUM_CALCULATION=when_requiredexport AWS_RESPONSE_CHECKSUM_CALCULATION=when_requiredВ качестве альтернативы, просто пиньте версию до этого обновления, например, AWS CLI 2.23.0.
#S3
GitHub
aws-sdk-go-v2/service/s3/CHANGELOG.md at release-2025-01-15 · aws/aws-sdk-go-v2
AWS SDK for the Go programming language. . Contribute to aws/aws-sdk-go-v2 development by creating an account on GitHub.
👍17❤9👏4🔥1
Логи Lambda теперь дешевле
https://aws.amazon.com/blogs/compute/aws-lambda-introduces-tiered-pricing-for-amazon-cloudwatch-logs-and-additional-logging-destinations/
Если у вас их было очень много (терабайты - но зачем?), то экономия существенная.
Возможность слать логи в S3 выглядит привлекательно, но как понимаю, это в довесок к CloudWatch, а не вместо — экономия лишь на хранении (а основной расход - ingestion).
#Lambda #CloudWatch #S3
https://aws.amazon.com/blogs/compute/aws-lambda-introduces-tiered-pricing-for-amazon-cloudwatch-logs-and-additional-logging-destinations/
Если у вас их было очень много (терабайты - но зачем?), то экономия существенная.
Возможность слать логи в S3 выглядит привлекательно, но как понимаю, это в довесок к CloudWatch, а не вместо — экономия лишь на хранении (а основной расход - ingestion).
#Lambda #CloudWatch #S3
Amazon
AWS Lambda introduces tiered pricing for Amazon CloudWatch logs and additional logging destinations | Amazon Web Services
Effective logging is an important part of an observability strategy when building serverless applications using AWS Lambda. Lambda automatically captures and sends logs to Amazon CloudWatch Logs. This allows you to focus on building application logic rather…
🍾2
s3-migrate — migrating objects between S3-compatible storage buckets.https://github.com/lmammino/s3-migrate
Cases:
▫️ copy an entire bucket from an account to another, and you need two different set of credentials for the source and destination accounts.
▫️ migrate objects from an S3-compatible service to another, such as from DigitalOcean Spaces to AWS S3 or vice versa.
Features:
▪️ Supports different AWS accounts, regions, and even S3-compatible services (it uses the AWS SDK under the hood but with the right configuration it should theoretically work with any S3-compatible service such as DigitalOcean Spaces, MinIO, Cloudflare R2, Backblaze B2, etc.)
▪️ Uses Node.js streams for efficient transfers (Data is transfered directly from the source to the destination without buffering the entire object in memory)
▪️ Allows stopping and resuming with a local SQLite database
▪️ Graceful shutdown on Ctrl+C
▪️ Configurable concurrency level and chunk size for memory / performance tuning
▪️ Progress bar and ETA for the copy process
⚠️ Currently intended for a one-off migration, not to keep 2 buckets in sync.
#S3
GitHub
GitHub - lmammino/s3-migrate: A CLI to help you move all your objects between s3-compatible storage systems
A CLI to help you move all your objects between s3-compatible storage systems - lmammino/s3-migrate
🔥9
Монтируем S3 в систему автоматически через
https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#automatically-mounting-an-s3-bucket-at-boot
#S3
fstab:s3://my-s3/ /mnt/s3 mount-s3 _netdev,nosuid,nodev,nofail,rw 0 0
https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#automatically-mounting-an-s3-bucket-at-boot
#S3
GitHub
mountpoint-s3/doc/CONFIGURATION.md at main · awslabs/mountpoint-s3
A simple, high-throughput file client for mounting an Amazon S3 bucket as a local file system. - awslabs/mountpoint-s3
🤔21👍4
По-настоящему дешёвое векторное хранилище — S3 Vectors 🎉
https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/
#S3
https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/
#S3
👍19🔥10👀2