Remarques relatives au cloud privé virtuel lors de l'utilisation d'images personnalisées dans un catalogue privé

Si vous prévoyez de partager ou de publier une image personnalisée dans d'autres comptes de votre entreprise, vous devez créer un catalogue privé. Un catalogue privé vous permet de gérer l'accès aux produits pour plusieurs comptes, à condition que ces comptes appartiennent à la même entreprise. Vous pouvez partager n'importe quelle image personnalisée existante du serveur virtuel x86 avec un catalogue privé, à l'exception des images cryptées.

Dans la console, vous pouvez trouver des images personnalisées dans un catalogue privé en cliquant sur l'icône Menu de navigation. Icône de menu> Infrastructure Icône VPC> Calcul > Images > Images du catalogue

Pour plus d'informations sur les catalogues privés, voir le tutoriel Intégration d'une image de serveur virtuel pour VPC.

Les images personnalisées peuvent également être publiées dans le catalogue IBM Cloud® et dans d'autres comptes (non professionnels). Ce processus nécessite l'intégration à IBM Cloud® Partner Center.

Prérequis et limitations

Avant de pouvoir importer une image personnalisée dans un catalogue privé, vous devez effectuer les opérations suivantes.

  • Création d'un catalogue privé
  • Créez et importez l'image personnalisée dans IBM Cloud VPC

Les images personnalisées d'un catalogue privé sont soumises aux restrictions suivantes:

  • Doit être une image x86
  • Impossible de chiffrer
  • Ne peut pas être utilisé avec un profil bare metal
  • Peut exister dans une seule version d'une offre de produit de catalogue dans un catalogue privé à la fois
  • Doit être à l'état available

Utilisation de références d'images inter-comptes dans un catalogue privé dans la console

Les instances que vous mettez à disposition appartiennent à votre compte. Les images partagées sur votre compte via un catalogue privé peuvent appartenir à d'autres comptes. Lorsque vous mettez à disposition une instance à partir d'une image appartenant à un autre compte ou à partir d'un modèle d'instance qui spécifie une telle image, l'image appartient toujours à l'autre compte même si l'instance appartient à votre compte. Une référence à une telle image peut exister dans les détails de l'instance et des ressources associées. Par exemple, des détails sur son volume d'amorçage et toute image instantanée créée à partir de ce volume d'amorçage peuvent faire référence à cette image. Quelles que soient vos autorisations, vous ne pouvez pas accéder à l'image référencée par son ID ou son CRN et les tentatives échouent comme si l'image n'existait pas.

En outre, il est possible que l'image référencée ait le même nom qu'une image personnalisée dans votre compte. Mais ces noms d'image sont pour deux images différentes dans deux comptes différents. L'ID et le CRN identifient chacun de manière unique une image dans IBM Cloud®. Pour éviter une éventuelle extraction ou utilisation de la mauvaise image, lorsque vous coupez et collez l'identité d'une image en dehors de l'interface utilisateur, utilisez son ID ou son CRN, plutôt que son nom.

Utilisation de références d'image inter-comptes dans un catalogue privé dans l'interface de ligne de commande

Les instances que vous mettez à disposition appartiennent à votre compte. Les images partagées sur votre compte via un catalogue privé peuvent appartenir à d'autres comptes. Lorsque vous mettez à disposition une instance à partir d'une image appartenant à un autre compte ou à partir d'un modèle d'instance qui spécifie une telle image, l'image appartient toujours à l'autre compte même si l'instance appartient à votre compte. Une référence à une telle image peut exister dans les détails de l'instance et des ressources associées. Par exemple, des détails sur son volume d'amorçage et toute image instantanée créée à partir de ce volume d'amorçage peuvent faire référence à cette image. Quelles que soient vos autorisations, vous ne pouvez pas accéder à ce type d'image personnalisée par son ID et les tentatives échouent comme si l'image n'existait pas.

Les références d'image sont utilisées à différents endroits dans l'interface de ligne de commande. Par exemple, si vous utilisez la commande ibmcloud is instance pour extraire des données d'instance, vous voyez ce qui suit dans la sortie.

Image                                 ID                                          Name
                                      r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999   test-image

Si vous tentez d'extraire des informations sur cette image à l'aide de son ID,

ibmcloud is image r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999

Cette tentative échoue avec une erreur telle que l'exemple suivant:

FAILED
Response HTTP Status Code: 404
Error code: not_found
Error message: The requested resource does not exist, or cannot be accessed.
Error target name: id, type: parameter
Trace ID: d8b4d382-2993-4a89-a371-1db991b510d8

Cette erreur signifie que l'image n'existe pas dans votre compte. Si l'instance a été mise à disposition à l'aide d'une image de catalogue partagée dans un autre compte, cette sortie est celle que vous voyez toujours même si l'image existe dans le compte propriétaire.

En outre, il est possible que l'image référencée ait le même nom qu'une image personnalisée dans votre compte. Mais ces noms d'image sont pour deux images différentes dans deux comptes différents. Alors que l'interface de ligne de commande utilise à la fois l'ID et le nom pour identifier une image, seul l'ID identifie de manière unique une image dans IBM Cloud®.

Vérifiez que l'automatisation basée sur l'interface de ligne de commande gère correctement les échecs de recherche de références d'image et ne partez pas du principe que des images inaccessibles ont été supprimées, même si elles s'exécutent avec un accès complet à vos images. Pour éviter une éventuelle extraction ou utilisation d'une image incorrecte par Nom, indiquez l'ID image à la place.

Utilisation de références d'image inter-comptes dans un catalogue privé dans l'API

Les instances que vous mettez à disposition appartiennent à votre compte. Les images qui sont partagées sur votre compte via un catalogue privé peuvent appartenir à d'autres comptes. Lorsque vous mettez à disposition une instance à partir d'une image appartenant à un autre compte ou à partir d'un modèle d'instance qui spécifie une telle image, l'image appartient toujours à l'autre compte même si l'instance appartient à votre compte. Une référence à une telle image peut exister dans les détails de l'instance et des ressources associées. Par exemple, les détails relatifs à son volume d'amorçage et à tout instantané créé à partir de ce volume d'amorçage peuvent faire référence à cette image. Quelles que soient vos autorisations, vous ne pouvez pas accéder à une telle image par ses id, crn ou href et les tentatives échouent comme si l'image n'existait pas.

Dans l'API, une référence d'image apparaît dans des emplacements tels que les propriétés image des schémas de réponse Instance et BareMetalServerInitialization et dans les propriétés source_image des schémas de réponse Volume et Snapshot. L'exemple suivant utilise l'extraction des données d'instance pour illustrer comment cette erreur peut se produire.

curl -X GET "$vpc_api_endpoint/v1/instances/r006-44905aa4-119d-5622-00ce-face32b78999?version=2022-09-06&generation=2" -H "Authorization: Bearer $iam_token" | jq -r '(.image)'

L'exemple utilise jq comme analyseur syntaxique, un outil tiers sous licence MIT. Certains systèmes d'exploitation ne l'incluent pas par jq défaut. Installez-le avant jq utilisation ou remplacez-le par un autre analyseur JSON.

Lorsque vous exécutez cette commande, la sortie suivante s'affiche.

{
  "crn": "crn:v1:bluemix:public:is:us-south:a/123456::image:r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999",
  "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999",
  "id": "r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999",
  "name": "test-image"
}

Si vous tentez d'extraire des informations sur cette image à l'aide de son id,

curl -X GET "$vpc_api_endpoint/v1/images/r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999?version=2022-09-06&generation=2" -H "Authorization: Bearer $iam_token"

cette tentative échoue avec le code d'état HTTP 404 (non trouvé). Ce code de statut signifie que l'image n'existe pas dans votre compte. Si l'instance a été mise à disposition à l'aide d'une image de catalogue partagée dans un autre compte, cette réponse est celle que vous obtenez toujours même si l'image existe toujours dans le compte propriétaire.

En outre, il est possible que l'image référencée ait le même nom qu'une image personnalisée dans votre compte. Mais ces noms d'image sont pour deux images différentes dans deux comptes différents. Les id, crn et href identifient chacune de manière unique une image dans IBM Cloud®.

Vérifiez que vos clients gèrent correctement les échecs de recherche de références d'image et ne supposez pas que des images inaccessibles ont été supprimées, même lorsqu'elles s'exécutent avec un accès complet à vos images. Pour éviter une éventuelle extraction ou utilisation de la mauvaise image par name, spécifiez l'image id, crn ou href à la place.

Utilisation de références d'image inter-comptes dans un catalogue privé dans Terraform

Les instances que vous mettez à disposition appartiennent à votre compte. Les images qui sont partagées sur votre compte via un catalogue privé peuvent appartenir à d'autres comptes. Lorsque vous mettez à disposition une instance à partir d'une image appartenant à un autre compte ou à partir d'un modèle d'instance qui spécifie une telle image, l'image appartient toujours à l'autre compte même si l'instance appartient à votre compte. Une référence à une telle image peut exister dans les détails de l'instance et des ressources associées. Par exemple, des détails sur son volume d'amorçage et toute image instantanée créée à partir de ce volume d'amorçage peuvent faire référence à cette image. Quelles que soient vos autorisations, vous ne pouvez pas accéder à ce type d'image personnalisée par son ID et les tentatives échouent comme si l'image n'existait pas.

Les références d'image sont utilisées à quelques endroits différents dans le terraform. Par exemple, si vous utilisez la source de données d'instance pour extraire des données d'instance, vous pouvez voir ce qui suit dans la réponse de la source de données.

"image": "r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990"

Si vous tentez d'extraire des informations sur cette image à l'aide de sa source de données,

data "ibm_is_image" "example" {
  identifier = "r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990"
}

Cette tentative échoue avec une erreur telle que l'exemple suivant:

Error: [ERROR] No image found with id  r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990

Cette erreur signifie que l'image n'existe pas dans votre compte. Si l'instance a été mise à disposition à l'aide d'une image de catalogue partagée dans un autre compte, cette sortie est celle que vous voyez toujours même si l'image existe toujours dans le compte propriétaire.

En outre, il est possible que l'image référencée ait le même nom qu'une image personnalisée dans votre compte. Mais ces noms d'image sont pour deux images différentes dans deux comptes différents. Alors que le terraform utilise à la fois l'ID ou le nom pour identifier une image, seul l'ID identifie de manière unique une image dans IBM Cloud®. Pour éviter une éventuelle extraction ou utilisation d'une image incorrecte par son nom, indiquez l'ID de l'image à la place. Pour plus d'informations, voir Source de données d'image.

Suppression d'une image personnalisée dans un catalogue privé

Une image personnalisée ne peut pas être supprimée, réutilisée pour une version différente ou réutilisée pour une offre de produit différente alors que cette image personnalisée est gérée à partir d'un catalogue privé.

La suppression du catalogue privé qui contient des offres de produits directement ne supprime pas les offres immédiatement. Les images personnalisées qui sont gérées par le catalogue privé continuent d'être gérées par le catalogue pendant 7 jours après la date à laquelle vous avez supprimé le catalogue privé.

Si vous souhaitez réutiliser ou supprimer immédiatement l'image personnalisée, veillez à supprimer d'abord cette image personnalisée de la version associée dans l'offre de produit de catalogue privé ou à supprimer l'offre de produit.

Pour supprimer une image personnalisée publiée ou partagée du catalogue privé, voir le tutoriel Dépréciation d'un produit privé. Pour supprimer l'intégralité du catalogue privé, voir le tutoriel Suppression d'un catalogue privé à l'aide de la console.

Groupes d'instances et catalogue privé

Vous pouvez utiliser une image personnalisée dans un catalogue privé pour créer un groupe d'instances. Toutefois, vous devez d'abord créer une règle de service à service dans globalcatalog-collection.instance.retrieve avant de pouvoir créer le groupe d'instances. Pour plus d'informations, voir Utilisation d'une image personnalisée dans un catalogue privé avec un groupe d'instances.

Les informations sur l'image personnalisée qui se trouve dans un catalogue privé utilisé pour la mise à disposition d'une instance ne sont pas conservées sur toutes les ressources IBM Cloud VPC. Les informations sur l'image personnalisée dans un catalogue privé ne sont pas disponibles sur Snapshot for VPC ou Image from Volume. Les informations du système d'exploitation, qui sont requises lorsque vous mettez à disposition un serveur virtuel, sont disponibles.

Importation de votre image personnalisée dans un catalogue privé

Une fois votre image personnalisée importée dans IBM Cloud VPC, vous pouvez l'importer dans un catalogue privé.