# Облачные провайдеры В мастере настройки есть готовые настройки для четырёх облачных провайдеров, работающих по протоколу S3. Выполните `frost init`, выберите **S3-compatible**, затем своего провайдера. Для любого другого S3-сервиса или S3-сервера, которым вы управляете сами, смотрите раздел [Другие S3-совместимые хранилища](#other-s3). С любой из этих настроек копии хранятся в папке `frost` внутри бакета, так что в бакете можно держать и другие данные. Дайте Frost ключ, который открывает только этот бакет, и не добавляйте правила жизненного цикла, которые удаляют, архивируют объекты в его папке или удаляют их по истечении срока. Снимки используют общие блоки, и удаление одного объекта может испортить сразу многие снимки. ## Amazon S3 S3 поддерживает условную запись, которая нужна Frost. 1. Создайте бакет в консоли AWS и запишите его регион, например `us-east-1`. 2. Создайте для Frost пользователя IAM и ключ доступа для него: IAM > Users > your user > Security credentials > Create access key. Frost нужно читать, перечислять, записывать и удалять объекты в бакете, хотя удаляет он только небольшой тестовый объект, который мастер создаёт при подключении. Такой политики достаточно. Замените `my-backups` на имя своего бакета: ```json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": "arn:aws:s3:::my-backups" }, { "Effect": "Allow", "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"], "Resource": "arn:aws:s3:::my-backups/*" } ] } ``` | Вопрос мастера | Ответ | | --- | --- | | Which region hosts the bucket? | Регион бакета, например `us-east-1` | | What is the bucket name? | Имя бакета, точно как при создании | | Paste the Access Key ID. | Идентификатор ключа доступа из IAM | | Paste the Secret Access Key. | Показывается один раз, рядом с идентификатором ключа, при его создании | Frost подключается к `s3..amazonaws.com`. Держите его объекты в классе хранения, который можно читать сразу, например S3 Standard или S3 Standard-IA, а не в Glacier Flexible Retrieval или Glacier Deep Archive. Версионирование бакета не нужно. ## Cloudflare R2 R2 поддерживает условную запись, которая нужна Frost. 1. В панели Cloudflare создайте бакет R2. 2. Запишите идентификатор учётной записи. Он указан на странице обзора R2: 32 буквы и цифры. 3. Создайте API-токен: R2 > Manage R2 API Tokens > Create API token, с разрешением Object Read & Write. Если можно, ограничьте его своим бакетом. | Вопрос мастера | Ответ | | --- | --- | | What is your Cloudflare Account ID? | 32-символьный идентификатор со страницы обзора R2 | | What is the bucket name? | Имя бакета, точно как при создании | | Paste the Access Key ID. | Access Key ID нового API-токена | | Paste the Secret Access Key. | Показывается один раз, рядом с Access Key ID | Frost подключается к `.r2.cloudflarestorage.com` с регионом `auto`. ## Backblaze B2 В документации Backblaze не сказано, поддерживает ли B2 условную запись, которая нужна Frost. Мастер проверяет это при подключении. Если проверка не пройдена, выберите другое хранилище. 1. Создайте бакет в своей учётной записи Backblaze. 2. Запишите его эндпоинт: Buckets > your bucket > Endpoint. Он выглядит как `s3.us-west-004.backblazeb2.com`. 3. Создайте ключ приложения: Application Keys > Add a New Application Key. Ограничьте его этим бакетом. | Вопрос мастера | Ответ | | --- | --- | | What is the bucket endpoint? | Эндпоинт со страницы бакета, например `s3.us-west-004.backblazeb2.com` | | What is the bucket name? | Имя бакета, точно как при создании | | Paste the application key's keyID. | keyID нового ключа приложения | | Paste the applicationKey. | Показывается один раз, сразу после создания ключа | Frost определяет регион по эндпоинту. ## Wasabi Из документации Wasabi неясно, поддерживает ли она условную запись, которая нужна Frost. Мастер проверяет это при подключении. Если проверка не пройдена, выберите другое хранилище. 1. Создайте бакет в консоли Wasabi и запишите его регион, например `us-east-1` или `eu-central-1`. 2. Создайте ключ доступа: Access Keys > Create New Access Key. Если можно, используйте пользователя с доступом только к этому бакету. | Вопрос мастера | Ответ | | --- | --- | | Which region hosts the bucket? | Регион бакета, например `us-east-1` | | What is the bucket name? | Имя бакета, точно как при создании | | Paste the Access Key. | Созданный вами ключ доступа | | Paste the Secret Key. | Показывается один раз, при создании ключа | Frost подключается к `s3..wasabisys.com`.