Объектное хранилище#

Неотъемлемой частью любой ИТ-инфраструктуры является сервис, предназначенный для размещения большого количества произвольных данных (документов, резервных копий и т.д.) — объектное хранилище.

Все объекты распределены между контейнерами — бакетами.

Протокол сервиса#

Объектный сервис К2 Облака совместим по программному интерфейсу с Amazon S3. Вы можете использовать большинство стандартных приложений, предназначенных для работы с Amazon S3. Например, S3cmd и AWS CLI.

Аутентификация пользователей осуществляется при помощи специально создаваемой для каждого запроса подписи.

Если объектное хранилище используется не через веб-интерфейс, необходимо получить настройки для доступа по API. Сделать это можно в консоли управления облаком. Нажмите на логин пользователя в правом верхнем углу и выберите Профиль Получить настройки доступа к API.

В загруженном объекте находится адрес сервиса, имя учётной записи и пароль для создания подписи. Загруженный объект может быть использован как rc-файл для оболочки Bourne Shell. При этом в переменной C2_PROJECT необходимо указывать идентификатор проекта, с которым в данный момент ведётся работа.

Протокол является надстройкой над стандартным протоколом HTTP. Для большинства действий применяются запросы PUT и GET. Дополнительно к запросам GET существует запрос HEAD. Специальный запрос POST используется для загрузки данных в бакет из HTML-форм. Данные возвращаются в исходном формате, а ответы от сервиса (в том числе сообщения об ошибках) представлены в формате XML.

Объекты адресуются при помощи URL в формате /бакет/объект. Если объект в URL не указан, целевым объектом является бакет. Дополнительные параметры в URL используются для доступа к специальным ресурсам. Например, /foo/bar?acl является запросом на доступ к ACL файла bar, находящегося в бакете foo.

Примеры запросов:

Запрос

Описание

GET /

Получить список принадлежащих пользователю бакетов

GET /foo

Получить список объектов в бакете foo

PUT /foo

Создать бакет foo

GET /foo/bar

Получить объект из бакета foo с именем bar

PUT /foo/bar

Загрузить объект в бакет foo с именем bar

GET /foo?acl

Получить список контроля доступа к бакету foo

PUT /foo?acl

Изменить список контроля доступа к бакету foo

GET /foo/?website

Получить конфигурацию веб-сайта

PUT /foo?website

Задать конфигурацию веб-сайта (включить режим)

DELETE /foo?website

Удалить конфигурацию веб-сайта (выключить режим)

Если при загрузке объект с таким именем уже существует в бакете, то он будет перезаписан, а ACL обнулён. При всех обновлениях объекта необходимо заново обновлять ACL.

Для копирования объектов внутри бакета существует специальная разновидность запроса PUT. Если при копировании объекта целевой объект уже существует, он будет перезаписан и ACL будет обнулён.

Ограничения на использование#

По умолчанию для объектного хранилища выделяются следующие квоты:

  • 50 бакетов в одном проекте 1 ;

  • 25 ТиБ на общий объём хранимых данных в одном бакете;

  • 50 млн объектов в одном бакете.

1

Данная квота может быть увеличена максимум до 1000 бакетов.

При необходимости вы можете расширить квоты — для этого обратитесь в службу поддержки.

Создание/удаление бакета#

Создать бакет#

Чтобы создать бакет:

  1. Перейдите в раздел Объектное хранилище Бакеты и нажмите Создать.

  2. Задайте имя бакета. Имя бакета должно быть уникальным в рамках пространства имён S3. Если имя недоступно, бакет с таким именем, вероятно, был создан другим пользователем облака.

  3. Если необходимо включить версионирование, отметьте соответствующий флаг.

  4. Для включения мониторинга бакета отметьте соответствующий флаг.

  5. Задайте необходимые права доступа.

  6. Нажмите Создать ещё раз.

Все пользователи проекта, где был создан бакет, автоматически получают полные права на его использование, как и создавший его пользователь (владелец).

Требования к имени бакета#

Имя бакета должно удовлетворять следующим требованиям:

  • быть уникальным;

  • содержать от 3 до 63 символов;

  • состоять из строчных латинских букв, цифр, точек или дефисов;

  • начинаться и заканчиваться на букву или цифру;

  • не быть похожим на IP-адрес;

  • не содержать следующих комбинаций точек и дефисов: .., .- и -..

Важно

Пространство имён бакетов является общим для всех пользователей К2 Облака.

Удалить бакет#

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

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Выберите бакет из списка.

  3. Нажмите Удалить.

  4. Подтвердите действие.

Внимание

Будьте внимательны. Удалённый бакет нельзя восстановить.

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

Важно

Только владелец бакета может безвозвратно удалить его.

Загрузка/удаление объекта#

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

Загрузить объект#

Чтобы загрузить объект в бакет:

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Найдите бакет, куда необходимо загрузить объект(-ы), и перейдите на страницу бакета.

  3. Нажмите Загрузить.

  4. В открывшемся окне добавьте файлы для загрузки или перетащите их в область загрузки. Имена объектов должны быть уникальными в пределах бакета.

  5. Задайте права доступа к загружаемым объектам. По умолчанию доступ разрешён только владельцу.

  6. Нажмите ещё раз Загрузить.

Требования к имени объекта#

При загрузке объекта необходимо указать имя, которое однозначно идентифицирует объект в бакете.

Примечание

Имя объекта должно удовлетворять следующим требованиям:

  • содержать до 1024 символов (при использовании 8-разрядной кодировки);

  • содержать любой символ UTF-8 (использование отдельных символов в именах может вызвать проблемы с некоторыми приложениями и протоколами);

  • не должно заканчиваться символом /.

    В противном случае вместо объекта будет создана папка с указанным именем.

Удалить объект#

Чтобы удалить один или несколько объектов в веб-интерфейсе:

  1. Выберите объект(-ы) в бакете.

  2. Нажмите Удалить.

  3. Подтвердите действие.

При удалении объектов из бакета, в котором включено версионирование, укажите версию или версии объекта, которые нужно удалить. Чтобы выбрать версии объекта для удаления, включите отображение версий.

Важно

Только владелец объекта или бакета может безвозвратно удалить версию объекта.

Права доступа#

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

Разрешения на доступ для остальных категорий пользователей должны быть явно перечислены в специальном списке контроля доступа (Access Control List, ACL), связанном с бакетом или объектом.

Виды прав и категории пользователей#

Существует четыре вида прав:

  • Чтение;

  • Запись;

  • Чтение ACL;

  • Запись ACL.

По отношению к бакетам и объектам права интерпретируются следующим образом:

Право

Интерпретация для бакетов

Интерпретация для объекта

Чтение

Можно получить список объектов

Можно получить содержимое объекта

Запись

Можно изменить контейнер объектов (добавить или перезаписать объект)

Можно изменить существующий объект

Чтение ACL

Можно получить ACL бакета

Можно получить ACL объекта

Запись ACL

Можно изменить ACL бакета

Можно изменить ACL объекта

Дополнительные правила:

  • API сервиса позволяет получить список только тех бакетов, владельцем которых является пользователь, выполняющий запрос.

  • Бакет может удалить только его владелец.

  • Владелец бакета не может удалить объект, которым он не владеет.

Важно

Будьте внимательны при внесении изменений в списки контроля доступа (ACL):

  • право Чтение ACL даёт возможность узнать права доступа других пользователей;

  • право Запись ACL даёт возможность изменить не только собственные правила доступа, но и правила для доступа пользователей.

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

  • Анонимные пользователи — все пользователи;

  • Аутентифицированные пользователи — пользователи К2 Облака, успешно прошедшие аутентификацию;

  • Проекты — определённые проекты в формате project@customer, где project — ID проекта в К2 Облаке, customer — идентификатор компании, заданный при регистрации в К2 Облаке.

Важно

Предоставляйте анонимный доступ к бакету и находящимся в нём объектам, только когда это необходимо. Например, при хостинге статических веб-сайтов. Вы можете предоставить доступ всем аутентифицированным пользователям облака или определённым проектам, указав их в поле Добавить правило для проекта.

Управление доступом в веб-интерфейсе#

ACL для бакета#

Чтобы назначить права доступа:

  1. Перейдите в раздел Объектное хранилище Бакеты, выберите нужный бакет и перейдите на страницу бакета.

  2. Откройте вкладку Правила доступа.

  3. Отметьте необходимые права для авторизованных и/или анонимных пользователей.

  4. Чтобы задать права доступа для проекта, нажмите Добавить правило для проекта, укажите имя проекта в формате project@customer и выберите необходимые права.

  5. После задания всех необходимых прав нажмите Применить.

ACL для объекта#

Права доступа на объект назначаются аналогично правам доступа на бакет. Чтобы назначить права доступа к конкретному объекту:

  1. Выберите объект на вкладке Объекты на странице бакета и перейдите на страницу объекта.

  2. На странице объекта откройте вкладку Правила доступа.

  3. Задайте необходимые права для авторизованных и/или анонимных пользователей.

  4. Чтобы задать права доступа для проекта, нажмите Добавить правило для проекта, укажите имя проекта в формате project@customer и выберите необходимые права.

  5. После задания всех необходимых прав нажмите Применить.

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

Управление доступом с помощью AWS CLI#

Для гибкого управления доступом к объектам и бакетам с помощью AWS CLI можно воспользоваться служебными параметрами S3 Project email и S3 User ID.

S3 Project email может быть использован при указании ACL с помощью API. Чтобы предоставить доступ к объекту в проекте proj1 для пользователей проекта proj2, укажите S3 Project email проекта proj2 в разрешающем правиле.

aws --endpoint-url https://s3.k2.cloud s3api put-object-acl --bucket bucket1 --key object1 --grant-read emailaddress=proj2@example.com

S3 User ID может быть использован при написании Policy. Вы можете предоставить доступ к части бакета определённому проекту. Например, чтобы предоставить доступ к бакету проекта proj1, укажите S3 User ID проекта proj2 в разрешающем правиле.

aws --endpoint-url https://s3.k2.cloud s3api put-bucket-policy --bucket bucket1 --policy file://policy.json
{
 "Version": "2012-10-17",
 "Statement": [
   {
     "Action": [
       "s3:ListBucket"
     ],
     "Effect": "Allow",
     "Resource": "arn:aws:s3:::bucket1",
     "Principal": {
       "AWS": [
         "arn:aws:iam:::user/09363407-8f1d-4d31-b805-7e2e8adfe915"
       ]
     }
   }
 ]
}

где arn:aws:s3:::bucket1 — имя бакета, 09363407-8f1d-4d31-b805-7e2e8adfe915S3 User ID.

Подробную информацию о проектах, S3 Project email, S3 User ID можно получить на странице профиля. Для этого перейдите в консоль управления облаком, нажмите на логин пользователя в правом верхнем углу и выберите Профиль.

Операции с объектами#

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

Эмулировать структуру папок#

Модель хранения объектов в К2 Облаке представляет собой плоскую структуру. Иерархия каталогов отсутствует, но может быть эмулирована благодаря тому, что имена объектов содержат символ /.

Примечание

Для удобства навигации в веб-интерфейсе все объекты с префиксом dir_1/…/dir_m/object_n отображаются как объекты с именами object_n внутри вложенных папок dir_1/…/dir_m/.

Для воспроизведения структуры папок в бакете вы можете также воспользоваться специальной кнопкой в веб-интерфейсе. Для этого:

  1. Перейдите на страницу бакета.

  2. На вкладке Объекты нажмите Создать папку.

  3. В открывшемся окне введите имя папки.

  4. Подтвердите действие.

При необходимости вы можете создавать вложенные папки.

Примечание

При загрузке файла с именем <file_name> в папку /dir1/…/ полное имя объекта будет иметь вид /dir1/…/<file_name>

Переименовать объект#

Для переименования объекта:

  1. Выберите объект из списка. Если необходимо, воспользуйтесь поиском по бакету.

  2. Нажмите Переименовать.

  3. Задайте новое имя в открывшемся окне. Новое имя должно быть уникальными в пределах бакета.

  4. Подтвердите действие.

Примечание

Объекты в бакете размером больше 10 ГиБ можно переименовать только с помощью утилит (например, AWS CLI или S3cmd).

Скачать объекты#

Чтобы скачать объекты из объектного хранилища на локальный компьютер:

  1. Выберите нужные объекты в бакете.

  2. Нажмите Скачать.

Для скачивания конкретного объекта вы также можете нажать на иконку рядом с его именем.

Предоставить ссылку для скачивания#

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

  1. Выберите объект.

  2. Нажмите Получить ссылку.

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

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

Открыть доступ к объектам#

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

  1. Выберите объект или объекты, к которым необходимо предоставить доступ.

  2. Нажмите Открыть публичный доступ.

  3. Подтвердите действие в открывшемся окне.

При выборе папки публичный доступ будет открыт ко всем объектам в папке, включая вложенные папки.

В результате выбранные объекты станут доступны для чтения всем пользователям (подробнее о правах доступа), а статус доступа объектов изменится на Доступен для всех. Конкретный объект доступен по ссылке https://s3.k2.cloud/bucket-name/object-name, где bucket-name — имя бакета, а object-name — полное имя объекта, включая префиксы из названий папок через косую черту /.

Создать снимок диска#

Вы можете создавать снимки дисков из предварительно загруженных файлов в формате VMDK, VHD, QCOW2 или RAW. Для создания снимка диска:

  1. Выберите объект в бакете.

  2. Нажмите Создать снимок диска.

  3. В открывшемся окне задайте необходимые параметры.

  4. Подтвердите действие.

Подробнее о процедуре импорта снимка диска.

Создать образ ВМ#

Вы можете создавать образы виртуальных машин из предварительно загруженных файлов в формате VMDK, VHD, QCOW2, OVA или RAW. Для создания образа:

  1. Выберите нужный объект или объекты.

  2. Нажмите Создать образ.

  3. В открывшемся окне задайте необходимые параметры.

  4. Подтвердите действие.

Подробнее о процедуре импорта образа виртуальной машины.

Управление жизненным циклом#

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

Добавить правило жизненного цикла#

Чтобы задать правило жизненного цикла для объектов в бакете:

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Найдите нужный бакет в таблице ресурсов и нажмите на его имя.

  3. Откройте вкладку Жизненный цикл и нажмите Добавить.

  4. В открывшемся окне задайте имя правила и выберите область действия и сами действия:

    • В поле Имя задайте имя правила.

    • Если правило следует применить только к некоторым объектам, то выберите опцию Фильтруемые объекты и укажите общий префикс этих объектов в поле Префикс.

    • Если правило необходимо применить ко всем объектам в бакете, то выберите опцию Весь бакет.

    • Чтобы задать срок жизни последней версии объекта, выберите соответствующую опцию и укажите количество дней. Отсчёт ведётся с момента создания объекта.

      Примечание

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

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

  5. Нажмите Добавить для создания и включения правила.

Изменить правило жизненного цикла#

Внимание

Если правило жизненного цикла создавалось с помощью API, то оно может содержать расширенные параметры. Такое правило можно изменить только через API.

Чтобы изменить правило жизненного цикла для объектов в бакете:

  1. Перейдите в раздел Объектное хранилище Бакеты.

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

  3. Откройте вкладку Жизненный цикл, выберите правило в таблице и нажмите Изменить.

  4. В открывшемся окне измените, если необходимо, область действия правила и сами действия (см. подробнее диалог создания правила).

  5. Нажмите Изменить для применения изменений.

Включить/выключить правило#

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

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Найдите в таблице ресурсов бакет, в котором необходимо включить/выключить правило, и нажмите на его имя.

  3. Откройте вкладку Жизненный цикл, выберите правило в таблице и нажмите Выключить для деактивации действующего правила (либо Включить для активации выключенного правила).

Удалить правило#

Чтобы удалить правило жизненного цикла:

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Найдите в таблице ресурсов бакет, для которого определено удаляемое правило жизненного цикла, и нажмите на его имя.

  3. Откройте вкладку Жизненный цикл, выберите правило в таблице и нажмите Удалить.

  4. Подтвердите удаление в открывшемся окне.

Метаданные#

С каждым объектом могут быть связаны дополнительные атрибуты — метаданные. Часть атрибутов совпадает со стандартными заголовками протокола HTTP и позволяет производить тонкую подстройку процесса обработки объекта HTTP-клиентами. Помимо стандартных атрибутов можно создавать дополнительные — пользовательские. Пользовательские атрибуты доступны как HTTP-заголовки с префиксом x-amz-meta-.

Примечание

Имена атрибутов не чувствительны к регистру. Cache-Control и cache-control соответствуют одному и тому же атрибуту.

В К2 Облаке используются следующие стандартные атрибуты:

Атрибут

Описание

Пример

Content-Type

MIME-тип документа. Данный параметр необходим для правильного отображения документа браузером. Если для HTML-страницы указать text/plain, то страница будет отображаться как простой неотформатированный текст со всеми тегами. Желательно указывать для документа кодировку символов (UTF-8, CP1251, KOI8-R и т.д.)

text/html; charset=utf-8

Content-Encoding

Дополнительная кодировка документа. Самое частое применение — сжатие документа при помощи какого-нибудь алгоритма для экономии места на диске

gzip

Content-Disposition

Позволяет вызвать диалог Сохранить файл как и указать там желаемое имя объекта

attachment; filename=foo.bar

Cache-Control

Через данный заголовок передаются директивы для всех механизмов кэширования, находящихся в цепочке запрос-ответ. Например no-cache означает полный отказ от кэширования

no-cache

Expires

Ещё один заголовок, связанный с кэшированием. Позволяет указать время, после которого сохранённый документ считается устаревшим

Thu, 01 Dec 1994 16:00:00 GMT

Content-MD5

Контрольная сумма документа, представленная в кодировке Base64

tdQ2hlY2sgSW50ZWdyaXR5IQ==

Управление метаданными#

Вы можете задать, изменить или удалить пользовательские метаданные объекта через веб-интерфейс. Это можно сделать на вкладке Метаданные на странице объекта.

Для добавления метаданных:

  1. Нажмите Добавить.

  2. В открывшемся окне задайте ключ (атрибут) и значение. Префикс x-amz-meta- указывать не нужно.

  3. Подтвердите действие.

Для изменения метаданных:

  1. Выберите метаданные из списка.

  2. Нажмите Изменить.

  3. В открывшемся окне задайте новые ключ (атрибут) и значение. Префикс x-amz-meta- указывать не нужно.

  4. Подтвердите действие.

Для удаления метаданных:

  1. Выберите метаданные из списка.

  2. Нажмите Удалить.

  3. В открывшемся окне подтвердите действие.

Вы можете удалить сразу несколько наборов метаданных (пар ключ-значение).

Версионирование#

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

Включить версионирование#

По умолчанию версионирование всегда отключено. Включить версионирование бакета можно на вкладке Версионирование. Для этого:

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Выберите бакет, где необходимо включить версионирование, и перейдите на страницу бакета.

  3. Откройте вкладку Версионирование.

  4. Нажмите Включить.

Внимание

Выключить версионирование нельзя. Вы можете только приостановить его, при этом существующие версии файлов сохранятся.

При включении версионирования К2 Облако присваивает объектам случайно сгенерированные уникальные значения идентификатора версии (ID версии), при этом текущая версия не перезаписывается. Например, при создании новой версии object.png в бакете, который уже содержит объект с этим именем, исходный объект object.png ID 12121 и его содержимое останутся неизменными, а К2 Облако создаст новый ID версии ID 11111 и добавит эту версию в бакет.

../../_images/fs7.png

Показать версии#

Вы можете отобразить или скрыть существующие версии всех файлов в бакете при помощи переключателя Показать версии. Для этого:

  1. Перейдите в нужный бакет.

  2. На вкладке Объекты установите переключатель в требуемое положение.

Удалить версии#

При удалении объекта все версии остаются в бакете, а к удалённому объекту добавляется маркер удаления (Delete marker). Вы можете навсегда удалить версию, указав ID версии конкретного объекта.

Важно

Только владелец бакета может безвозвратно удалить версию объекта.

../../_images/fs8.png

Мониторинг параметров бакета#

Мониторинг позволяет отслеживать историю изменений объёма данных и количества объектов в бакете. Текущий объём данных и количество объектов вы всегда можете посмотреть на странице бакета на вкладке Информация.

Примечание

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

Если мониторинг включён, то на вкладке Метрики на странице бакета можно посмотреть графики отслеживаемых метрик. Вы можете выбрать предопределённый период, за который отображается метрика, или указать свой собственный.

Кроме того, вы можете настроить алармы для бакета (чтобы они работали, необходимо включить мониторинг параметров бакета). Список алармов, настроенных для данного бакета, отображается на вкладке Алармы.

Включить мониторинг#

Для включения мониторинга параметров бакета:

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Выберите нужный бакет в таблице и нажмите на имя бакета для перехода на его страницу.

  3. Откройте вкладку Информация.

  4. Включите переключатель Мониторинг.

Создать аларм#

С помощью алармов вы можете отслеживать критическое изменение параметров бакета.

Примечание

Создать аларм можно также в разделе Мониторинг Алармы.

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Выберите нужный бакет в таблице и нажмите на имя бакета для перехода на его страницу.

  3. Откройте вкладку Алармы и нажмите Создать.

  4. В открывшемся окне выберите отслеживаемую метрику:

    • BucketSizeBytes — Общий объём данных в бакете.

    • NumberOfObjects — Общее количество объектов в бакете.

    Нажмите Далее.

  5. Задайте параметры аларма (см. подробнее раздел Алармы):

    • Имя аларма и, опционально, его описание.

    • Статистику.

    • Условие срабатывание аларма для выбранной метрики — оператор сравнения и пороговое значение. При необходимости также можно поменять выбранную на предыдущем шаге метрику.

    • Количество периодов проверки метрики и их продолжительность.

    Если вы хотите задать действия по аларму позже, то для завершения его создания нажмите Создать.

  6. Опционально вы можете также сразу настроить действия, выполняемые при изменении состояния аларма. Для этого перейдите на следующий шаг , нажав Настроить действия. После настройки действий (см. подробнее раздел Алармы) нажмите Создать.

Изменить аларм#

Чтобы изменить аларм:

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Выберите в таблице бакет, для которого задан аларм, и нажмите на имя бакета для перехода на его страницу.

  3. Откройте вкладку Алармы, выберите нужный аларм в таблице и нажмите Изменить.

  4. Диалоговое окно откроется на шаге Параметры. Измените нужные параметры аларма:

    • Статистику.

    • Условие срабатывание аларма для выбранной метрики — оператор сравнения и пороговое значение.

    • Отслеживаемую метрику.

    • Количество периодов проверки метрики и их продолжительность.

    Если вам не требуется изменять действия по аларму, то для сохранения изменений нажмите Изменить. В противном случае нажмите Настроить действия.

  5. На шаге Действия вы можете изменить или отменить уже назначенные действия при срабатывании аларма, либо добавить дополнительные действия. Нажмите Изменить для сохранения изменений.

Удалить аларм#

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Выберите в таблице бакет, в котором необходимо удалить аларм или алармы, и нажмите на имя бакета для перехода на его страницу.

  3. Откройте вкладку Алармы и выберите удаляемый аларм в таблице алармов. Вы можете выбрать одновременно несколько алармов.

  4. Нажмите Удалить и подтвердите действие в открывшемся окне.

Создание статического веб-сайта#

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

  1. Перейдите в раздел Объектное хранилище Бакеты.

  2. Создайте или выберите бакет, где будет храниться содержимое веб-сайта, и перейдите на страницу бакета.

  3. Откройте вкладку Веб-сайт.

  4. Установите флаг Включить режим веб-сайта.

  5. Укажите индексную страницу.

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

  7. Нажмите Применить для включения режима веб-сайта.

Включить режим веб-сайта и задать эти страницы можно также через внешний API.

Примечание

К бакету и находящимся в нём объектам должен быть открыт анонимный доступ.

После сохранения изменений следует протестировать работу сайта.

При обращении по адресу http://bucket-name.website.k2.cloud будет выдана индексная страница http://bucket-name.website.k2.cloud/index.html, где bucket-name — это бакет, настроенный в режиме веб-сайта. Если обратиться к несуществующему объекту в бакете — появится сообщение об ошибке. Если страница ошибки не была задана или значение, указанное в конфигурации, ссылается на несуществующий объект — появится стандартное сообщение, предоставляемое системой для всех пользователей.

Если используются папки, то при обращении к папке без указания имени объекта будет выдан индексный документ, расположенный в этой папке. Например, при обращении к http://bucket-name.website.k2.cloud/folder появится документ, доступный также по имени http://bucket-name.s3.k2.cloud/folder/index.html.

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

Кросс-доменные запросы (CORS)#

Объектное хранилище поддерживает кросс-доменные запросы к объектам в бакете (Cross-Origin Resource Sharing, CORS). Таким образом можно настроить бакет так, чтобы браузер мог получить доступ к объектам.

Чтобы настроить правила CORS для бакета:

  1. Перейдите на страницу бакета.

  2. На вкладке CORS нажмите Добавить и установите необходимые параметры:

    • Origin — перечень источников (доменов), которым разрешены кросс-доменные запросы к бакету. Домен должен начинаться с идентификатора протокола (например, http) и заканчиваться именем хоста или именем хоста и портом. Origin вида https://*.example.com разрешает запросы от любых источников из домена. Чтобы разрешить доступ из любого домена, укажите значение *.

    • Allowed Methods — методы HTTP, у которых есть доступ к объектам. Вы можете разрешить или запретить доступ к объектам в бакете для методов GET, PUT, DELETE, POST, HEAD.

    • Allowed Headers — перечень разрешённых заголовков запроса. Чтобы разрешить любой заголовок, укажите значение *.

    • Expose Headers — заголовки, которые доступны для JavaScript-приложения в браузере.

    • Access Control Max Age — допустимый период кэширования ответа в секундах. Этот параметр позволяет повысить производительность благодаря тому, что запросы от одного и того же источника не проходят проверку без необходимости.

  3. Нажмите Добавить.

Примечание

Настройки Allowed Methods, Allowed Headers, Expose Headers, Access Control Max Age применяются только к запросам из указанных источников.

В любой момент вы можете изменить или удалить конфигурацию CORS.

Для управления правилами CORS можно также использовать методы API.