La réponse à notre post précédent,
Pour rapatrier des données depuis AWS S3, vous suivrez ces directives générales :
Examinez les exigences en matière de données : déterminez les compartiments et les objets spécifiques qui doivent être rapatriés depuis AWS S3. Assurez-vous de bien comprendre les besoins de votre entreprise et les exigences de conformité, compartiment par compartiment.
Identifiez la destination de rapatriement : vous avez déjà décidé de rapatrier vers MinIO. Vous pouvez désormais choisir d'exécuter MinIO dans un centre de données sur site ou chez un autre fournisseur de cloud ou installation de colocation. À l’aide des exigences du point 1, vous sélectionnerez le matériel ou les instances pour les besoins prévus en matière de stockage, de transfert et de disponibilité.
Transfert de données : planifiez et exécutez le transfert de données d'AWS S3 vers MinIO. Utilisez simplement la réplication par lots intégrée de MinIO ou le miroir à l'aide du client MinIO (voir
Accès aux données et autorisations : assurez-vous que les contrôles d'accès et les autorisations appropriés sont configurés pour les données rapatriées par compartiment. Cela inclut les politiques IAM et de compartiment pour gérer l'accès des utilisateurs, l'authentification et l'autorisation afin de garantir la sécurité des données.
Verrouillages d'objets : il est essentiel de préserver les politiques de conservation des verrous d'objets et de conservation légale après la migration. Le magasin d'objets cible doit interpréter les règles de la même manière qu'Amazon S3. Si vous n'êtes pas sûr, demandez le
Gestion du cycle de vie des données : Définir et mettre en œuvre une stratégie de gestion du cycle de vie des données rapatriées. Cela inclut la définition de politiques de conservation, de procédures de sauvegarde et de récupération, ainsi que de pratiques d'archivage de données par compartiment.
Validation des données : validez les données transférées pour garantir leur intégrité et leur exhaustivité. Effectuez les vérifications et les tests nécessaires pour garantir que les données ont été transférées avec succès sans aucune corruption ni perte. Après le transfert, le nom de l'objet, l'ETag et les métadonnées, la somme de contrôle et le nombre d'objets correspondent tous entre la source et la destination.
Mettre à jour les applications et les flux de travail : la bonne nouvelle est que si vous suivez les principes cloud natifs pour créer vos applications, tout ce que vous aurez à faire est de les reconfigurer pour le nouveau point de terminaison MinIO. Toutefois, si vos applications et flux de travail ont été conçus pour fonctionner avec l'écosystème AWS, effectuez les mises à jour nécessaires pour prendre en charge les données rapatriées. Cela peut impliquer la mise à jour des configurations, la reconfiguration des intégrations ou, dans certains cas, la modification du code.
Surveiller et optimiser : surveillez et optimisez en permanence l'environnement de données rapatriées pour garantir des performances optimales, une rentabilité et le respect des meilleures pratiques de gestion des données.
De nombreux facteurs doivent être pris en compte lors de la budgétisation et de la planification du rapatriement vers le cloud. Heureusement, nos ingénieurs l'ont fait avec de nombreux clients et nous avons développé un plan détaillé pour vous. Nous avons des clients qui ont tout rapatrié, depuis une poignée de charges de travail jusqu'à des centaines de pétaoctets.
La plus grande tâche de planification consiste à réfléchir aux choix concernant la mise en réseau, la bande passante louée, le matériel serveur, les coûts d'archivage des données non sélectionnées pour être rapatriées et le coût humain de la gestion et de la maintenance de votre propre infrastructure cloud. Estimez ces coûts et planifiez-les. Les coûts de rapatriement du cloud incluront les frais de sortie de données pour déplacer les données du cloud vers le centre de données. Ces frais sont intentionnellement suffisamment élevés pour imposer le verrouillage du cloud. Prenez note de ces frais de sortie élevés : ils justifient l’argument économique en faveur de l’abandon du cloud public car, à mesure que la quantité de données que vous gérez augmente, les frais de sortie augmentent. Par conséquent, si vous envisagez de rapatrier, il vaut la peine d’agir le plus tôt possible.
Nous allons nous concentrer sur les données et métadonnées qui doivent être déplacées – cela représente quatre-vingts pour cent du travail nécessaire pour rapatrier. Les métadonnées incluent les propriétés et les politiques du compartiment (gestion des accès basée sur la clé d'accès/secrète, gestion du cycle de vie, chiffrement, accès public anonyme, verrouillage des objets et gestion des versions).
Concentrons-nous sur les données (objets) pour l'instant. Pour chaque espace de noms que vous souhaitez migrer, faites l'inventaire des buckets et des objets que vous souhaitez déplacer. Il est probable que votre équipe DevOps sache déjà quels compartiments contiennent des données actuelles importantes. Vous pouvez aussi utiliser
Espace de noms | Nombre total de compartiments | Nombre total d'objets | Taille totale de l'objet (Go) | Téléchargement total quotidien (To) | Téléchargement total quotidien (To) |
---|---|---|---|---|---|
ns-001 | 166 | 47 751 258 | 980 014,48 | 50.04 | 14h80 |
ns-002 | 44 | 24 320 810 | 615 033,35 | 23.84 | 675.81 |
ns-002 | 648 | 88 207 041 | 601 298,91 | 328,25 | 620,93 |
ns-001 | 240 | 68 394 231 | 128 042,16 | 62.48 | 12h45 |
L'étape suivante consiste à répertorier, par espace de noms, chaque bucket et ses propriétés pour chaque bucket que vous allez migrer. Notez la ou les applications qui stockent et lisent les données dans ce compartiment. En fonction de l'utilisation, classez chaque compartiment en données de niveau chaud, chaud ou froid.
Dans une version abrégée, cela ressemblera à quelque chose comme
Nom du compartiment | Propriétés | Applications) | Niveau chaud/chaud/froid |
---|---|---|---|
UN | Copiez et collez JSON ici | Étincelle, Iceberg, Dremio | Chaud |
B | Copiez et collez JSON ici | Élastique | Chaud |
C | Copiez et collez JSON ici | Élastique (instantanés) | Froid |
À ce stade, vous avez quelques décisions à prendre concernant la gestion du cycle de vie des données et portez-y une attention particulière, car voici un excellent moyen d'économiser de l'argent sur les frais AWS. Classez les objets de chaque compartiment comme chauds, tièdes ou froids en fonction de la fréquence à laquelle ils sont consultés. Un excellent moyen d'économiser de l'argent consiste à migrer les compartiments de niveau froid directement vers S3 Glacier : il n'y a aucune raison d'encourir des frais de sortie pour télécharger, juste pour télécharger à nouveau.
En fonction de la quantité de données que vous rapatriez, vous disposez de plusieurs options pour choisir la manière de migrer. Nous vous recommandons de charger et d'utiliser de nouvelles données sur le nouveau cluster MinIO tout en copiant les données chaudes et tièdes vers le nouveau cluster au fil du temps. Le temps et la bande passante nécessaires pour copier des objets dépendront bien entendu du nombre et de la taille des objets que vous copiez.
C'est ici qu'il sera très utile de calculer le total des données que vous allez rapatrier depuis AWS S3. Regardez votre inventaire et faites le total de la taille de tous les seaux classés comme chauds et tièdes.
Total de données de niveau chaud et chaud = 1 534 096,7 Go |
---|
Bande passante disponible = 10 Gbit/s |
Temps de transfert minimum requis (taille totale de l'objet / bande passante disponible) = 14,2 jours |
Calculez les frais de sortie de données en fonction du total ci-dessus. j'utilise
Total des données hiérarchisées vers S3 Glacier = 767 048,337 Go |
---|
Frais de transfert S3 vers S3 Glacier (0,05 $/1 000 objets) = 3 773,11 $ |
Frais de stockage mensuels S3 Glacier Deep Archive = 760 $ |
N'oubliez pas de prévoir un budget pour l'utilisation future de S3 Glacier Deep Archive.
Total des données à transférer = 1 534 096,7 Go |
---|
10 premiers To à 0,09 $/Go = 900 $ |
40 To suivants à 0,085 $/Go = 3 400 $ |
100 To suivants à 0,07 $/Go = 70 000 $ |
Supplémentaire de plus de 150 To à 0,05 $/Go = 69 205 $ |
Frais de sortie totaux = 143 504 $ |
Par souci de simplicité, le calcul ci-dessus n'inclut ni les frais d'opérations par objet (0,40 $/1 million) ni le coût de LISTing (5 $/1 million). Pour les très grands projets de rapatriement, nous pouvons également compresser les objets avant de les envoyer sur le réseau, vous permettant ainsi d'économiser une partie des frais de sortie.
Une autre option consiste à utiliser AWS Snowball pour transférer des objets. Les appareils Snowball font chacun 80 To, nous savons donc d’emblée que nous en avons besoin de 20 pour notre effort de rapatriement. Les frais par appareil comprennent 10 jours d'utilisation, plus 2 jours d'expédition. Des jours supplémentaires sont disponibles pour 30 $/appareil.
Frais de service pour 20 appareils Snowball (300 $ chacun) = 6 000 $ |
---|
Expédition R/T (3 à 5 jours à 400 $/appareil) = 8 000 $ |
Sortie de données S3 (0,02 $/Go) = 30 682 $ |
Frais boule de neige totaux = 38 981,93 $ |
AWS vous facturera des tarifs standard de demande, de stockage et de transfert de données pour lire et écrire sur les services AWS, notamment
Nous savons désormais combien de temps il faudra pour migrer cette énorme quantité de données, ainsi que son coût. Prenez une décision commerciale quant à la méthode qui répond à vos besoins en fonction de la combinaison du calendrier et des frais.
À ce stade, nous connaissons également les exigences relatives au matériel nécessaire pour exécuter MinIO sur site ou dans une installation de colocation. Prenez l'exigence ci-dessus pour 1,5 Po de stockage, estimez la croissance des données et consultez notre
La première étape consiste à recréer vos buckets S3 dans MinIO. Vous devrez le faire quelle que soit la manière dont vous choisissez de migrer les objets. Bien que S3 et MinIO stockent les objets à l'aide du chiffrement côté serveur, vous n'avez pas à vous soucier de la migration des clés de chiffrement. Vous pouvez vous connecter au KMS de votre choix en utilisant
Vous disposez de plusieurs options pour copier des objets : Réplication par lots et mc mirror
. Mon précédent article de blog,
En règle générale, les clients utilisent les outils que nous avons écrits en combinaison avec le matériel et les services de migration de données AWS Snowball ou TD SYNNEX pour déplacer de plus grandes quantités de données (plus de 1 Po).
MinIO s'est récemment associé à Western Digital et TD SYNNEX pour proposer une alternative Snowball. Les clients peuvent programmer des fenêtres pour prendre livraison du matériel Western Digital et payer ce dont ils ont besoin pendant la période de location. Plus important encore, le service n'est pas lié à un cloud spécifique, ce qui signifie que l'entreprise peut utiliser le service pour déplacer des données vers, depuis et entre les cloud, le tout en utilisant le protocole omniprésent S3. Des détails supplémentaires sur le service peuvent être trouvés sur le
Les métadonnées du compartiment, y compris les politiques et les propriétés du compartiment, peuvent être lues à l'aide get-bucket
Portez une attention particulière à
Portez une attention particulière à la gestion du cycle de vie des données, comme la conservation des objets, le verrouillage des objets et l'archivage/la hiérarchisation. Exécutez une get-bucket-lifecycle-configuration
sur chaque compartiment pour obtenir une liste JSON lisible par l'homme des règles de cycle de vie. Vous pouvez facilement recréer les paramètres AWS S3 à l'aide de la console MinIO ou du client MinIO (mc). Utilisez des commandes telles que get-object-legal-hold
et get-object-lock-configuration
pour identifier les objets qui nécessitent un traitement spécial en matière de sécurité et de gouvernance.
Puisque nous parlons du cycle de vie, parlons un instant de la sauvegarde et de la reprise après sinistre. Souhaitez-vous qu'un cluster MinIO supplémentaire soit répliqué pour la sauvegarde et la reprise après sinistre ?
Une fois les objets copiés d'AWS S3 vers MinIO, il est important de valider l'intégrité des données. Le moyen le plus simple de procéder consiste à utiliser le client MinIO pour exécuter mc diff
sur les anciens compartiments de S3 et les nouveaux compartiments sur MinIO. Cela calculera la différence entre les compartiments et renverra une liste des seuls objets manquants ou différents. Cette commande prend les arguments des buckets source et cible. Pour votre commodité, vous souhaiterez peut-être créer
mc diff s3/bucket1 minio/bucket1
La bonne nouvelle est que tout ce que vous avez à faire est de pointer les applications existantes vers le nouveau point de terminaison MinIO. Les configurations peuvent être réécrites application par application sur une période donnée. La migration des données dans le stockage d'objets est moins perturbante qu'un système de fichiers, il suffit de modifier l'URL pour lire/écrire à partir d'un nouveau cluster. Notez que si vous comptiez auparavant sur les services AWS pour prendre en charge vos applications, celles-ci ne seront pas présentes dans votre centre de données, vous devrez donc les remplacer par leur équivalent open source et réécrire du code. Par exemple, Athena peut être remplacé par Spark SQL, Apache Hive et Presto, Kinesis par Apache Kafka et AWS Glue par Apache Airflow.
Si votre migration S3 fait partie d'un effort plus vaste visant à déplacer une application entière sur site, il est probable que vous ayez utilisé
Maintenant que vous avez terminé le rapatriement, il est temps de vous concentrer sur l’exploitation, la surveillance et l’optimisation du stockage. La bonne nouvelle est qu'aucune optimisation n'est nécessaire pour MinIO : nous avons intégré l'optimisation directement dans le logiciel afin que vous sachiez que vous obtenez les meilleures performances pour votre matériel. Vous souhaiterez commencer à surveiller votre nouveau cluster MinIO pour évaluer l'utilisation des ressources et les performances sur une base continue. MinIO expose
Avec
Ce n’est loin d’être un secret que l’époque où il fallait écrire des chèques en blanc aux fournisseurs de cloud est révolue. De nombreuses entreprises évaluent actuellement leurs dépenses cloud pour trouver des économies potentielles. Vous disposez désormais de tout ce dont vous avez besoin pour démarrer votre migration d'AWS S3 vers MinIO, y compris des étapes techniques concrètes et un cadre financier.
Si vous êtes enthousiasmé par la perspective de réaliser des économies sur les coûts de rapatriement, veuillez nous contacter à
Apparaît également ici .