Ce document du framework d'architecture Google Cloud décrit les bonnes pratiques à adopter pour déployer votre système en fonction de l'espace de stockage nécessaire. Apprenez à choisir une stratégie de stockage et à gérer le stockage, les modèles d'accès et les charges de travail.
Pour faciliter l'échange de données, ainsi que la sauvegarde et le stockage sécurisés des données, les organisations doivent choisir un plan de stockage basé sur la charge de travail, le nombre d'opérations d'entrée/sortie par seconde (IOPS), la latence, la fréquence de récupération, l'emplacement, la capacité et le format (bloc, fichier et objet).
Cloud Storage fournit des services de stockage d'objets fiables et sécurisés qui incluent les éléments suivants :
- Des options de redondance intégrées pour protéger vos données contre les pannes matérielles et en garantir la disponibilité lors de la maintenance de centre de données.
- Des options de transfert de données incluant celles ci-dessous :
- Des classes de stockage compatibles avec vos charges de travail.
- Des sommes de contrôle calculées pour toutes les opérations Cloud Storage qui permettent à Google de vérifier les lectures et les écritures.
Dans Google Cloud, les IOPS évoluent en fonction de votre espace de stockage provisionné. Les types d'espaces de stockage tels que Persistent Disk nécessitent une réplication et une sauvegarde manuelles, car ils sont zonaux ou régionaux. En revanche, le stockage d'objets est hautement disponible et réplique automatiquement les données dans une ou plusieurs régions.
Type de stockage
Cette section présente les bonnes pratiques pour choisir un type de stockage adapté à votre système.
Évaluer les options en matière de besoins de stockage hautes performances
Évaluez les disques persistants ou les disques durs SSD locaux pour les applications de calcul nécessitant un stockage hautes performances. Cloud Storage est un magasin d'objets immuable avec gestion des versions. L'utilisation de Cloud Storage avec Cloud CDN permet d'optimiser les coûts, en particulier pour les objets statiques fréquemment consultés.
Filestore accepte les applications multiécriture qui nécessitent un espace partagé hautes performances. Filestore est également compatible avec les applications anciennes et modernes qui doivent effectuer des opérations de fichiers de type POSIX via des montages Network File System (NFS).
Cloud Storage est compatible avec des cas d'utilisation tels que la création de lacs de données et le traitement des exigences d'archivage. Pour votre choix de classe Cloud Storage, il est important de faire un compromis en fonction des coûts d'accès et de récupération, en particulier lorsque vous configurez des règles de conservation. Pour en savoir plus, consultez la page Concevoir une stratégie de stockage optimale pour votre charge de travail cloud.
Par défaut, toutes les options de stockage sont chiffrées au repos et en transit à l'aide de clés gérées par Google. Pour les types de stockage tels que Persistent Disk et Cloud Storage, vous pouvez fournir votre propre clé ou gérer les clés dans Cloud Key Management Service (Cloud KMS). Pensez bien à élaborer une stratégie de gestion des clés avant d'utiliser ces solutions sur les données de production.
Choisir les services Google Cloud adaptés pour prendre en charge la conception du stockage
Pour en savoir plus sur les services Google Cloud compatibles avec la conception du stockage, consultez le tableau suivant :
Service Google Cloud | Description |
---|---|
Cloud Storage | Permet de stocker et de récupérer autant de données que vous le souhaitez, à tout moment et à l'échelle mondiale.
Cloud Storage est un outil polyvalent, qui permet par exemple de diffuser le contenu d'un site Web, d'archiver des données ou encore d'assurer la reprise après sinistre. Vous pouvez également vous en servir pour distribuer des objets de données volumineux à vos utilisateurs par téléchargement direct. Pour en savoir plus, consultez les ressources suivantes : |
Persistent Disk | Un service de stockage de blocs à hautes performances pour Google Cloud. Persistent Disk fournit un espace de stockage SSD et HDD que vous pouvez associer à des instances exécutées dans Compute Engine ou Google Kubernetes Engine (GKE).
|
Filestore | Un service géré de stockage de fichiers destiné aux applications qui requièrent une interface de système de fichiers ainsi qu'un système de fichiers partagé pour les données. Filestore fournit aux utilisateurs une expérience fluide pour mettre en place un stockage réseau (NAS) géré avec leurs instances Compute Engine et GKE. |
Cloud Storage for Firebase | Conçu pour les développeurs d'applications qui doivent stocker et diffuser du contenu généré par les utilisateurs, comme des photos ou des vidéos. Tous vos fichiers sont stockés dans des buckets Cloud Storage et sont donc accessibles depuis Firebase et Google Cloud. |
Choisir une stratégie de stockage
Pour choisir une stratégie de stockage répondant aux exigences de votre application, utilisez le tableau suivant :
Cas d'utilisation | Recommandations |
---|---|
Vous souhaitez stocker des données à grande échelle au prix le plus bas, et les performances d'accès ne sont pas un problème. | Cloud Storage |
Vous exécutez des applications de calcul qui nécessitent un stockage immédiat. Pour en savoir plus, consultez la page Optimiser les performances des disques persistants et des disques SSD locaux. |
Persistent Disk ou SSD local |
Vous exécutez des charges de travail hautes performances qui nécessitent un accès en lecture et en écriture à un espace partagé. | Filestore |
Vous avez un ou plusieurs cas d'utilisation de calcul hautes performances (HPC) ou à haut débit (HTC). | Utiliser des clusters pour les calculs techniques à grande échelle dans le cloud |
Choisir le stockage actif ou le stockage d'archives en fonction des besoins d'accès
Une classe de stockage est un élément de métadonnées utilisé par chaque objet. Pour les données diffusées à un débit élevé avec une haute disponibilité, utilisez la classe Stockage standard. Pour les données rarement consultées et tolérant une disponibilité légèrement inférieure, utilisez la classe Stockage Nearline, Stockage Coldline ou Stockage Archive. Pour en savoir plus sur les coûts liés au choix d'une classe de stockage, consultez la section Tarifs de Cloud Storage.
Évaluer les besoins en termes d'emplacement de stockage et de protection des données pour Cloud Storage
Pour un bucket Cloud Storage situé dans une région, les données qu'il contient sont automatiquement répliquées sur toutes les zones de la région. La réplication des données sur plusieurs zones protège les données en cas de défaillance d'une zone dans une région.
Cloud Storage propose également des emplacements redondants entre les régions, ce qui signifie que les données sont répliquées dans plusieurs centres de données distincts géographiquement. Pour en savoir plus, consultez la page Emplacement des buckets.
Utiliser Cloud CDN pour améliorer la diffusion d'objets statiques
Pour optimiser le coût de récupération des objets et minimiser la latence d'accès, utilisez Cloud CDN. Cloud CDN utilise l'équilibreur de charge d'application externe Cloud Load Balancing pour assurer le routage, la vérification d'état et la compatibilité avec les adresses IP Anycast. Pour plus d'informations, consultez la page Configurer Cloud CDN avec des buckets Cloud.
Modèle d'accès au stockage et type de charge de travail
Cette section présente les bonnes pratiques pour choisir des modèles d'accès au stockage et des types de charges de travail adaptés à votre système.
Utiliser Persistent Disk pour bénéficier d'un accès au stockage hautes performances
Les modèles d'accès aux données dépendent de la manière dont vous concevez les performances du système. Cloud Storage fournit un stockage évolutif, mais ce n'est pas un choix idéal pour exécuter des charges de travail de calcul lourdes qui nécessitent un accès à haut débit à de grandes quantités de données. Pour un accès au stockage à hautes performances, utilisez Persistent Disk.
Utiliser un intervalle exponentiel entre les tentatives lors de la mise en œuvre d'une logique de nouvelle tentative
Utilisez un intervalle exponentiel entre les tentatives lors de la mise en œuvre d'une logique de nouvelle tentative pour gérer les erreurs 5XX, 408 et 429. Chaque bucket Cloud Storage est provisionné avec une capacité d'E/S initiale. Pour en savoir plus, consultez la page Consignes relatives aux taux de demandes et à la distribution des accès. Planifiez une augmentation progressive des requêtes de nouvelle tentative.
Gestion de l'espace de stockage
Cette section présente les bonnes pratiques en matière de gestion du stockage pour optimiser votre système.
Attribuer des noms uniques à chaque bucket
Attribuez un nom unique à chaque bucket sur l'ensemble de l'espace de noms Cloud Storage. N'incluez jamais d'informations sensibles dans un nom de bucket. Choisissez des noms de buckets et d'objets difficiles à deviner. Pour en savoir plus, consultez les consignes de dénomination des buckets et les consignes de dénomination des objets.
Préserver la confidentialité des buckets Cloud Storage
Sauf raison commerciale pertinente, assurez-vous que votre bucket Cloud Storage n'est pas accessible de manière anonyme ou publiquement. Pour en savoir plus, consultez la page Présentation du contrôle des accès.
Attribuer des noms d'objet aléatoires pour répartir la charge uniformément
Attribuez des noms d'objet aléatoires pour optimiser les performances et éviter le hotspotting. Dans la mesure du possible, utilisez un préfixe aléatoire pour les objets. Pour plus d'informations, consultez la section Utiliser une convention de dénomination qui répartit la charge uniformément entre les plages de clés.
Utiliser la protection contre l'accès public
Pour empêcher l'accès au niveau de l'organisation, du dossier, du projet ou du bucket, utilisez la protection contre l'accès public. Pour en savoir plus, consultez la page Utiliser la protection contre l'accès public.
Étape suivante
Découvrez les services de base de données Google Cloud et les bonnes pratiques associées :
- Choisir et migrer vos bases de données.
- Gérer le chiffrement des bases de données.
- Gérer la mise en réseau et l'accès aux bases de données.
Découvrez d'autres catégories du framework d'architecture telles que la fiabilité, l'excellence opérationnelle, la sécurité, la confidentialité et la conformité.