# Configurer le stockage d’objets blob

Les archives de GitLab doivent être stockées temporairement afin de GitHub pouvoir les lire.

Pour la plupart des clients, nous vous recommandons de stocker des archives avec GitHub-owned blob storage. Il s’agit du chemin le plus simple et ne nécessite aucune configuration supplémentaire.

Toutefois, vous pouvez configurer le stockage avec un fournisseur externe si vous avez des exigences de pare-feu ou que vous devez conserver des archives une fois la migration terminée.

## Choix de l’endroit où mettre en scène des archives

Les GL2GH extension exportations de chaque projet GitLab vers une archive, puis chargent l’archive dans le stockage d’objets blob à GitHub partir duquel lire. Vous choisissez le back-end de stockage lorsque vous exécutez une migration.

| Option de stockage | Comment le sélectionner | Remarques |
| ------------------ | ----------------------- | --------- |

GitHub-owned blob storage (recommandé) | `--use-github-storage` | Aucune configuration n’est requise.
GitHub supprime automatiquement l’archive après une migration réussie, ou sept jours après une migration ayant échoué.
AWS S3 |
`--aws-bucket-name` (avec les `AWS_REGION`variables , `AWS_ACCESS_KEY_ID`et `AWS_SECRET_ACCESS_KEY` les variables d’environnement, et éventuellement `AWS_SESSION_TOKEN`) | Vous possédez le compartiment et son cycle de vie.
GitHub ne supprime pas les archives de votre stockage.
Service de stockage Blob Azure |
`AZURE_STORAGE_CONNECTION_STRING` variable d’environnement (pour une seule `migrate-repo` commande, vous pouvez utiliser `--azure-storage-connection-string`à la place) | Seules les chaînes de connexion de clé d’accès au compte de stockage sont prises en charge (et non saS).
GitHub ne supprime pas les archives de votre stockage.

## Configuration du stockage d’objets blob

Si vous utilisez GitHub-owned blob storage, vous n’avez pas besoin de configurer quoi que ce soit. Vous utiliserez l’indicateur `--use-github-storage` pour sélectionner cette méthode avec l’interface CLI. Toutefois, vous pouvez définir la `GITHUB_OWNED_STORAGE_MULTIPART_MEBIBYTES` variable (100 Mio par défaut, minimum 5 Mio) sur un nombre inférieur si vous avez une connexion lente ou proxiée.

Si vous utilisez le stockage d’objets blob externe, vous devez le configurer.

### Configuration d’un compartiment de stockage AWS S3

Dans AWS, configurez un compartiment S3. Pour plus d’informations, consultez [Créer un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans la documentation AWS.

Vous aurez également besoin d’une clé d’accès AWS et d’une clé secrète avec les autorisations suivantes :

```json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads",
                "s3:AbortMultipartUpload",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:ListMultipartUploadParts"
            ],
            "Resource": [
                "arn:aws:s3:::github-migration-bucket",
                "arn:aws:s3:::github-migration-bucket/*"
            ]
        }
    ]
}
```

> \[!NOTE]
> GitHub Enterprise Importer ne supprime pas votre archive d’AWS une fois votre migration terminée. Pour réduire les coûts de stockage, nous vous recommandons de configurer la suppression automatique de votre archive après une certaine période. Pour plus d’informations, consultez [Définition d’une configuration de cycle de vie sur un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html) dans la documentation AWS.

Quand vous êtes prêt à exécuter votre migration, vous devez fournir vos informations d’identification AWS à l’GitHub CLI : région, clé d’accès, clé secrète et jeton de session (si nécessaire). Vous pouvez les passer comme des arguments ou définir des variables d’environnement appelées `AWS_REGION`, `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN`.

Vous devez également passer le nom du compartiment S3 en utilisant l’argument `--aws-bucket-name`.

### Configuration d’un compte Stockage Blob Azure

Dans Azure, créez un compte de stockage et notez votre chaîne de connexion. Pour plus d’informations, consultez [Gérer les clés d’accès au compte de stockage](https://learn.microsoft.com/en-gb/azure/storage/common/storage-account-keys-manage?tabs=azure-portal#regenerate-access-keys) dans Microsoft Docs.

> \[!NOTE]
> GitHub Enterprise Importer ne supprime pas votre archive du Stockage Blob Azure une fois votre migration terminée. Pour réduire les coûts de stockage, nous vous recommandons de configurer la suppression automatique de votre archive après une certaine période. Pour plus d’informations, consultez [Optimiser les coûts en gérant automatiquement le cycle de vie des données](https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview) dans Microsoft Docs.

Lorsque vous êtes prêt à exécuter votre migration, vous pouvez passer votre chaîne de connexion à GitHub CLI en tant qu’argument, ou la passer en utilisant une variable d’environnement appelée `AZURE_STORAGE_CONNECTION_STRING`.

### Autoriser l'accès au réseau

Si vous avez configuré des règles de pare-feu sur votre compte de stockage, assurez-vous d'avoir autorisé l'accès aux plages d'adresses IP de votre destination de migration. Consultez « [Gérer l’accès à une migration de GitLab vers GitHub](/fr/migrations/using-github-enterprise-importer/migrate-from-gitlab/manage-access#configure-ip-allow-lists-on-github) ».