{"meta":{"title":"Настройка хранилища BLOB-объектов","intro":"Архивы из GitLab должны быть временно сохранены, чтобы GitHub их можно было прочитать.","product":"Миграции","breadcrumbs":[{"href":"/ru/migrations","title":"Миграции"},{"href":"/ru/migrations/using-github-enterprise-importer","title":"GitHub Enterprise Importer"},{"href":"/ru/migrations/using-github-enterprise-importer/migrate-from-gitlab","title":"Миграция из GitLab"},{"href":"/ru/migrations/using-github-enterprise-importer/migrate-from-gitlab/configure-storage","title":"5. Настройка хранилища"}],"documentType":"article"},"body":"# Настройка хранилища BLOB-объектов\n\nАрхивы из GitLab должны быть временно сохранены, чтобы GitHub их можно было прочитать.\n\nДля большинства клиентов рекомендуется хранить архивы с GitHub-owned blob storageпомощью . Это самый простой путь и не требует дополнительной конфигурации.\n\nОднако может потребоваться настроить хранилище с внешним поставщиком, если у вас есть требования к брандмауэру или необходимо сохранить архивы после завершения миграции.\n\n## Выбор места выполнения архивов\n\nЭкспортирует GL2GH extension каждый проект GitLab в архив, а затем отправляет архив в хранилище BLOB-объектов, из которых GitHub можно прочитать. При выполнении миграции вы выбираете серверную часть хранилища.\n\n| Вариант хранения | Как выбрать его | Примечания |\n| ---------------- | --------------- | ---------- |\n\nGitHub-owned blob storage (рекомендуется) | `--use-github-storage` | Установка не требуется.\nGitHub удаляет архив автоматически после успешной миграции или семь дней после неудачной миграции.\nAWS S3 |\n`--aws-bucket-name`(с `AWS_REGION``AWS_ACCESS_KEY_ID`переменными среды и `AWS_SECRET_ACCESS_KEY` переменными среды, а также при необходимости `AWS_SESSION_TOKEN`) | Вы владеете контейнером и его жизненным циклом.\nGitHub не удаляет архивы из хранилища.\nХранилище BLOB-объектов Azure (Азур Блоб Сторадж) |\n`AZURE_STORAGE_CONNECTION_STRING` переменная среды (для одной `migrate-repo` команды можно использовать `--azure-storage-connection-string`) | Поддерживаются только строки подключения к ключу доступа к учетной записи хранения (а не SAS).\nGitHub не удаляет архивы из хранилища.\n\n## Настройка хранилища BLOB-объектов\n\nЕсли вы используете GitHub-owned blob storage, вам не нужно ничего настраивать. Вы будете `--use-github-storage` использовать флаг для выбора этого метода с помощью интерфейса командной строки. Однако может потребоваться задать `GITHUB_OWNED_STORAGE_MULTIPART_MEBIBYTES` переменную (по умолчанию 100 МиБ, минимум 5 МиБ) меньшее число, если у вас есть медленное или прокси-подключение.\n\nЕсли вы используете внешнее хранилище BLOB-объектов, необходимо настроить его.\n\n### Настройка контейнера хранилища AWS S3\n\nВ AWS настройте контейнер S3. Дополнительные сведения см. в разделе [\"Создание контейнера](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) \" в документации ПО AWS.\n\nВам также потребуется ключ доступа AWS и секретный ключ со следующими разрешениями:\n\n```json\n{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Sid\": \"VisualEditor0\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"s3:PutObject\",\n                \"s3:GetObject\",\n                \"s3:ListBucketMultipartUploads\",\n                \"s3:AbortMultipartUpload\",\n                \"s3:ListBucket\",\n                \"s3:DeleteObject\",\n                \"s3:ListMultipartUploadParts\"\n            ],\n            \"Resource\": [\n                \"arn:aws:s3:::github-migration-bucket\",\n                \"arn:aws:s3:::github-migration-bucket/*\"\n            ]\n        }\n    ]\n}\n```\n\n> \\[!NOTE]\n> GitHub Enterprise Importer не удаляет архив из AWS после завершения миграции. Чтобы сократить затраты на хранение, рекомендуется настроить автоматическое удаление архива через период времени. Дополнительные сведения см. в разделе [Настройка конфигурации жизненного цикла в контейнере](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html) в документации AWS.\n\nКогда вы будете готовы к миграции, вам потребуется предоставить учетные данные AWS в GitHub CLI: регион, ключ доступа, секретный ключ и маркер сеанса (при необходимости). Их можно передать в качестве аргументов или задать переменные среды, называемые `AWS_REGION`, и `AWS_SESSION_TOKEN``AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY`.\n\nКроме того, необходимо передать имя контейнера S3 с помощью аргумента `--aws-bucket-name` .\n\n### Настройка учетной записи Хранилище BLOB-объектов Azure\n\nВ Azure создайте учетную запись хранения и запишите строка подключения. Дополнительные сведения см. в разделе [\"Управление ключами](https://learn.microsoft.com/en-gb/azure/storage/common/storage-account-keys-manage?tabs=azure-portal#regenerate-access-keys) доступа к учетной записи хранения\" в Документация Майкрософт.\n\n> \\[!NOTE]\n> GitHub Enterprise Importer не удаляет архив из Хранилище BLOB-объектов Azure после завершения миграции. Чтобы сократить затраты на хранение, рекомендуется настроить автоматическое удаление архива через период времени. Дополнительные сведения см. в статье [\"Оптимизация затрат путем автоматического управления жизненным циклом](https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview) данных в Документация Майкрософт\".\n\nКогда вы будете готовы выполнить миграцию, вы можете передать строка подключения в GitHub CLI в качестве аргумента или передать его с помощью переменной `AZURE_STORAGE_CONNECTION_STRING`среды.\n\n### Разрешение сетевого доступа\n\nЕсли вы настроили правила брандмауэра в учетной записи хранения, убедитесь, что у вас есть доступ к диапазонам IP-адресов для назначения миграции. См [. раздел AUTOTITLE](/ru/migrations/using-github-enterprise-importer/migrate-from-gitlab/manage-access#configure-ip-allow-lists-on-github)."}