Как работает Amazon S3

Amazon S3 - это служба хранилища объектов, которая хранит данные в виде объектов в корзинах. Объект - это файл и любые метаданные, описывающие файл. Корзина (bucket) - это контейнер для предметов.

Чтобы хранить данные в Amazon S3, вы сначала создаете корзину и указываете имя корзины и регион AWS. Затем вы загружаете свои данные в эту корзину как объекты в Amazon S3. У каждого объекта есть ключ (или имя ключа), который является уникальным идентификатором объекта в корзине.

S3 предоставляет функции, которые вы можете настроить для поддержки вашего конкретного варианта использования. Например, вы можете использовать управление версиями S3, чтобы хранить несколько версий объекта в одной корзине, что позволяет восстанавливать объекты, которые были случайно удалены или перезаписаны.

Корзины и объекты в них являются частными и доступны только в том случае, если вы явно предоставите разрешения на доступ. Для управления доступом можно использовать политики корзины, политики AWS Identity and Access Management (IAM), списки управления доступом (ACL) и точки доступа S3.

Корзины (Buckets)

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

Каждый объект находится в корзине. Например, если объект с именем photos/puppy.jpg хранится в корзине DOC-EXAMPLE-BUCKET в регионе Запад США (Орегон), то для него можно использовать URL-адрес https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/photos/puppy.jpg.

При создании корзины вы вводите имя корзины и выбираете регион AWS, в котором она будет находиться. После создания корзины вы не можете изменить имя корзины или ее региона. Имена корзин должны соответствовать правилам именования корзин. Вы также можете настроить корзину для использования управления версиями S3 или других функций управления хранилищем.

Корзины также:

  • Организуют пространство имен Amazon S3 на самом высоком уровне.
  • Определяют учетную запись, ответственную за хранение и передачу данных.
  • Предоставляют параметры управления доступом, такие как политики корзины, списки управления доступом (ACL) и точки доступа S3, которые вы можете использовать для управления доступом к своим ресурсам Amazon S3.
  • Служат единицей агрегирования для отчетов об использовании.

Объекты

Объекты - это основные сущности, хранящиеся в Amazon S3. Объекты состоят из данных объекта и метаданных. Метаданные - это набор пар имя-значение, которые описывают объект. Эти пары включают некоторые метаданные по умолчанию, такие как дата последнего изменения, и стандартные метаданные HTTP, такие как Content-Type. Вы также можете указать собственные метаданные во время сохранения объекта.

Объект уникально идентифицируется в сегменте по ключу (имени) и идентификатору версии (если для корзины включено управление версиями S3).

Ключи

Ключ объекта (или имя ключа) - это уникальный идентификатор объекта в корзине. У каждого объекта в ведре есть ровно один ключ. Комбинация корзины, ключа объекта и, необязательно, идентификатора версии (если для корзины включено управление версиями S3) однозначно идентифицирует каждый объект. Таким образом, вы можете рассматривать Amazon S3 как базовую карту данных между "корзиной + ключ + версия" и самим объектом.

Каждому объекту в Amazon S3 можно адресовать уникальный адрес с помощью комбинации конечной точки веб-службы, имени корзины, ключа и, при необходимости, версии. Например, в URL-адресе https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/photos/puppy.jpg DOC-EXAMPLE-BUCKET - это имя корзины и /photos/puppy.jpg - это ключ.

Управление версиями S3

Вы можете использовать управление версиями S3, чтобы хранить несколько вариантов объекта в одной корзине. С помощью S3 Versioning вы можете сохранять, извлекать и восстанавливать каждую версию каждого объекта, хранящегося в ваших корзинах. Вы можете легко восстановиться как после непреднамеренных действий пользователя, так и после сбоев приложений.

ID версии (Version ID)

Когда вы включаете управление версиями S3 в корзине, Amazon S3 генерирует уникальный идентификатор версии для каждого объекта, добавляемого в корзину. Объекты, которые уже существовали в корзине на момент включения управления версиями, имеют идентификатор версии null. Если вы измените эти (или любые другие) объекты с помощью других операций, таких как CopyObject и PutObject, новые объекты получат уникальный идентификатор версии.

Политика корзины

Политика корзины - это политика AWS Identity and Access Management (IAM) на основе ресурсов, которую вы можете использовать для предоставления разрешений на доступ к вашей корзине и объектам в ней. Только владелец корзины может связать политику с корзиной. Разрешения, прикрепленные к корзине, применяются ко всем объектам в корзине, которые принадлежат владельцу корзины. Размер политики сегмента ограничен 20 КБ.

Политики корзины используют язык политик доступа на основе JSON, который является стандартным для AWS. Вы можете использовать политики корзины, чтобы добавлять или запрещать разрешения для объектов в корзине. Политики корзины разрешают или отклоняют запросы на основе элементов в политике, включая инициатора запроса, действия S3, ресурсы и аспекты или условия запроса (например, IP-адрес, используемый для выполнения запроса). Например, вы можете создать политику корзины, которая предоставляет разрешения для нескольких учетных записей для загрузки объектов в корзину S3, гарантируя, что владелец корзины имеет полный контроль над загруженными объектами.

В политике корзины вы можете использовать подстановочные знаки в именах ресурсов Amazon (ARN) и других значениях для предоставления разрешений подмножеству объектов. Например, вы можете управлять доступом к группам объектов, которые начинаются с общего префикса или заканчиваются заданным расширением, например .html.

Списки контроля доступа (ACL)

Как правило, рекомендуется использовать политики на основе ресурсов S3 (политики корзин и политики точек доступа) или политики IAM для управления доступом вместо списков контроля доступа. ACL - это механизм управления доступом, предшествующий ресурсным политикам и IAM. Для получения дополнительных сведений о том, когда следует использовать списки управления доступом вместо политик на основе ресурсов или политик IAM.

Вы можете использовать ACL для предоставления авторизованным пользователям разрешений на чтение и запись для отдельных корзин и объектов. К каждому сегменту и объекту прикреплен ACL в качестве подресурса. ACL определяет, каким учетным записям или группам AWS предоставляется доступ, а также тип доступа.

Точки доступа S3

Точки доступа Amazon S3 - это именованные сетевые конечные точки с выделенными политиками доступа, которые описывают, как можно получить доступ к данным с помощью этой конечной точки. Точки доступа упрощают масштабное управление доступом к данным для общих наборов данных в Amazon S3. Точки доступа - это именованные конечные точки сети, прикрепленные к корзинам, которые можно использовать для выполнения операций с объектами S3, таких как GetObject и PutObject.

У каждой точки доступа своя собственная политика IAM. Вы можете настроить параметры блокировки общего доступа для каждой точки доступа. Чтобы ограничить доступ к данным Amazon S3 в частной сети, вы также можете настроить любую точку доступа для приема запросов только из виртуального частного облака (VPC).

Регионы

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

Примечание

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


Читайте также:

Комментарии

Популярные сообщения из этого блога

Язык поисковых запросов в Graylog

Хэш-таблица: разрешение коллизий

Нормальные формы, пример нормализации в базе данных