Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Object Storage
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Бакеты
      • Создание бакета
      • Удаление бакета
      • Ограничение максимального размера бакета
      • Открытие публичного доступа к бакету
      • Шифрование бакета
      • Управление жизненными циклами объектов
      • Управление конфигурацией CORS
      • Управление политикой доступа
      • Управление версионированием бакета
      • Редактирование ACL бакета
      • Включение механизма логирования
      • Управление блокировками версий объектов
    • Объекты
      • Загрузка объекта
      • Получение информации об объекте
      • Скачивание объекта
      • Восстановление версии объекта
      • Получение публичной ссылки на объект
      • Настройка блокировок версии объекта
      • Удаление объекта
      • Удаление всех объектов
      • Удаление частично загруженного объекта
      • Редактирование ACL объекта
    • Хостинг статических сайтов
      • Настройка хостинга
      • Поддержка собственного домена
      • Поддержка нескольких доменных имен
      • Настройка HTTPS
  • Практические руководства
    • Получение статистики запросов к объекту с использованием S3 Select
    • Получение статистики посещения сайта с использованием S3 Select
    • Формирование отчета по ресурсной детализации расходов с использованием S3 Select
    • Шифрование на стороне сервера
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Анализ логов с использованием DataLens
    • Использование скриптов инициализации для настройки GeeseFS в Yandex Data Proc
    • Подключение бакета как диска в Windows
    • Миграция данных из Yandex Data Streams с помощью Yandex Data Transfer
  • Концепции
    • Обзор
    • Бакет
    • Объект
    • Версионирование бакета
    • Блокировка версии объекта (object lock)
    • Шифрование
    • Жизненные циклы объектов
    • CORS
    • Хостинг статических сайтов
    • Подписанные (pre-signed) URL
    • Составная (multipart) загрузка
    • Список управления доступом (ACL)
    • Политика доступа (Bucket Policy)
    • Загрузка файла через HTML-форму
    • Класс хранилища
    • Механизм логирования действий с бакетом
    • Резервное копирование
    • Протокол TLS
    • Язык запросов S3 Select
    • Квоты и лимиты
  • Инструменты
    • Все инструменты
    • Консольные клиенты
      • AWS CLI
      • S3cmd
    • Файловые браузеры
      • CyberDuck
      • WinSCP
    • SDK
      • AWS SDK для Java
      • Python SDK (boto)
      • AWS SDK для .NET
      • AWS SDK для C++
      • AWS SDK для PHP
      • AWS SDK для Go
    • FUSE
      • GeeseFS
      • s3fs
      • goofys
    • FTP
      • Docker-контейнер для (S)FTP(S)
  • Справочник API
    • REST (совместимый с Amazon S3)
      • Как пользоваться API
      • Подписывание запросов
      • REST
        • Все сервисы и методы
        • Bucket
          • Все методы
          • create
          • getBucketEncryption
          • getMeta
          • listObjects
          • listBuckets
          • deleteBucket
          • deleteBucketEncryption
          • putBucketEncryption
          • putBucketVersioning
          • getBucketVersioning
          • putBucketLogging
          • getBucketLogging
          • listObjectVersions
          • putObjectLockConfiguration
          • getObjectLockConfiguration
        • Object
          • Все методы
          • upload
          • get
          • copy
          • getObjectMeta
          • delete
          • deleteMultipleObjects
          • options
          • selectObjectContent
          • putObjectRetention
          • putObjectLegalHold
          • getObjectRetention
          • getObjectLegalHold
        • Multipart upload
          • Общий порядок составной загрузки
          • startUpload
          • uploadPart
          • copyPart
          • listParts
          • abortUpload
          • completeUpload
          • listUploads
        • Static Website Hosting
          • Все методы
          • upload
          • get
          • delete
          • Коды ответов статического сайта
        • CORS
          • Все методы
          • XML-структура конфигурации CORS
          • upload
          • get
          • delete
        • Lifecycles
          • Все методы
          • XML-структура конфигурации жизненных циклов
          • upload
          • get
          • delete
        • ACL
          • Все методы
          • XML-структура конфигурации ACL
          • objectGetAcl
          • objectPutAcl
          • bucketGetAcl
          • bucketPutAcl
        • Bucket Policy
          • Все методы
          • GetBucketPolicy
          • PutBucketPolicy
          • DeleteBucketPolicy
          • Схема данных
          • Действия
          • Условия
        • Общие заголовки запросов
        • Общие заголовки ответов
        • Ответы
    • gRPC и REST
      • Аутентификация в API
      • gRPC (англ.)
        • Overview
        • BucketService
        • OperationService
      • REST (англ.)
        • Overview
        • Bucket
          • Overview
          • create
          • delete
          • deleteHTTPSConfig
          • get
          • getHTTPSConfig
          • getStats
          • list
          • setHTTPSConfig
          • update
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
  • Вопросы и ответы
  1. Практические руководства
  2. Подключение бакета как диска в Windows

Подключение бакета как диска в Windows

Статья создана
Yandex Cloud
,
улучшена
Dmitry A.
  • Перед началом работы
    • Необходимые платные ресурсы
  • Подготовьте рабочее окружение
  • Создайте сервисный аккаунт
  • Создайте статический ключ доступа
  • Создайте бакет
  • Настройте подключение к Object Storage
  • Смонтируйте бакет
  • Настройте службу запуска монтирования
  • Как удалить созданные ресурсы

Вы настроите синхронизацию данных в бакете Yandex Object Storage и на локальном компьютере с помощью утилиты rclone. Бакет будет смонтирован как диск в файловой системе Windows.

Чтобы смонтировать бакет как диск:

  1. Подготовьте облако к работе.
  2. Подготовьте рабочее окружение.
  3. Создайте сервисный аккаунт.
  4. Создайте статический ключ доступа.
  5. Создайте бакет.
  6. Настройте подключение к Object Storage.
  7. Смонтируйте бакет.
  8. Настройте службу запуска монтирования.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работы

Перед работой нужно зарегистрироваться в Yandex Cloud и создать платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсы

В стоимость поддержки бакета входит:

  • плата за хранение данных в бакете (см. тарифы Object Storage);
  • плата за операции с данными (см. тарифы Object Storage).

Подготовьте рабочее окружение

  1. Скачайте и установите дистрибутив winfsp с сайта производителя.
  2. Скачайте с сайта производителя архив с утилитами sysinternals suite и распакуйте его в свою рабочую директорию на локальном компьютере.
  3. Скачайте с сайта производителя архив с утилитой Windows Service Wrapper (winsw) и распакуйте его в свою рабочую директорию на локальном компьютере.
  4. Скачайте с сайта производителя архив с утилитой rclone и распакуйте его в свою рабочую директорию на локальном компьютере.

Создайте сервисный аккаунт

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, в котором хотите создать сервисный аккаунт.
  2. Выберите вкладку Сервисные аккаунты.
  3. Нажмите кнопку Создать сервисный аккаунт.
  4. Введите имя сервисного аккаунта: sa-win-disk-connect.
  5. Нажмите Добавить роль и выберите роль storage.editor.
  6. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Создайте сервисный аккаунт с именем sa-win-disk-connect:

yc iam service-account create --name sa-win-disk-connect

Требования к формату имени:

  • Длина — от 3 до 63 символов.
  • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
  • Первый символ — буква. Последний символ — не дефис.

Подробнее о команде yc iam service-account create см. в справочнике CLI.

Чтобы создать сервисный аккаунт, воспользуйтесь методом create для ресурса ServiceAccount.

Создайте статический ключ доступа

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, которому принадлежит сервисный аккаунт.
  2. Перейдите на вкладку Сервисные аккаунты.
  3. Выберите сервисный аккаунт sa-win-disk-connect и нажмите на строку с его именем.
  4. Нажмите кнопку Создать новый ключ на верхней панели.
  5. Выберите Создать статический ключ доступа.
  6. Задайте описание ключа и нажмите кнопку Создать.
  7. Сохраните идентификатор и секретный ключ. После закрытия диалога значение ключа будет недоступно.
  1. Создайте ключ доступа для сервисного аккаунта sa-win-disk-connect:

    yc iam access-key create --service-account-name sa-win-disk-connect
    

    Результат:

    access_key:
      id: aje6t3vsbj8lp9r4vk2u
      service_account_id: ajepg0mjt06siuj65usm
      created_at: "2022-07-18T14:37:51Z"
      key_id: 0n8X6WY6S24N7Oj*****
    secret: JyTRFdqw8t1kh2-OJNz4JX5ZTz9Dj1rI9hx*****
    

    Подробнее о команде yc iam access-key create см. в справочнике CLI.

  2. Сохраните идентификатор key_id и секретный ключ secret. Получить значение ключа снова будет невозможно.

Чтобы создать ключ доступа, воспользуйтесь методом create для ресурса AccessKey.

Создайте бакет

Консоль управления
AWS CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором хотите создать бакет.
  2. В списке сервисов выберите Object Storage.
  3. Нажмите кнопку Создать бакет.
  4. Укажите Имя бакета: bucket-for-win.
  5. В полях Доступ на чтение объектов и Доступ к списку объектов выберите Публичный.
  6. Нажмите кнопку Создать бакет.
  1. Если у вас еще нет AWS CLI, установите и сконфигурируйте его.

  2. Создайте бакет bucket-for-win:

    aws --endpoint-url https://storage.yandexcloud.net \
      s3 mb s3://bucket-for-win
    

    Результат:

    make_bucket: bucket-for-win
    
  3. Включите публичный доступ к чтению объектов и их списка:

    aws --endpoint-url https://storage.yandexcloud.net \
      s3api put-bucket-acl \
      --bucket bucket-for-win \
      --acl public-read
    
  1. Добавьте в конфигурационный файл параметры бакета bucket-for-win:

    resource "yandex_storage_bucket" "bucket-for-win" {
      bucket = "bucket-for-win"
      acl    = "public-read"
    }
    

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

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

Используйте метод REST API create.

Настройте подключение к Object Storage

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

    psexec -i -s cmd.exe
    
  2. В открывшейся консоли выполните команду whoami и убедитесь, что сессия запущена от имени системного пользователя.

  3. Запустите конфигурацию утилиты rclone:

    rclone.exe config
    
  4. Следуя запросам приложения, создайте новый профиль подключения:

    1. Выберите создание нового профиля: введите в терминал значение n.
    2. Введите имя подключения: s3-connect.
    3. Выберите тип хранилища: введите в терминал значение 5.
    4. Выберите провайдера: введите в терминал значение 1.
    5. Выберите ручной способ ввода учетных данных: введите в терминал значение 1.
    6. Введите в терминале идентификатор секретного ключа.
    7. Введите в терминале значение секретного ключа.
    8. Укажите регион: введите в терминал значение ru-central1.
    9. Укажите эндпоинт: введите в терминал значение storage.yandexcloud.net.
    10. Остальные настройки можно оставить по умолчанию — нажмите Enter, чтобы их пропустить.

Примечание

При необходимости вы можете выполнить расширенную настройку подключения. Для этого на шаге Edit advanced config? введите в терминале y. Подробнее с расширенными настройками можно ознакомиться на странице документации утилиты rclone.

Смонтируйте бакет

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

    rclone.exe ls s3-connect:bucket-for-win
    

    Если конфигурация настроена правильно, в консоль будет выведен список объектов бакета.

  2. Смонтируйте бакет в файловую систему:

    rclone.exe mount s3-connect:bucket-for-win <буква диска>: --vfs-cache-mode full
    

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

  3. Отмонтируйте бакет:

    rclone.exe unmount s3-connect:bucket-for-win
    

Настройте службу запуска монтирования

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

  1. В рабочей директории создайте файл rclone.xml со следующим содержимым:

    `<service>`
    `<id>rclone</id>`
    `<name>rclone-s3-disk</name>`
    `<description>This service maps an S3 bucket as a system drive.</description>`
    `<executable>"<расположение рабочей директории>\rclone.exe"</executable>`
    `<arguments>mount s3-connect:bucket-for-win <буква диска>: --vfs-cache-mode full</arguments>`
    `<log mode="roll" />`
    `<onfailure action="restart" />`
    `</service>`
    
  2. Запустите командную строку от имени администратора и выполните команду:

    WinSW-x64.exe install .\\rclone.xml
    
  3. Откройте панель управления службами Windows и убедитесь в наличии службы rclone-s3-disk:

    1. Нажмите сочетание клавиш Win+R.
    2. В открывшемся окне введите services.msc и нажмите ОК.
    3. В списке служб найдите rclone-s3-disk.
  4. Перезагрузите компьютер и проверьте доступность диска.

Примечание

Также вы можете настроить запуск службы от имени служебного пользователя (подробнее в разделе Service account документации утилиты WinSW).

Как удалить созданные ресурсы

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

  • удалите объекты из бакета bucket-for-win;
  • удалите бакет bucket-for-win.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом работы
  • Необходимые платные ресурсы
  • Подготовьте рабочее окружение
  • Создайте сервисный аккаунт
  • Создайте статический ключ доступа
  • Создайте бакет
  • Настройте подключение к Object Storage
  • Смонтируйте бакет
  • Настройте службу запуска монтирования
  • Как удалить созданные ресурсы