Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un instantané est une copie en lecture seule d’un blob prise à un moment précis. Vous n’avez pas besoin d’activer la fonction de snapshots de blob. À la place, créez des instantanés à la demande en utilisant l’opération Snapshot Blob . Pour plus d’informations, voir Opération d’instantané d’objet blob. Vous pouvez automatiser la création d’instantanés en utilisant des scripts personnalisés pour capturer des copies instantanées des blobs selon une planification ou avant ou après des opérations spécifiques.
Configuration recommandée de la protection des données
Les instantanés de blob sont l’une des nombreuses fonctionnalités de protection des données. Le choix de la bonne fonctionnalité ou combinaison dépend de votre charge de travail et de ce contre quoi vous vous protégez. Pour en savoir plus sur les recommandations de Microsoft en matière de protection des données, consultez Aperçu de la protection des données.
Instantanés et versions
Un instantané est similaire à une version blob, mais les deux diffèrent par leur mode de création et leurs cas d’usage les plus adaptés. Un instantané est manuel et piloté par l’application : vous créez explicitement une copie à un instant donné lorsque votre application juge qu’un instantané est nécessaire. Une version est automatique et gérée par le système : stockage Azure crée une nouvelle version à chaque écriture ou suppression lorsque le contrôle de version des objets blob est activé, sans logique d’application.
Utilisez le versionnement lorsque vous souhaitez une protection automatique et continue contre les écrasements et suppressions accidentels ou malveillants. Utilisez des instantanés lorsque vous souhaitez des copies délibérées à un instant donné, comme un point de contrôle connu avant une mise à jour prévue, plutôt qu’une capture de chaque changement.
Remarque
Bien que vous puissiez reproduire approximativement le comportement de contrôle de version en utilisant des instantanés, Microsoft recommande le contrôle de version des objets blob pour la protection automatique contre le remplacement et la suppression sur les comptes FNS. Les instantanés sont mieux adaptés à des captures délibérées et au moment précis plutôt qu’à une protection qui capture chaque changement. Pour plus d’informations, voir Blob versioning.
Comment fonctionnent les instantanés
Un instantané d’un blob est identique à son blob de base, sauf que l’URI du blob a une valeur DateTime ajoutée à l’URI du blob pour indiquer le moment où l’instantané a été pris. Par exemple, si l’URI de l’objet blob de pages est http://storagesample.core.blob.windows.net/mydrives/myvhd, l’URI de l’instantané est du type http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.
Lorsque vous créez un instantané d’un objet blob, les propriétés système de l’objet blob sont copiées dans l’instantané avec les mêmes valeurs. Les métadonnées de l’objet blob de base sont également copiées dans l’instantané, sauf si vous spécifiez des métadonnées distinctes pour l’instantané lorsque vous le créez. Après avoir créé un instantané, vous pouvez le lire, le copier ou le supprimer, mais vous ne pouvez pas le modifier. Aucun bail associé à l’objet blob de base n’a d’incidence sur l’instantané. Vous ne pouvez pas acquérir de bail pour un instantané.
Un objet blob peut avoir plusieurs instantanés. Les instantanés persistent jusqu’à ce que vous les supprimiez explicitement, soit indépendamment, soit dans le cadre d’une opération de suppression du blob de base. Vous pouvez créer un instantané d’un blob dans le niveau chaud, froid ou sporadique. On ne peut pas créer un instantané d’un blob archivé.
Important
Avoir un grand nombre d’instantanés par blob peut augmenter la latence pour les opérations de listage de blob. Microsoft recommande de maintenir moins de 1 000 instantanés par blob. Vous pouvez utiliser la gestion du cycle de vie pour supprimer automatiquement les anciens instantanés. Pour plus d’informations sur la gestion du cycle de vie, voir Optimiser les coûts en automatisant les niveaux d’accès Stockage Blob Azure.
Les instantanés sont particulièrement utiles pour les types et opérations de blob qui ne sont pas capturés par le versionnage de blob. Parce que certaines opérations d’écriture, telles que Put Page (blobs de page) et Append Block (blobs d’ajout), ne créent pas de versions de blob même lorsque le contrôle de version est activé, les instantanés offrent un moyen de capturer l’état instantané d’un blob lors de l’utilisation de ces API. Par exemple, un fichier VHD stocke les informations et le statut actuels d’un disque VM. Vous pouvez détacher un disque de la VM ou l’éteindre, prendre un instantané de son fichier VHD, puis utiliser ce snapshot pour récupérer le fichier VHD à ce moment-là et recréer la VM.
Le diagramme suivant montre comment les instantanés sont créés, et comment un instantané peut être promu en tant que blob courant :
Gérer et restaurer les instantanés
Vous pouvez créer, lister et supprimer des instantanés. Vous pouvez aussi utiliser un instantané pour restaurer un blob de base à un état antérieur. Les sections suivantes décrivent chaque opération ainsi que les outils correspondants.
Restaurer un blob à partir d’un instantané
Comme vous ne pouvez pas modifier un instantané, vous restaurez un blob de base en copiant un instantané par-dessus. Appelez l’opération Copy Blob et spécifiez l’URI de l’instantané comme source de copie. Ce processus promeut l’état de l’instantané pour qu’il devienne le blob de base courant, tout en préservant les instantanés existants du blob.
Répertorier les instantanés
Vous pouvez énumérer les instantanés associés au blob de base pour suivre vos instantanés actuels en utilisant l’opération List Blobs et en spécifiant la snapshots valeur dans le include paramètre. Par défaut, une requête de listage des blobs ne retourne pas d’instantanés. Réglez include=snapshots pour retourner tous les instantanés de chaque blob en même temps que le blob de base. Pour plus d’informations, voir Liste des blobs. Vous pouvez également utiliser stockage Azure Blob Inventory pour générer un rapport planifié des blobs dans votre compte, y compris leurs instantanés, en définissant le champ includeSnapshots sur true dans la définition de la règle d’inventaire. Pour plus d’informations, voir Blob Inventory.
Supprimer les instantanés
Vous devez supprimer explicitement un instantané. Pour supprimer un instantané individuel, appelez l’opération Delete Blob et spécifiez la valeur DateTime de l’instantané dans le paramètre de requête d’instantané.
Vous ne pouvez pas supprimer un blob de base tant qu’il a des instantanés actifs. Pour supprimer un blob de base et tous ses instantanés ensemble, appelez Delete Blob avec l’en-tête x-ms-delete-snapshots défini sur include. Pour supprimer uniquement les instantanés et conserver le blob de base, fixez l’en-tête sur only.
Gérer les instantanés avec des outils
Vous pouvez gérer les instantanés en utilisant le portail, Azure CLI et Azure PowerShell.
Pour créer un instantané d’un blob en utilisant le portail Azure, suivez ces étapes :
- Dans le Portail Azure, accédez à votre compte de stockage.
- Dans Stockage de données, trouvez l’option Conteneurs , puis sélectionnez le conteneur qui contient le blob.
- Sélectionnez le blob dont vous souhaitez créer un instantané.
- Dans l’onglet Aperçu du blob, sélectionnez Créer un instantané.
- Pour visualiser les instantanés du blob, sélectionnez l’onglet Instantanés . L’onglet liste chaque instantané ainsi que la date et l’heure de sa capture.
Prise en charge des fonctionnalités
Cette fonctionnalité n'est pas activée pour les comptes Data Lake Storage Gen2. De plus, le protocole Network File System (NFS) 3.0, ou le protocole SSH File Transfer Protocol (SFTP), peut impacter la prise en charge de cette fonctionnalité. Si vous activez l’une de ces fonctionnalités, consultez la prise en charge des fonctionnalités de Stockage Blob dans les comptes stockage Azure afin de vérifier si cette fonctionnalité est prise en charge. Considérez des mécanismes alternatifs. Parmi les exemples, on trouve Soft delete for blobs, AzCopy et Vaulted Backup.
Interactions entre les fonctionnalités
Gestion des versions
Lorsque vous activez la gestion des versions, les snapshots sont généralement redondants pour les blobs de blocs. Si vous activez à la fois le versionnement et les instantanés en même temps, prendre un instantané crée à la fois un instantané et une nouvelle version. Ce processus augmente le nombre d’objets stockés sans ajouter de protection. Pour plus d’informations, consultez Contrôle de version des objets blob.
Suppression temporaire
La suppression réversible s’applique aux instantanés : lorsque vous supprimez un instantané, il est marqué comme supprimé de manière réversible. Vous pouvez le restaurer pendant la période de rétention en utilisant Undelete Blob. De plus, la manière de créer et de facturer les instantanés varie selon que le versionnage est activé ou non. Lorsque la gestion des versions est désactivée, écraser un blob crée un instantané de suppression réversible. Lorsque le versionnement est activé, il crée une nouvelle version à la place. Si vous définissez explicitement le niveau d’accès sur un blob de base, vous payez la longueur complète du contenu pour tous les instantanés ou versions précédents du blob supprimé de manière réversible. Pour plus de détails sur ce comportement de facturation, voir la section Tarification et facturation. Pour plus d’informations sur la suppression douce, voir Suppression douce de blobs.
Réplication d’objets
On ne peut pas reproduire les instantanés. Seul le blob de base est répliqué. Pour plus d’informations, voir Réplication d’objets.
Gestion du cycle de vie
La gestion du cycle de vie peut cibler et supprimer les instantanés en utilisant le sous-type d’instantané dans les règles de politique. Pour plus d’informations, voir Gestion du cycle de vie.
Tarification et facturation
La création d'un instantané, qui est une copie en lecture seule d'un blob, peut entraîner des frais de stockage de données supplémentaires sur votre compte. Lors de la conception de votre application, soyez conscient de la manière dont ces charges peuvent s’accumuler afin de minimiser les coûts.
Les captures instantanées d’objets blob comme les versions d’objets blob sont facturées au même tarif que les données actives. La facturation des snapshots dépend du fait que vous définissez explicitement le tier pour le blob de base ou pour l’un de ses snapshots (ou versions). Pour plus d’informations sur les niveaux d’objets blob, consultez Niveaux d’accès aux données blob.
Si vous ne changez pas le niveau d’un blob ou d’un snapshot, vous êtes facturé pour des blocs de données uniques à travers ce blob, ses snapshots et toutes les versions qu’il pourrait avoir. Pour plus d’informations, consultez Facturation lorsque le niveau blob n’a pas été explicitement défini.
Si vous modifiez le niveau d’un objet blob ou d’un instantané, vous êtes facturé pour l’intégralité de l’objet, que l’objet blob et l’instantané se retrouvent ou non dans le même niveau. Pour plus d’informations, consultez Facturation quand le niveau de l’objet blob a été défini explicitement.
Pour les comptes de stockage qui tirent parti du niveau intelligent, les versions et les captures instantanées sont facturés à la longueur complète du contenu. Pour plus d’informations, consultez Optimiser les coûts avec le niveau intelligent.
Pour plus d’informations sur les détails de facturation des versions d’objets blob, consultez Contrôle de version d’objets blob.
Réduire les coûts grâce à la gestion des captures instantanées
Pour éviter des frais supplémentaires, gérez vos instantanés avec soin. Suivez ces meilleures pratiques pour minimiser les coûts liés au stockage de vos instantanés :
- Supprimez et recréez les instantanés associés à un objet blob chaque fois que vous mettez à jour l'objet blob, même si vous effectuez une mise à jour avec des données identiques, à moins que la conception de votre application n'exige que vous conserviez des instantanés. En supprimant et en recréant les instantanés du blob, vous vous assurez que le blob et les snapshots ne divergent pas.
- Si vous conservez des instantanés pour un objet blob, évitez d’appeler des méthodes qui écrasent l’intégralité de l’objet blob lorsque vous mettez à jour l’objet blob. À la place, mettez à jour le plus petit nombre possible de blocs pour maintenir les coûts bas.
Facturation lorsque vous ne définissez pas explicitement le niveau de l’objet blob
Si vous ne définissez pas explicitement le niveau de blob pour un blob de base ou l’un de ses instantanés, vous payez pour des blocs ou pages uniques à travers le blob, ses snapshots, et toutes les versions qu’il pourrait avoir. Vous payez une seule fois pour les données que partagent un blob et ses instantanés. Lorsque vous mettez à jour un blob, les données dans un blob de base divergent de celles stockées dans ses instantanés, et vous payez pour des données uniques par bloc ou page.
Lorsque vous remplacez un bloc dans un blob de blocs, vous payez ensuite ce bloc en tant que bloc unique. Cette règle s’applique même si le bloc a le même identifiant de bloc et les mêmes données que dans l’instantané. Après avoir validé à nouveau le bloc, il diverge de son homologue dans l’instantané, et vous payez pour ses données. La même règle s’applique à une page dans un blob de pages qui est mise à jour avec des données identiques.
Le stockage en blob n’a pas de moyen de déterminer si deux blocs contiennent des données identiques. Chaque bloc que vous téléchargez et commoutez est traité comme unique, même s’il a les mêmes données et le même identifiant de bloc. Comme vous payez pour des blocs uniques, rappelez-vous que mettre à jour un blob lorsque ce blob a des snapshots ou des versions entraîne des blocs uniques supplémentaires et des frais supplémentaires.
Lorsqu’un objet blob a des captures instantanées, appelez des opérations de mise à jour des objets blob de blocs de façon à ce qu’elles mettent à jour le plus petit nombre possible de blocs. Les opérations d’écriture qui permettent un contrôle plus précis des blocs sont Put Block et Put Block List. L’opération Put Blob , en revanche, remplace l’intégralité du contenu d’un blob et peut donc entraîner des charges supplémentaires.
Les scénarios suivants montrent comment les frais s’accumulent pour un blob de blocs et ses instantanés lorsque vous ne définissez pas explicitement le niveau du blob.
Scénario 1
Dans le scénario 1, l’objet blob de base n’a pas été mis à jour après la prise de l’instantané. Des frais sont donc facturés uniquement pour les blocs uniques 1, 2 et 3.
Scénario 2
Dans le scénario 2, l’objet blob de base a été mis à jour, mais pas l’instantané. Le bloc 3 a été mis à jour et même s'il contient les mêmes données et le même identifiant, ce n'est pas la même chose que le bloc 3 dans l'instantané. Par conséquent, des frais pour quatre blocs sont facturés au compte.
Scénario 3
Dans le scénario 3, l’objet blob de base a été mis à jour, mais pas l’instantané. Le bloc 3 a été remplacé par le bloc 4 dans l’objet blob de base, mais l’instantané reflète toujours le bloc 3. Par conséquent, des frais pour quatre blocs sont facturés au compte.
Scénario 4
Dans le scénario 4, l'objet blob de base a été complètement mis à jour et ne contient aucun de ses blocs d'origine. Par conséquent, des frais pour les huit blocs uniques sont facturés au compte.
Conseil
Pour maintenir les coûts bas, évitez d’appeler des méthodes qui écrasent tout le blob. À la place, mettez à jour les blocs individuels.
Facturation lors de la définition explicite du niveau du blob
Si vous définissez explicitement le niveau de blob pour un blob, un instantané ou une version, vous payez pour la longueur totale du contenu de l’objet dans le nouveau tier, qu’il partage ou non des blocs avec un objet du tier d’origine. Vous payez aussi pour la longueur complète du contenu de la version la plus ancienne du palier original. Vous payez pour des blocs uniques dans toutes les versions ou snapshots qui restent dans le tier d’origine, comme décrit dans la facturation lorsque le tier blob n’est pas explicitement défini.
Déplacement d’un objet blob vers un nouveau niveau
Le tableau suivant décrit le comportement de facturation d’un blob ou d’un instantané lorsque vous le déplacez vers un nouveau niveau.
| Quand vous définissez explicitement le niveau blob sur... | Nous vous facturons... |
|---|---|
| Un objet blob de base avec une capture instantanée | L’objet blob de base dans le nouveau niveau et la capture instantanée la plus ancienne dans le niveau d’origine, ainsi que tous les blocs uniques dans d’autres captures instantanées.1 |
| Un objet blob de base avec une version précédente et une capture instantanée | Le blob de base dans le nouveau niveau, la version la plus ancienne dans le niveau d’origine, et le plus ancien instantané dans le niveau d’origine, plus les blocs uniques dans d’autres versions ou instantanés.1 |
| Une capture instantanée | La capture instantanée dans le nouveau niveau et l’objet blob de base dans le niveau d’origine, ainsi que tous les blocs uniques dans d’autres captures instantanées.1 |
1 S’il existe d’autres versions ou snapshots précédents que vous n’avez pas déplacés de leur tier d’origine, vous payez en fonction du nombre de blocs uniques qu’ils contiennent, comme décrit dans la facturation lorsque le tier blob n’est pas explicitement défini.
Le schéma suivant illustre comment les objets sont facturés lorsque vous déplacez un blob avec des instantanés vers un autre niveau.
Vous ne pouvez pas annuler explicitement la définition du niveau pour un blob, une version ou un instantané. Si vous déplacez un blob vers un nouveau niveau puis le remettez à son niveau d’origine, vous payez pour la longueur totale du contenu de l’objet même s’il partage des blocs avec d’autres objets du palier d’origine.
Les opérations qui définissent explicitement le niveau d’un objet blob, d’une version ou d’une capture instantanée sont les suivantes :
Placer l’objet blob avec le niveau spécifié
Placer la liste de blocs avec le niveau spécifié
Copier l’objet blob avec le niveau spécifié
Suppression d’un objet blob quand la suppression réversible est activée
Lorsque la suppression réversible du blob est activée, si vous supprimez ou écrasez un blob de base pour lequel vous avez explicitement défini le niveau d’accès, vous payez pour la longueur totale du contenu de toutes les versions précédentes ou des instantanés du blob supprimé de manière réversible. Pour plus d’informations sur la façon dont la version des blobs et la suppression douce fonctionnent ensemble, voir Interactions de fonctionnalités.
Le tableau suivant décrit le comportement de facturation d’un objet blob supprimé de manière réversible, selon que le contrôle de version est activé ou désactivé. Quand le contrôle de version est activé, une nouvelle version est créée lors de la suppression d’un objet blob de manière réversible. Quand le contrôle de version est désactivé, la suppression réversible d’un objet blob crée une capture instantanée de suppression réversible.
| Quand vous remplacez un blob de base par son niveau explicitement défini… | Nous vous facturons... |
|---|---|
| Si la suppression réversible et le contrôle de version d’objet blob sont tous deux activés | Toutes les versions existantes pour la longueur totale du contenu, quel que soit le niveau. |
| Si la suppression réversible d’objet blob est activée alors que le contrôle de version est désactivé | Tous les captures instantanées de suppression réversible existantes pour la longueur totale du contenu, quel que soit le niveau. |
Limitations connues
Vous ne pouvez pas créer d’instantanés pour les blobs dans le niveau d’accès à l’archive.
La fonctionnalité de snapshot pour les comptes lac de données Gen2 n’accepte plus de nouveaux clients. Utilisez plutôt la suppression réversible des objets blob, AzCopy ou Vaulted Backup.
Vous ne pouvez pas supprimer un blob tant qu’il a des instantanés actifs, à moins d’inclure
x-ms-delete-snapshotsdans l’appel de suppression.La réplication d’objets ne duplique pas les instantanés.
Vous ne pouvez pas modifier les instantanés après la création.
Vous ne pouvez pas acquérir de bail pour un instantané.
Surveillance et dépannage
Je ne peux pas supprimer mon blob de base : le blob a des snapshots actifs. Utilisez Delete Blob avec
x-ms-delete-snapshots: includepour supprimer les deux simultanément.Mon instantané a disparu après avoir supprimé le blob de base : supprimer le blob de base supprime définitivement les instantanés sauf si la suppression douce du blob est activée. Activez la suppression réversible pour vous protéger contre la suppression accidentelle.
Mes coûts d’instantanés sont plus élevés que prévu : si vous changez explicitement le niveau d’accès du blob, vous payez pour la longueur complète du contenu plutôt que pour les blocs uniques seulement. Évitez les changements explicites de niveau sur les blobs avec instantanés actifs autant que possible.
Visualisation et inventaire des instantanés : Dans le portail, les instantanés apparaissent sous le blob du Navigateur de stockage lorsque Afficher les instantanés de blob est activé. Pour inventorier le nombre d’instantanés et l’utilisation du stockage sur un compte, utilisez stockage Azure Blob Inventory et la métrique BlobCapacity dans Azure Monitor.