AWS S3 как служба размещения изображений: все, что вам нужно знать

AWS S3 как служба размещения изображений: все, что вам нужно знать

2 апреля 2023 г.

Отказ от ответственности: инструменты искусственного интеллекта использовались для улучшения предложений и обеспечения согласованности в этой статье.

Подробное руководство по настройке S3 в качестве службы размещения изображений

В современном цифровом мире изображения – неотъемлемая часть онлайн-общения. От личных блогов до веб-сайтов электронной коммерции изображения используются для передачи сообщений, демонстрации продуктов и улучшения общего пользовательского опыта. Однако размещение изображений и управление ими может оказаться непростой задачей, особенно для веб-сайтов с большим количеством посетителей. Именно здесь в игру вступает Amazon S3 как отличный сервис для размещения изображений.

Amazon S3, или Simple Storage Service, — это облачная служба хранения объектов, которая позволяет пользователям хранить и извлекать любой объем данных из любого места в Интернете. Благодаря высокой масштабируемости, надежности и безопасности S3 стал популярным решением для хостинга изображений, выступая в качестве надежной и экономичной альтернативы традиционным услугам хостинга.

Вот некоторые преимущества использования AWS S3 в качестве службы размещения изображений:

  1. Экономичность. Цены на S3 зависят от использования, что делает его экономичным решением для размещения изображений. Благодаря модели ценообразования S3 с оплатой по мере использования вы платите только за используемое хранилище и пропускную способность, без каких-либо предварительных платежей или долгосрочных обязательств. Это делает S3 идеальным вариантом для веб-сайтов с различными схемами трафика или для тех, кто хочет снизить расходы на хостинг.
  2. Высокая масштабируемость. S3 позволяет хранить неограниченное количество изображений и легко масштабируется, чтобы справляться с увеличением трафика. По мере того, как ваш веб-сайт растет и привлекает больше посетителей, S3 может справляться с возросшим трафиком без простоев и перерывов, что делает его масштабируемым решением для хостинга изображений.
  3. Долговечность. S3 обеспечивает надежность на уровне 99,999999999 % и доступность объектов на уровне 99,99 % в течение заданного года. Это означает, что ваши изображения всегда будут доступны вашим пользователям, независимо от каких-либо аппаратных сбоев или проблем с сетью.
  4. Безопасность. S3 предлагает несколько функций безопасности для защиты ваших изображений от несанкционированного доступа, включая списки контроля доступа, политики сегментов и параметры шифрования. Кроме того, S3 интегрируется с AWS Identity and Access Management (IAM), чтобы обеспечить детальный контроль доступа и управление идентификацией.
  5. Простая интеграция. S3 легко интегрируется с другими сервисами AWS, такими как CloudFront, Lambda и API Gateway, предлагая комплексное решение для размещения изображений. Эта интеграция позволяет создать масштабируемую и безопасную службу размещения изображений, способную справиться с любой нагрузкой по трафику.

Давайте углубимся в код

Вот пример кода Python для установки разрешений общего доступа к корзине S3 с помощью библиотеки Boto3:

import boto3

s3 = boto3.client('s3')

bucket_name = 'your-bucket-name'

response = s3.put_public_access_block(
    Bucket=bucket_name,
    PublicAccessBlockConfiguration={
        'BlockPublicAcls': False,
        'IgnorePublicAcls': False,
        'BlockPublicPolicy': False,
        'RestrictPublicBuckets': False
    }
)

Для разработчика, работающего над веб-сайтом, на котором размещены изображения, это всего лишь один из шагов в настройке всего процесса. Я также столкнулся с проблемой ручного выполнения всего потока.

А вот и автоматизация (IaC). Инфраструктура как код (IaC) относится к процессу управления инфраструктурой и ее предоставления с помощью кода и инструментов автоматизации. AWS CloudFormation – это сервис IaC, который позволяет пользователям создавать ресурсы AWS и управлять ими с помощью шаблонов и средств автоматизации.

Вот шаблон CloudFormation, настраивает весь поток для нас. Шаблон выполняет следующие действия

  1. Корзина S3 с общим доступом
  2. Подключите новый сегмент S3 к CDN Cloudfront для более быстрого доступа и кэширования.
  3. Создайте пользователя IAM с полным доступом к вновь созданному сегменту S3.

Этот шаблон решает проблему настройки всего этого потока вручную. Вам просто нужно запустить следующее из своего терминала или загрузить шаблон в консоль AWS

aws cloudformation deploy --stack-name [STACK_NAME] --parameter-overrides Stage="[ENVIRONMENT]" BucketName="[BUCKET_NAME]" --template-file [PATH_TO_TEMPLATE] --region [REGION] --profile [PROFILE_NAME] --capabilities CAPABILITY_NAMED_IAM

В заключение можно сказать, что AWS S3 — это надежное и экономичное решение для размещения изображений, которое предлагает ряд преимуществ, включая высокую масштабируемость, надежность, безопасность и простую интеграцию с другими сервисами AWS. Если вы ищете службу размещения изображений, способную справиться с трафиком вашего веб-сайта и обеспечить удобство работы пользователей, то AWS S3 — идеальное решение.

ПРИМЕЧАНИЕ. Я тоже разработчик. Шаблон может иметь свою ошибку. Не стесняйтесь комментировать или связаться со мной напрямую через мой веб-сайт/LinkedIn

Надеюсь, это было полезно. Спасибо


Также опубликовано здесь

Веб-сайт: Мадхав Бхасин

Github: Мадхав Бхасин

Linkedin: Мадхав Бхасин


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE