Amazon S3

Post on 07-Nov-2014

944 views 1 download

Tags:

description

Amazon Simple Storage Service.

Transcript of Amazon S3

Amazon S3ilya.lapitan@gmail.com

Amazon S3 - это:

Amazon Simple Storage Service - веб-сервис, позволяющий хранить данные в "облаке".

Amazon S3 хранилище для Internet. Сервис создавался для упрощения работы разработчиков при создании масштабируемых веб-приложений

Amazon S3 - это:

- масштабируемость- надежность- быстрота- дешевизна

Amazon S3 - это:

- хранение и получения любого количества данных- доступ к данным в любое время- доступ к данным с любого места, где есть доступ к сети Internet

Amazon S3 - основные операции:

- создание Buckets

bucket - именованая область для хранения данных. Фундаментальный контейнер для хранения данных в Amazon S3

Amazon S3 - основные операции:

- сохранение данных в Buckets

Сохранение неограниченного количества данных (ограничение размера для одного bucket = 5 Tb max).

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

Amazon S3 - основные операции:

- загрузка данных из Buckets

Загрузка данных из bucket, с возможностью предоставляние доступа к данным для других пользователей

Amazon S3 - основные операции:

- настройка ограничений доступа к данным

Настройка прав доступа к bucket (права на сохранения файлов в bucket, права на загрузку файлов из bucket, и т.д.)

Amazon S3 - Bucket

Bucket - контейнер для сохранения объектов в Amazon S3. Каждый объект находится в своем bucket

Bucket:-организует пространство имен Amazon S3-играют важную роль в контроле доступа-служит единицой агрегации в отчетах за использование сервиса S3

Amazon S3 - Bucket

имя для bucket должно быть уникальным среди других имен в Amazon S3

bucket принадлежит аккаунту который его создал

одновременно каждый AWS аккаунт может иметь до 100 buckets, количество файлов в одном bucket не ограничено

Amazon S3 - Bucket

bucket нельзя передать другому пользователю Amazon S3, однако можно удалить пустой bucket и имя будет доступно для повторного использования

bucket нельзя создать внутри другого bucket

Amazon S3 - Bucket

поскольку создание bucket связано с использованием глобального пространства ресурсов Amazon S3, лучше вынести операции создания/удаления buckets на этап инициализации либо установки

Amazon S3 - Bucket

если ваше приложение автоматически создает bucket, вы должны:

-описать алгоритм генерации имен не допускающий коллизии имен

-описать поведение в случае, если bucket с таким именем уже существует

Amazon S3 - Bucket

DNS-совместимые правила именования buckets:-имя не менее 3 и не более 63 символов-имя не должно иметь формат IP-адреса(например: 192.168.1.1)-имя должно состоять из одной или более меток

Amazon S3 - Bucket

Правила для меток используемых для задания имени bucket:-метка должна начинаться со строчной буквы или цифры-метка должна заканчиваться строчной буквой или цифрой-метка может содрежать строчные буквы, цифры и дефисы

Amazon S3 - Bucket

Замечание для региона US Standard:-имя bucket может быть длиной до 255 символов-имя bucket может содержать любую комбинацию заглавных и строчных букв, цифр, точек, тире и подчеркиваний

Amazon рекомендует для региона US Standard так же использовать DNS-совместимые именя для buckets.

Amazon S3 - Object

Object - фундаментальная сущность сохраняемая в Amazon S3. По-сути, сохраненный файл.

Каждй объект уникально идентифицируется внутри bucket ключем(именем) и versionID.

Amazon S3 - Object

Object:-ключ (имя назначенное объекту,Key)-данные(последовательность байт,Value)-мета-данные(Metadata)-версия(Version ID)-субресурсы(специфическая специальная информация для объекта, Subresources)-инфорация доступа к ресурсам(Access Control Information)

Amazon S3 - Мета-данные

Мета-данные - данные в виде пары ключ-значение, которые описывают объект Amazon S3.

Мета-данные:-системные(дата последнего изменения, content-type и др) -пользовательские

Amazon S3 - Мета-данные

Системеные метаданные:-метаданные, не доступные для изменения пользователю (время создания объекта)-метаданные, которые пользователь может изменить (шифрование на стороне сервера)

Amazon S3 - Key

Key - уникальный идентификатор объекта внутри bucket. Каждый объект имеет только один уникальный ключ. Длина ключа не более 1024 байта последовательности UTF-8 символов.

Amazon S3 - Достут к объекту

Каждый объект в Amazon S3 может быть доступен по комбинации:-конечная точка веб-сервиса-имя bucket (например: bucket)-ключ (например: /test/File.txt)-версия(опционально)

URL для доступа:http://bucket.s3.amazonaws.com/test/File.txt

Amazon S3 - Регионы

Выбор региона для работы с Amazon S3 позволяет:-минимизировать задержку доступа-минимизировать стоимость

Объекты сохраняемые в определенном регионе никогда его не покидают, за исключением трансфера данных в другой регион.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-US Standard - сервисы в US(Northern Virginia и Pacific Northwest). Регион по умолчанию.

Для всех запросов:eventual consistency.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-US West(Oregon)

Создание нового объекта:read-after-write consistency

Перезапись или удаление существующего: eventual consistency.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-US West(Northern California)

Создание нового объекта:read-after-write consistency

Перезапись или удаление существующего: eventual consistency.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-EU(Ireland)

Создание нового объекта:read-after-write consistency

Перезапись или удаление существующего: eventual consistency.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-AsiaPacific(Singapore)

Создание нового объекта:read-after-write consistency

Перезапись или удаление существующего: eventual consistency.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-AsiaPacific(Sydney)

Создание нового объекта:read-after-write consistency

Перезапись или удаление существующего: eventual consistency.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-AsiaPacific(Tokyo)

Создание нового объекта:read-after-write consistency

Перезапись или удаление существующего: eventual consistency.

Amazon S3 - Регионы

Amazon S3 поддерживает следующие регионы:-SouthAmerica(Sao Paulo)

Создание нового объекта:read-after-write consistency

Перезапись или удаление существующего: eventual consistency.

Amazon S3 - Синхронизация данных

Обновление одного ключа атомарная операция, т.е. если вы сохраняете объект по существующему ключу, последующая попытка прочитать данные вернет либо старые данные, либо обновленные.

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

Amazon S3 - Синхронизация данных

Модели поведения при синхронизации:-процесс пишет новый объект в S3 и сразу пытается его прочитать. Пока изменение не будет полностью проведено, S3 может вернуть: "key does not exist".

Amazon S3 - Синхронизация данных

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

Amazon S3 - Синхронизация данных

Модели поведения при синхронизации:-процесс заменяет существующий файл и пытается сразу прочитать его.Пока изменение не будет полностью проведено, Amazon может вернуть старые данные.

Amazon S3 - Синхронизация данных

Модели поведения при синхронизации:-процесс удаляет существующий файл и пытается сразу его прочитать.Пока изменение не будет полностью проведено, Amazon может вернуть удаленные данные.

Amazon S3 - Синхронизация данных

Модели поведения при синхронизации:-процесс удаляет существующий файл и пытается сразу получить списко объектов.Пока изменение не будет полностью проведено, данный объект может быть в списке файлов.

Amazon S3 - Синхронизация данных

Модели чтения данных:-Eventually Consistent Read-Consistent Read

Amazon S3 - Синхронизация данных

Eventually Consistent Read:-возможно чтение старых данных-ниже скорость задержки при чтении-высокая пропускная способоность

Amazon S3 - Синхронизация данных

Consistent Read:-актуальные данные при чтении-потенациально выше задержаки при чтении-потенциально ниже пропускная способность

Amazon S3 - Синхронизация данных

Амазон S3 не поддерживает блокировку объектов. Если сохранять 2 объекта одновременно, в конечном счете будет сохранен объект с позднейшей временной меткой.

Для предотвращения таких ситуаций необходимо самостоятельно реализовать механизм блокировки объектов.

Amazon S3 - Синхронизация данных

Обновление ключей происходит независимо.

Если вам необходима возможность обновления одного ключа в замисимости от обновления другого, вам необходимо реализовать этот механизм самостоятельно.

Amazon S3 - Хранение данных

Классы хранения данных Amazon S3:-Standard-RRS-Glacier

Amazon S3 - RRS

Reduced Redundancy Storage - хранилище сокращенной избыточности

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

Amazon S3 - RRS

RRS - реплецирует данные не столько раз, сколько это делает стандартное Amazon S3 хранилище, что делает данную технологию более экономически эффективной.

RRS обеспечивает надежность хренения 99.99% (Standard S3 - 99.999999999%) объектов в год, и только 0.01% отводится на потерю объекта.

Amazon S3 - Glacier

Glacier - хранилище для архивных данных, с редкими запросами на чтение, которые позволяют задержки на поиск информации порядка нескольких часов.

Нельзя непосредственно сохранить объект в Glacier. Amazon S3 сам может заархивирует объекты для вас.

Amazon S3 - Glacier

Glacier поддерживает только обносторонее преобразование класса хранилища для объекта.

Чтобы поменять класс хранилища для объекта класса Glaicer на Standard или RRS, необходимо восстановить объект и скопировать его копию в подходящий класс хранилища.

Amazon S3 - Настройки доступа

Amazon S3 предусматривает централизованное управление доступом и различные условия доступа.

APL(Access Policy Language) - язык описания политики доступа.

ACL(Access Control List) - список разрешений назначенный объекту

Amazon S3 - Настройки доступа

Amazon S3 поддерживает:-resource-based контроль доступа(APL, ACL)-user-based контроль доступа

Amazon S3 - Настройки доступа

Права доступа установленные на bucket применяются для всех файлов в нем.

Использование APL позволяет задать права доступа для любого количества объектов в bucket при помощи одного запроса.

Amazon S3 - Настройки доступа

APL разрешает или запрещает запросы на основе:-операций с объектами-субъекта запрашивающего данные-описанных условий доступа

Amazon S3 - Настройки доступа

Amazon S3 интегрирован с AWS Identity and Access Management (IAM).

AWS IAM позволяет:-создавать отдельных пользователей и группы пользователей внутри AWS аккаунта-легко разделять ресуры AWS аккаунта между пользователями в аккаунте-предоставить временный доступ к сервисам и ресурсам

Amazon S3 - Настройки доступа

-назначать уникальные учетные записи для каждого пользователя-установить раздельный контроль за доступом пользователй к сервисам и ресурсам-получать один счет на оплату для всех пользователей под одним AWS аккаунтом

Amazon S3 - Настройки доступа

Каждое обращение к амазону может быть:-аутентифицированными-анонимным

Для аутентифицированного доступа неоходимо пройти этап аутентификации - проверки подлинности инициатора запроса, который пытается получить доступ к продукту AWS.

Amazon S3 - Настройки доступа

Для аутентифицированного доступа к ресурсу каждый пользовательй должен иметь пару ключей:-открытый ключ доступа (Access Key ID)(20 символов)-закрытый ключ доступа (Secret Access Key)(40 символов)

Access Key ID однозначно определяет аккаунт AWS.

Amazon S3 - Настройки доступа

Чтобы узнать свои учетные данные безопасности для аккаунта необходимо:-перейти на http://aws.amazon.com-войти в аккаунт -перейти на вкладку Account-кликнуть на Security Credentials

Amazon S3 - Настройки доступа

Стандартное время сесси у Amazon - 1ч.

При использовании IAM параметров доступа, можно определить продолжительность сесси от 1 до 36 часов, для временных политик безопасности.