---
title: 'Миграция в S3'
sidebar_label: 'Миграция в S3'
description: 'Как подготовить площадку для миграции и перенести данные в S3'
sidebar_position: 10
---

import Formbricks from '@theme/MDXComponents/Formbricks'

# Миграция в S3

Осуществить миграцию данных в хранилище S3 из хранилища другого провайдера (например, AWS S3, Azure, GCP) можно через [Rclone](/s3/tools/rclone/).

1. [Подготовьте площадку для миграции](#prepare-site-for-migration).
2. [Выполните миграцию данных из исходного хранилища в S3 Selectel (целевое)](#data-migration).

## 1. Подготовить площадку для миграции \{#prepare-site-for-migration}

1. [Создайте бакет](/s3/buckets/create-bucket.mdx) в S3.
2. Подключитесь к хранилищу через [Rclone](/s3/tools/rclone.mdx).
3. Создайте две новые конфигурации через S3 API — для целевого и исходного хранилища. Для исходного хранилища используйте параметры текущего провайдера.

## 2. Миграция данных \{#data-migration}

1. Выполните копирование объектов из исходного хранилища в целевое:

   ```bash
   rclone copy -v -P --log-file=rclone.log --transfers=<transfers> <source_provider>:<bucket_name> <destination_provider>:<bucket_name>
   ```

   Укажите:

   * `<transfers>` — количество параллельных потоков копирования. Рекомендуемое значение параметра — 10. Если появляется большое количество ошибок тайм-аута, уменьшите число потоков;
   * `<source_provider>` — имя конфигурации исходного хранилища;
   * `<destination_provider>` — имя конфигурации целевого хранилища;
   * `<bucket_name>` — имя бакета в целевом хранилище.

2. Запустите синхронизацию. Будут скопированы только измененные или новые объекты из исходного хранилища:

   ```bash
   rclone sync -v -P --log-file=rclone.log --transfers=<transfers> <source_provider>:<bucket_name> <destination_provider>:<bucket_name>
   ```

3. Остановите работу тех сервисов, которые используют исходное хранилище. Это нужно для консистентности данных.

4. Запретите изменение данных в исходном хранилище, оставьте только функцию чтения.

5. Синхронизируйте хранилища (ранее скопированные объекты будут пропущены):

   ```bash
   rclone sync -v -P --log-file=rclone.log --transfers=<transfers> <source_provider>:<bucket_name> <destination_provider>:<bucket_name>
   ```

6. Когда синхронизация будет завершена, переключите работу сервисов на S3.

7. Опционально: удалите данные из исходного хранилища.

<Formbricks />
