Как стать автором
Обновить
1824.96
Timeweb Cloud
То самое облако

Timeweb Cloud CLI. Часть 1: S3

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров804


Салют! Не так давно компания Timeweb Cloud выпустила новую версию своего CLI (twc), который позволяет легко и удобно управлять всеми предоставляемыми ресурсами облачной платформы. В этой серии статей рассмотрим основные сценарии применения этого инструмента.

В данном материале речь пойдёт о работе с облачным объектным хранилищем S3 — это сервис для хранения любых данных в виде объектов, работа с которым осуществляется через программный интерфейс S3 API, в нём можно размещать любые типы статических данных.
Они будут храниться в одном месте и едином формате, и вы сможете в любой момент получать к ним доступ через API или графический интерфейс. Удобно размещать там, например, бэкапы, статические и медиа файлы, архивы, логи.

Установка и настройка


Для установки twc (при наличии в системе python 3.7+ и пакетного менеджера pip) достаточно одной команды:

pip install twc-cli

Затем необходимо предоставить утилите доступ к нашему облаку, для этого требуется получить токен доступа в панели управления Timeweb Cloud, выпустить его можно в разделе «API и Terraform».

Далее откройте терминал и запустите команду:

twc config

Копируем токен и нажимаем Enter. Утилита сохранит на вашем компьютере конфигурационный файл с токеном, на этом её настройка завершена, можно начинать управлять сервисами.

Начало работы


Прежде чем создать бакет, необходимо выбрать тариф, который определяет базовые параметры нашего хранилища: регион размещения, цену и доступный объём. Для этого мы можем получить список доступных пресетов (по умолчанию будет выбран минимальный тариф с 10 Гб диска):

twc s3 list-presets
ID 	REGION	PRICE	DISK 
383	ru-1  	639  	        250G 
385	ru-1  	1119 	500G 
387	ru-1  	2079 	1000G
389	ru-1  	79   	        10G  
471	ru-1  	3999 	2000G
473	ru-1  	349  	        100G

Создать новый бакет:

twc s3 mb --preset-id 473 имя-бакета

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

twc s3 set --type public имя-бакета

Кроме того к бакету можно привязать домен (если у него есть CNAME-запись s3.timeweb.com) и запросить SSL-сертификат Let's Encrypt для него (продлеваться будет автоматически), на всё про всё потребуется две команды:

twc s3 subdomain add my-bucket.example.com имя-бакета
twc s3 subdomain gencert my-bucket.example.com

Подробнее про привязку доменов тут .

Подготовка конфигурации для S3 клиента


twc не реализует методы S3 API, поэтому для работы с объектами внутри бакетов можно использовать готовые S3-клиенты такие как s3cmd или rclone, для конфигурации любого из них достаточно одной команды, например для rclone:

mkdir -p ~/.config/rclone
twc s3 genconfig --client rclone > ~/.config/rclone/rclone.conf

Наконец, всё готово, можно работать с бакетами по схеме twc, например для просмотра списка бакетов:

rclone ls twc:/

Или можно синхронизировать файлы между бакетом и локальной директорией:

rclone -P sync twc:<бакет> /root/test

Итого


В этой статье мы рассмотрели использование CLI интерфейса от Timeweb для управления S3 хранилищем. Стоит отметить, что twc позволяет легко создавать новые бакеты с помощью готовых пресетов, генерировать конфигурацию для S3 клиентов и даже автоматически продлевать SSL сертификаты для бакетов, всё это вкупе с простым и понятным синтаксисом значительно облегчает работу.



Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале

Теги:
Хабы:
Всего голосов 16: ↑14 и ↓2+12
Комментарии0

Публикации

Информация

Сайт
timeweb.cloud
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Timeweb Cloud