Гид по технологиям

Быстрый старт с DigitalOcean Spaces и S3Cmd

6 min read Cloud Storage Обновлено 12 Dec 2025
DigitalOcean Spaces: быстрый старт с s3cmd
DigitalOcean Spaces: быстрый старт с s3cmd

Быстрые ссылки

  • Создание Space
  • Генерация ключей доступа для Spaces
  • Настройка S3Cmd
  • Загрузка файлов
  • Просмотр списка файлов
  • Удаление файлов
  • Практики безопасности и чек‑лист
  • Заключение

Интерфейс DigitalOcean Spaces: создание и менеджмент хранилища

DigitalOcean Spaces — это объектное хранилище, совместимое с Amazon S3, с встроенным CDN и предсказуемой ценой. Подходит для резервных копий, хранения артефактов и хостинга статических сайтов через CDN.

Ключевые параметры тарифного уровня, приведённые автором:

  • $5 в месяц (цена в долларах США)
  • 250 ГБ объёма хранения
  • 1 ТБ исходящего трафика
  • Неограниченное количество загрузок
  • Неограниченное число Spaces

Важно: не выдумывайте цены — ориентируйтесь на актуальные данные на сайте DigitalOcean.

Создание Space

После входа в DigitalOcean нажмите кнопку создания Space. При конфигурировании вам нужно выбрать:

  • Регион дата‑центра
  • Включить CDN или нет
  • Разрешить или запретить листинг файлов (список объектов)
  • Уникальное имя для Space

Важно: опция листинга определяет только возможность просмотреть перечень объектов и их метаданные (имя, размер), но не разрешает анонимный доступ к самим файлам — для этого отдельная настройка публичного доступа.

В примере выбираем регион Datacenter Region 2 (San Francisco), включаем CDN без кастомного поддомена и запрещаем анонимный листинг.

Выбор региона, включение CDN и запрет листинга анонимных пользователей

Даем Space уникальное имя, например:

lc-articles

и при необходимости помещаем в проект. Нажимаем Create a Space для создания.

Подтверждение создания Space и пустой контейнер без файлов

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

Пустой Space: интерфейс загрузки и создания папок

В разделе Settings доступны полезные опции: Purge Cache (очистка CDN), CORS, политики доступа и пр.

Настройки Space: очистка кеша и CORS

Генерация ключей доступа для Spaces

Перейдите в Account → API и в секции Tokens/Keys нажмите Generate New Key для доступа к Spaces. Введите имя для ключа, сохраните — система покажет Access Key и Secret Key.

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

Эти два значения понадобятся для настройки s3cmd или любого S3‑совместимого клиента.

Настройка S3Cmd

В статье используется s3cmd для работы с Spaces из Ubuntu. Установка на Ubuntu:

apt install s3cmd

Для создания конфигурации выполните:

s3cmd --configure

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

  • Access Key — ключ из раздела API
  • Secret Key — секретный ключ (обязательно)
  • Default Region — можно оставить US или указать нужный регион
  • S3 Endpoint — берите из настроек вашего Space (пример: nyc3.digitaloceanspaces.com)
  • DNS Based Bucket Syntax — замените на:
%(bucket)s.{region}.digitaloceanspaces.com

и подставьте {region} в соответствии с панелью управления

  • Encryption Password — можно оставить пустым
  • GPG Program Path — оставьте значение по умолчанию
  • HTTPS Protocol — рекомендуется включённый по умолчанию
  • Proxy — оставьте пустым, если прокси не используется

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

Мастер настройки s3cmd с тестовым подключением

Проверка подключения (должен отобразиться ваш Space):

s3cmd ls

Вывод s3cmd ls с показом созданного Space

Загрузка файлов

Команда для загрузки файла в Space:

s3cmd put filename s3://DigitalOcean-Space-Name

Пример вывода при успешной загрузке:

Результат успешной загрузки файла через s3cmd

Загрузка доступна и через GUI, где вы также увидите загруженные объекты.

Проверка загруженного файла в веб‑интерфейсе Spaces

Просмотр списка файлов

Чтобы перечислить объекты в Space, используйте команду, похожую на linux ls:

s3cmd ls s3://DigitalOcean-Space-Name

Пример вывода списка объектов в Space

Для получения метаданных конкретного объекта применяйте info:

s3cmd info s3://DigitalOcean-Space-Name/filename

Вывод метаданных объекта через s3cmd info

Удаление файлов

Удаление объекта выполняется командой:

s3cmd del s3://DigitalOcean-Space-Name/filename

После удаления проверьте, что объект больше не отображается в списке и в веб‑интерфейсе.

В примере был удалён файл testfile1.zip и подтверждён его уход как в CLI, так и в GUI.

Подтверждение удаления объекта в интерфейсе и CLI

Справочник команд (cheat sheet)

  • Установить s3cmd:
apt install s3cmd
  • Конфигурировать s3cmd:
s3cmd --configure
  • Показать все Spaces:
s3cmd ls
  • Перечислить объекты в Space:
s3cmd ls s3://
  • Загрузить файл:
s3cmd put localfile s3://
  • Получить метаданные файла:
s3cmd info s3:///remote-file
  • Удалить файл:
s3cmd del s3:///remote-file

Мини‑методология: быстрый рабочий сценарий для бэкапа

  1. Собрать бэкап в tar.gz: tar czf /tmp/app-backup-$(date +%F).tar.gz /var/www.
  2. Проверить целостность архива: tar tzf ... >/dev/null.
  3. Загрузить в Space: s3cmd put /tmp/app-backup-... s3://lc-articles/backups/.
  4. Проверить наличие: s3cmd ls s3://lc-articles/backups/.
  5. Хранить списки и метаданные в CI/CD секретах.

Рекомендации по безопасности и жёсткая конфигурация

Важно следовать принципу наименьших привилегий и надёжно хранить ключи доступа.

  • Храните Access/Secret Key в специальных хранилищах секретов (Vault, AWS Secrets Manager, GitLab CI secrets).
  • Не включайте секреты в репозитории и не встраивайте их в публичные образы.
  • Ограничивайте доступ по IP, если это поддерживается в вашей архитектуре.
  • Используйте политики на уровне проекта/пользователя, чтобы выдать только необходимые права (чтение/запись/удаление).
  • Активируйте HTTPS и следите за сертификатами CDN, если используете кастомный домен.
  • Регулярно ротацируйте ключи и реализуйте процедуру инвентаризации ключей.

Краткий план реагирования при утечке ключа:

  1. Немедленно отозвать скомпрометированный ключ в панели API.
  2. Сгенерировать новый ключ и обновить конфигурации клиентов.
  3. Проанализировать логи доступа и определить возможный ущерб.
  4. Восстановить из резервных копий при необходимости.

Когда это может не подойти (контраргументы)

  • Нужна глубокая интеграция с AWS‑экосистемой (IAM, Lambda, Glacier) — нативный S3 в AWS удобнее.
  • Требуются гарантия соответствия локальным требованиям хранения данных (геозоны, сертификации) — проверьте соответствие DigitalOcean требованиям вашей организации.
  • Масштаб хранения в петабайтах с тонкой тарификацией — специализированные провайдеры хранения могут быть экономичнее.

Альтернативные подходы

  • MinIO — S3‑совместимое решение для развёртывания в собственном дата‑центре.
  • Amazon S3 — нативный S3 с полной интеграцией AWS.
  • Backblaze B2 — низкая цена за хранилище и похожая модель доступа.

Роли и чек‑лист (для внедрения)

Администратор инфраструктуры:

  • Создать Space и политики доступа
  • Настроить CDN и CORS
  • Настроить периодический аудит ключей

DevOps/CI:

  • Интегрировать загрузку бэкапов в CI/CD
  • Хранить ключи в секретном хранилище
  • Настроить мониторинг использования трафика и объёма

Разработчик:

  • Использовать SDKs/CLI для выгрузки артефактов
  • Проверять наличие файлов после загрузки

Факт‑бокс: ключевые числа

  • Базовый тариф, указанный автором: $5/мес, 250 ГБ, 1 ТБ исходящего трафика.
  • Поддерживаются S3‑совместимые API, поэтому большинство инструментов (s3cmd, rclone, boto3) работают без изменений.

Краткое руководство по соответствию и приватности

  • Если вы обрабатываете персональные данные, убедитесь, что политика хранения и удаления соответствует GDPR/локальным законам.
  • Не храните персональные данные дольше, чем это необходимо; реализуйте автоматические правила удаления/жизненного цикла объектов при необходимости.

Важно: при обработке персональных данных всегда консультируйтесь с юристом по защите данных вашего региона.

Критерии приёмки

  • Space создан и доступен через s3cmd: s3cmd ls показывает новый Space.
  • Один тестовый файл загружен и доступен: s3cmd put testfile s3:// и s3cmd info возвращает метаданные.
  • Установлены безопасные практики хранения ключей (не хранить в репозитории).

Короткая проверка (test cases)

  • Позитивный: загрузить файл и проверить его скачивание через CDN (если включён).
  • Негативный: попытка чтения без ключей должна возвращать отказ.
  • Граничный: загрузить файл >250 ГБ и проверить поведение тарифа и ограничения.

Глоссарий (одна строка)

  • Space — контейнер объектного хранения в DigitalOcean, аналог S3 bucket.
  • CDN — сеть доставки контента, ускоряет доставку статических файлов.
  • Access Key / Secret Key — учетные данные для API‑доступа.

Заключение

DigitalOcean Spaces — быстрый и недорогой способ организовать объектное хранилище с CDN. Это удобный вариант для резервных копий, хранения артефактов и хостинга статических сайтов, особенно если вы уже используете DigitalOcean. В продакшене важно настроить безопасное хранение ключей, политики доступа и ротацию ключей. Для более сложных сценариев сравните возможности с AWS S3, MinIO или Backblaze.

Важно: всегда проверяйте актуальные тарифы и ограничения на сайте провайдера.

Короткое резюме:

  • Создайте Space, сгенерируйте ключи доступа, настройте s3cmd и протестируйте загрузку/удаление файлов.
  • Следуйте принципам безопасности (хранение ключей, права доступа, ротация).
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как устроить идеальную VR‑вечеринку
Развлечения

Как устроить идеальную VR‑вечеринку

Роли в Discord: создание и назначение
Discord руководство

Роли в Discord: создание и назначение

Как делиться и скачивать циферблаты Apple Watch
Гаджеты

Как делиться и скачивать циферблаты Apple Watch

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

Преодолеть укачивание в VR

Бесплатное резервное копирование — простые способы
Резервное копирование

Бесплатное резервное копирование — простые способы

HBO Max на LG Smart TV — установка и запуск
Стриминг

HBO Max на LG Smart TV — установка и запуск