Loading...

S3-совместимое хранилище

Object Storage с AWS CLI

Используйте публичный совместимый с S3 endpoint после создания bucket и ключа доступа из панели, API или cdnctl.

Вернуться к справке платформы

Подготовка учётных данных

Сначала создайте bucket и ключ доступа. Секретный ключ доступа показывается один раз, поэтому храните его в безопасном месте и никогда не вставляйте в документы или тикеты.

cdnctl object-storage buckets create --account <account_uuid> --name app-media
cdnctl object-storage access-keys create --account <account_uuid> --bucket <bucket_uuid>

Настройка AWS CLI

Используйте endpoint CDN.com.tr в каждой команде AWS CLI. Переменные checksum обеспечивают совместимость современного AWS CLI v2 с текущим CDN edge и путём RGW.

aws configure --profile cdn-object-storage
export AWS_REQUEST_CHECKSUM_CALCULATION=when_required
export AWS_RESPONSE_CHECKSUM_VALIDATION=when_required
aws --profile cdn-object-storage --endpoint-url https://s3.cdn.com.tr s3api list-buckets

Дымовой тест объекта

Выполните небольшой тест записи/чтения/удаления перед тем, как указать приложение на bucket.

echo "cdn smoke" > smoke.txt
aws --profile cdn-object-storage --endpoint-url https://s3.cdn.com.tr s3api put-object --bucket <bucket> --key smoke.txt --body ./smoke.txt
aws --profile cdn-object-storage --endpoint-url https://s3.cdn.com.tr s3api head-object --bucket <bucket> --key smoke.txt
aws --profile cdn-object-storage --endpoint-url https://s3.cdn.com.tr s3 cp s3://<bucket>/smoke.txt -
aws --profile cdn-object-storage --endpoint-url https://s3.cdn.com.tr s3api delete-object --bucket <bucket> --key smoke.txt

Устранение неполадок

  • 403 обычно означает несоответствие ключа доступа, владельца bucket, политики или области подписи.
  • SignatureDoesNotMatch обычно означает неправильный endpoint, region/profile, секретный ключ или контекст подписи команды.
  • Если put-object работает, но head-object завершается ошибкой, проверьте владельца bucket/key и маршрут S3 passthrough CDN.
  • Используйте https://s3.cdn.com.tr в качестве публичного endpoint. Клиенты не должны использовать внутренние адреса RGW.