Давайте предположим, что у нас есть некий сервер, на котором хранится большое количество статических файлов - .png, .jpeg, .css и так далее. Нам нужно, например, чтобы доступ к этим файлам был из разных, географически распределенных мест.
Для такого сценария мы можем использовать S3 хранилище данных. Клиентом для взаимодействия может быть “чистый” клиент - awscli, а может быть S3-совместимый сервер Minio или аналог awscli - Minio Client - фактически мы можем хранить данные прямо на таком сервере.
Чтобы получить доступ, следует заблаговременно получить следующее:
- access_key (аналог логина)
- secret_key (аналог пароля)
- endpoint_url (если не AWS, а S3-compatible — MinIO, Ceph, etc.)
Для взаимодействия с S3 можно использовать awscli. Настроим его:
Установка:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version # Проверка установкиНастройка удаленного хранилища:
aws configureНе забыть прописать --endpoint-url, если это не S3 от AWS:
root@hhblipions:~# cat .aws/config
[default]
endpoint_url = https://s3.<host>/Проверить текущие настройки можно командой:
aws configure listПроверка файлов в удаленном хранилище:
aws s3 ls s3://<bucket_name>/Проверить текущие бакеты:
aws s3 lsОтправить файлы в s3:
aws s3 sync Downloads/ s3://<bucket_name>/