Considerações sobre VPC ao usar imagens customizadas em um catálogo privado
Se você planeja compartilhar ou publicar uma imagem customizada em outras contas dentro de sua empresa, será necessário criar um catálogo privado Um catálogo privado permite que você gerencie o acesso a produtos para várias contas, desde que essas contas pertençam à mesma empresa. Você pode compartilhar qualquer imagem personalizada existente do servidor virtual x86 com um catálogo privado, exceto imagens criptografadas.
No console, você pode encontrar imagens personalizadas em um catálogo privado clicando no ícone “ Menu de navegação ” > Infraestrutura
> Computação > Imagens > Catalogar imagens.
Para obter mais informações sobre catálogos privados, consulte o tutorial Integrando uma imagem de servidor virtual para o VPC
As imagens customizadas também podem ser publicadas no catálogo IBM Cloud® e em outras contas (não corporativas). Esse processo requer a migração para o IBM Cloud® Partner Center.
Pré-requisitos e Limitações
Para que seja possível importar uma imagem customizada em um catálogo privado, os itens a seguir deverão ser concluídos
- Criar um catálogo privado
- Crie e importe a imagem customizada no IBM Cloud VPC
As imagens customizadas em um catálogo privado têm as restrições a seguir:
- Deve ser uma imagem x86
- Não pode ser criptografado
- Não pode ser usado com um perfil bare metal
- Pode existir em apenas uma versão de uma oferta de produto de catálogo em um catálogo privado por vez
- Deve estar no status
available
Uso de referências de imagem entre contas em um catálogo privado no console
As instâncias provisionadas pertencem à sua conta. Imagens compartilhadas em sua conta por meio de um catálogo privado podem pertencer a outras contas. Quando você provisiona uma instância de uma imagem que pertence a outra conta ou de um modelo de instância que especifica essa imagem, a imagem ainda pertence à outra conta, mesmo que a instância pertença à sua conta. Uma referência a essa imagem pode existir em detalhes da instância e dos recursos relacionados Por exemplo, os detalhes sobre seu volume de inicialização e qualquer captura instantânea criada a partir desse volume de inicialização podem fazer referência a essa imagem. Independentemente de suas autorizações, não é possível acessar a imagem referenciada por seu ID ou CRN e as tentativas falham como se a imagem não existisse.
Além disso, é possível que a imagem referida possa ter o mesmo nome que uma imagem customizada em sua conta. Mas esses nomes de imagem são para duas imagens diferentes em duas contas diferentes. Cada ID e CRN identifica exclusivamente uma imagem em IBM Cloud®. Para evitar possível recuperação ou uso da imagem errada, ao cortar e colar a identidade de uma imagem fora da UI, use seu ID ou CRN, em vez de seu nome.
Usando referências de imagem de conta cruzada em um catálogo privado na CLI
As instâncias provisionadas pertencem à sua conta. Imagens compartilhadas em sua conta por meio de um catálogo privado podem pertencer a outras contas. Quando você provisiona uma instância de uma imagem que pertence a outra conta ou de um modelo de instância que especifica essa imagem, a imagem ainda pertence à outra conta, mesmo que a instância pertença à sua conta. Uma referência a essa imagem pode existir em detalhes da instância e dos recursos relacionados Por exemplo, os detalhes sobre seu volume de inicialização e qualquer captura instantânea criada a partir desse volume de inicialização podem fazer referência a essa imagem. Independentemente de suas autorizações, não é possível acessar esse tipo de imagem customizada por seu ID e as tentativas falharão se a imagem não existir.
As referências de imagem são usadas em alguns locais diferentes na CLI. Por exemplo, se você usar o comando ibmcloud is instance para recuperar dados de instância, verá o seguinte na saída.
Image ID Name
r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999 test-image
Se você tentar recuperar informações sobre essa imagem usando seu ID,
ibmcloud is image r006-6cab2dbd-4e57-4dc5-810b-b7366cb78999
essa tentativa falha com um erro como o exemplo a seguir:
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
Esse erro significa que a imagem não existe em sua conta Se a instância foi provisionada usando uma imagem do catálogo compartilhado em outra conta, essa saída será a saída que você sempre verá, mesmo se a imagem existir na conta de propriedade
Além disso, é possível que a imagem referida possa ter o mesmo nome que uma imagem customizada em sua conta. Mas esses nomes de imagem são para duas imagens diferentes em duas contas diferentes. Enquanto a CLI usa ID e Nome para identificar uma imagem, somente o ID identifica exclusivamente uma imagem em IBM Cloud®.
Verifique se a automação baseada em CLI manipula as falhas de consulta de referência de imagem de forma normal e não suponha que as imagens inacessíveis foram excluídas, mesmo que elas sejam executadas com acesso total às imagens. Para evitar possível recuperação ou uso da imagem errada por Nome, especifique o ID da imagem em vez disso.
Usando referências de imagem de conta cruzada em um catálogo privado na API
As instâncias que você provisionar pertencem à sua conta Imagens que são compartilhadas com sua conta por meio de um catálogo privado podem pertencer a outras contas. Quando você provisiona uma instância de uma imagem que pertence a outra conta
ou de um modelo de instância que especifica essa imagem, a imagem ainda pertence à outra conta, mesmo que a instância pertença à sua conta. Uma referência a essa imagem pode existir em detalhes da instância e dos recursos relacionados Por
exemplo, detalhes sobre seu volume de inicialização e qualquer captura instantânea criada a partir desse volume de inicialização podem fazer referência a essa imagem. Independentemente de suas autorizações, não é possível acessar essa imagem
por seus id, crn ou href e as tentativas falharão como se a imagem não existisse
Na API, uma referência de imagem aparece em locais como as propriedades image dos esquemas de resposta Instance e BareMetalServerInitialization e nas propriedades source_image dos esquemas
de resposta Volume e Snapshot O exemplo a seguir usa a recuperação de dados de instância para ilustrar como esse erro pode ocorrer:
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)'
O exemplo usa jq como um analisador sintático, uma ferramenta de terceiros licenciada sob a Licença MIT. Alguns sistemas operacionais não incluem o jq por padrão. Instale o jq antes de usar ou substitua-o por outro analisador JSON.
Quando você executa esse comando, você vê a saída a seguir:
{
"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"
}
Se você tentar recuperar informações sobre essa imagem usando seu 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"
então essa tentativa falha com o código de status HTTP 404 (não encontrado). Esse código de status significa que a imagem não existe na sua conta. Se a instância foi provisionada usando uma imagem de catálogo compartilhada em outra conta, essa resposta será a resposta que você sempre obtém, mesmo se a imagem ainda existir na conta de propriedade.
Além disso, é possível que a imagem referida possa ter o mesmo nome que uma imagem customizada em sua conta. Mas esses nomes de imagem são para duas imagens diferentes em duas contas diferentes. Cada id, crn e href identifica exclusivamente uma imagem em IBM Cloud®.
Verifique se seus clientes manipulam falhas de consulta de referência de imagem normalmente e não assumem que imagens inacessíveis foram excluídas, mesmo quando elas são executadas com acesso total às suas imagens. Para evitar possível recuperação
ou uso da imagem errada por name, especifique a imagem id, crn ou href.
Usando referências de imagem de conta cruzada em um catálogo privado no Terraform
As instâncias que você provisionar pertencem à sua conta Imagens que são compartilhadas com sua conta por meio de um catálogo privado podem pertencer a outras contas. Quando você provisiona uma instância de uma imagem que pertence a outra conta ou de um modelo de instância que especifica essa imagem, a imagem ainda pertence à outra conta, mesmo que a instância pertença à sua conta. Uma referência a essa imagem pode existir em detalhes da instância e dos recursos relacionados Por exemplo, os detalhes sobre seu volume de inicialização e qualquer captura instantânea criada a partir desse volume de inicialização podem fazer referência a essa imagem. Independentemente de suas autorizações, não é possível acessar esse tipo de imagem customizada por seu ID e as tentativas falharão se a imagem não existir.
As referências de imagem são usadas em alguns locais diferentes no terraform Por exemplo, se você usar a origem de dados de instância para recuperar dados de instância, verá o seguinte dentro da resposta de origem de dados.
"image": "r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990"
Se você tentar recuperar informações sobre essa imagem usando sua origem de dados,
data "ibm_is_image" "example" {
identifier = "r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990"
}
essa tentativa falha com um erro como o exemplo a seguir:
Error: [ERROR] No image found with id r006-e0d3b6fb-5421-4421-9061-0ca9f79a4990
Esse erro significa que a imagem não existe em sua conta Se a instância foi provisionada usando uma imagem de catálogo compartilhada em outra conta, essa saída será a saída que você sempre verá, mesmo se a imagem ainda existir na conta própria.
Além disso, é possível que a imagem referida possa ter o mesmo nome que uma imagem customizada em sua conta. Mas esses nomes de imagem são para duas imagens diferentes em duas contas diferentes. Enquanto o terraform usa o ID ou o Nome para identificar uma imagem, somente o ID identifica exclusivamente uma imagem em IBM Cloud® Para evitar possível recuperação ou uso da imagem errada por nome, especifique o ID da imagem em vez disso. Para obter mais informações, consulte Origem de Dados de Imagem
Excluindo uma imagem customizada em um catálogo privado
Uma imagem customizada não pode ser excluída, reutilizada para uma versão diferente ou reutilizada para uma oferta de produto diferente enquanto essa imagem customizada é gerenciada de um catálogo privado.
A exclusão do catálogo privado que contém ofertas de produtos diretamente não remove as ofertas imediatamente As imagens customizadas que são gerenciadas pelo catálogo privado continuam a ser gerenciadas pelo catálogo por 7 dias após a data em que você excluiu o catálogo privado
Se você desejar reutilizar ou excluir imediatamente a imagem customizada, certifique-se de primeiro remover essa imagem customizada da versão associada na oferta de produto do catálogo privado ou excluir a oferta de produto
Para excluir uma imagem customizada publicada ou compartilhada do catálogo privado, consulte o tutorial Descontinuando um produto privado. Para excluir o catálogo privado inteiro, consulte o tutorial Excluindo um catálogo privado usando o console..
Grupos de instâncias e catálogo privado
É possível usar uma imagem customizada em um Catálogo privado para criar um grupo de instâncias No entanto, deve-se primeiro criar uma política de serviço para serviço para o globalcatalog-collection.instance.retrieve antes de poder
criar o grupo de instâncias. Para obter mais informações, consulte Usando uma imagem customizada em um catálogo privado com um grupo de instâncias
As informações sobre qual imagem customizada está em um catálogo privado que foi usado para fornecer uma instância não persistem em todos os recursos do IBM Cloud VPC. As informações sobre a imagem customizada em um catálogo privado não estão disponíveis no Snapshot for VPC ou no Image from Volume. As informações do sistema operacional, que são necessárias ao fornecer um servidor virtual, estão disponíveis.
Importando sua imagem customizada em um catálogo privado
Depois que sua imagem customizada é importada no IBM Cloud VPC, é possível importar essa imagem customizada para um catálogo privado.