Recuperar metadatos de una instancia
Lo más habitual es recopilar metadatos de una instancia en ejecución y utilizarlos para arrancar otra instancia de servidor virtual. En otras ocasiones, es posible que necesite recopilar información sobre anexos de red o anexos de volumen. Revise el procedimiento general y las instrucciones paso a paso para habilitar el servicio de metadatos, crear un token de acceso a la identidad de instancia y recuperar los metadatos.
Procedimiento general para acceder a los metadatos de la instancia
El Cuadro 1 describe los pasos necesarios para acceder a los metadatos. La información proporciona el contexto para cada paso y enlaza con información específica para completar el paso. En un entorno real, es más probable que los pasos 3 - 5 los inicie el software de inicialización de su instancia al arrancar o mediante cloud-init.
Paso | Contexto | Servicio llamado | Acción del usuario |
---|---|---|---|
1 | IBM Cloud | IU, CLI y API de VPC | El servicio de metadatos está inhabilitado de forma predeterminada. Puede activar el servicio de metadatos en una instancia existente en la consola, desde la CLI o con la API. Los datos de usuario de cliente se especifican en la creación de instancias. |
2 | IBM Cloud |
|
Inicie sesión en la instancia mediante las operaciones de arranque normales. |
3 | Instancia de VPC | Servicio de metadatos | Ejecute un comando curl para llamar al servicio de token de metadatos para adquirir un token de acceso de identidad de instancia. |
4 | Instancia de VPC | Servicio de metadatos | Ejecute un comando curl para llamar al servicio de metadatos y recuperar la información de la instancia. Se pasa la señal del paso anterior y se devuelven los metadatos. |
5 | Instancia de VPC |
|
Analice el JSON devuelto en el paso anterior para adquirir los datos de usuario. |
Procedimiento completo para acceder a los metadatos de una instancia
Localización de la instancia en ejecución y habilitación del servicio de metadatos en la consola
-
En la consola IBM Cloud, haga clic en el
del menú de navegación >
> Computación > Instancias de servidor virtual.
-
Localice la instancia en ejecución en la lista. Haga clic en el nombre de la instancia para mostrar sus detalles. En la pestaña Visión general, desplácese hasta Detalles de configuración avanzada y haga clic en el conmutador para activar el servicio de metadatos.
-
Si la instancia ya tiene una dirección IP flotante (mostrada en la pestaña Redes), utilice esa dirección para establecer una conexión segura con el servidor. Si no tiene una dirección IP flotante, asígnele una. Para más información, consulte los Pasos siguientes en el tema Creación de instancias de servidor virtual.
Localización de la instancia en ejecución y habilitación del servicio de metadatos desde la CLI
-
Inicie sesión en IBM Cloud CLI.
-
Localice la instancia en ejecución utilizando el comando
ibmcloud is instances
, que enumera las instancias disponibles en la región.$ ibmcloud is instances Listing instances in all resource groups and region us-south under account Test Account as user test.user@ibm.com... ID Name Status Reserved IP Floating IP Profile Image VPC Zone Confidential Compute Mode Enable Secure Boot Resource group Reservation Name Cluster Network ID Cluster Network Name Cluster Network Attachments 0717_9c55d9d2-0685-4300-b475-49eb1b8c1faf my-virtual-server-1 running 10.240.0.6 - bx2-2x8 ibm-ubuntu-24-04-2-minimal-amd64-1 my-test-vpc us-south-1 disabled false defaults - - - - 0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 my-virtual-server-2 running 10.240.64.11 169.47.94.48 bx2-2x8 ibm-ubuntu-24-04-6-minimal-amd64-3 my-test-vpc us-south-2 disabled false defaults - - - - 0727_d7ff31ef-75ed-42c6-b0fb-a5837a63d722 my-virtual-server-3 running 10.240.64.12 52.116.204.232 bx2-2x8 ibm-redhat-9-2-minimal-amd64-5 my-test-vpc us-south-2 disabled false defaults - - - -
El servicio de metadatos está soportado en todas las imágenes de stock y personalizadas y en los perfiles de CPU.
-
Ejecute el comando
ibmcloud is instance
para confirmar si el servicio de metadatos está activado. El siguiente ejemplo muestra el valorfalse
.$ ibmcloud is instance 0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 Getting instance 0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 under account Test Account as user test.user@ibm.com... ID 0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 Name my-virtual-server-2 CRN crn:v1:bluemix:public:is:us-south-2:a/a1234567::instance:0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 Status running Availability policy on host failure restart Confidential Compute Mode disabled Enable Secure Boot false Startable true Profile bx2-2x8 Architecture amd64 vCPU Manufacturer intel vCPUs 2 Memory(GiB) 8 Bandwidth(Mbps) 4000 Volume bandwidth(Mbps) 1000 Network bandwidth(Mbps) 3000 Lifecycle Reasons Code Message - - Lifecycle State stable Metadata service Enabled Protocol Response hop limit false http 1 Image ID Name r006-aa2af291-45b3-4f18-801c-8b7985e928f7 ibm-ubuntu-24-04-6-minimal-amd64-3 Numa Count 1 VPC ID Name r006-01030e3c-2663-4f7d-ac55-651929dafe37 my-test-vpc Zone us-south-2 Resource group ID Name 6edefe513d934fdd872e78ee6a8e73ef defaults Created 2025-03-06T19:24:02+00:00 Network Attachments Interface Name ID Subnet Subnet ID Floating IP VNI Reserved IP Primary eth0 0727-a3ff4d3e-be95-4a52-8025-b55b3c3285ea my-subnet-01 0727-f24237f5-bdf0-4b94-ab4c-167a44b8bcb5 169.47.94.48 0727-dda9244a-64b9-421b-87e9-70549a70b4c3 10.240.64.11 Boot volume ID Name Attachment ID Attachment name r006-9afd6e01-0466-4e7b-a38b-75bf39469a42 eat-client-poc-boot-1741289020000 0727-241f39a8-3573-4ebc-b512-33508eb970c9 undaunted-starved-slander-galleria Reservation Affinity Policy automatic Reservation Affinity Pool - Reservation - Health State ok
-
Habilite el servicio de metadatos ejecutando el comando
ibmcloud is instance-update
con la opción--metadata-service true
.$ ibmcloud is instance-update 0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 --metadata-service true Updating instance 0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 under account Test Account as user test.user@ibm.com... ID 0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 Name my-virtual-server-2 CRN crn:v1:bluemix:public:is:us-south-2:a/a1234567::instance:0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6 Status running Availability policy on host failure restart Confidential Compute Mode disabled Enable Secure Boot false Startable true Profile bx2-2x8 Architecture amd64 vCPU Manufacturer intel vCPUs 2 Memory(GiB) 8 Bandwidth(Mbps) 4000 Volume bandwidth(Mbps) 1000 Network bandwidth(Mbps) 3000 Lifecycle Reasons Code Message - - Lifecycle State stable Metadata service Enabled Protocol Response hop limit true http 1 Image ID Name r006-aa2af291-45b3-4f18-801c-8b7985e928f7 ibm-ubuntu-24-04-6-minimal-amd64-3 Numa Count 1 VPC ID Name r006-01030e3c-2663-4f7d-ac55-651929dafe37 my-test-vpc Zone us-south-2 Resource group ID Name 6edefe513d934fdd872e78ee6a8e73ef defaults Created 2025-03-06T19:24:02+00:00 Network Attachments Interface Name ID Subnet Subnet ID Floating IP VNI Reserved IP Primary eth0 0727-a3ff4d3e-be95-4a52-8025-b55b3c3285ea my-subnet-01 0727-f24237f5-bdf0-4b94-ab4c-167a44b8bcb5 169.47.94.48 0727-dda9244a-64b9-421b-87e9-70549a70b4c3 10.240.64.11 Boot volume ID Name Attachment ID Attachment name r006-9afd6e01-0466-4e7b-a38b-75bf39469a42 eat-client-poc-boot-1741289020000 0727-241f39a8-3573-4ebc-b512-33508eb970c9 undaunted-starved-slander-galleria Reservation Affinity Policy automatic Reservation Affinity Pool - Reservation - Health State ok
-
Si la instancia ya tiene una dirección IP flotante, utilice esa dirección para establecer una conexión segura con el servidor. Si no tiene una dirección IP flotante, asígnele una. Para más información, consulte los Pasos siguientes en el tema Creación de instancias de servidor virtual.
Localización de la instancia en ejecución y habilitación del servicio de metadatos con la API
-
Localice la instancia en ejecución listando las instancias disponibles en la región. Seleccione el ID de instancia de la respuesta.
curl -X GET "$vpc_api_endpoint/v1/instances?version=2025-05-13&generation=2" -H "Authorization: Bearer $iam_token"
-
Recupera la información de la instancia seleccionada para confirmar si el servicio de metadatos está habilitado.
curl -X GET "$vpc_api_endpoint/v1/instances/0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6?version=2025-05-13&generation=2" -H "Authorization: Bearer $iam_token"
La respuesta de la API muestra
"enabled": false
en la secciónmetadata_service
.{ "availability_policy": { "host_failure": "restart", "host_maintenance": null }, "bandwidth": 4000, "boot_volume_attachment": { "device": { "id": "0727-241f39a8-3573-4ebc-b512-33508eb970c9-mzpzd" }, "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6/volume_attachments/0727-241f39a8-3573-4ebc-b512-33508eb970c9", "id": "0727-241f39a8-3573-4ebc-b512-33508eb970c9", "name": "undaunted-starved-slander-galleria", "volume": { "crn": "crn:v1:bluemix:public:is:us-south-2:a/a1234567::volume:r006-9afd6e01-0466-4e7b-a38b-75bf39469a42", "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-9afd6e01-0466-4e7b-a38b-75bf39469a42", "id": "r006-9afd6e01-0466-4e7b-a38b-75bf39469a42", "name": "eat-client-poc-boot-1741289020000", "resource_type": "volume" } }, "confidential_compute_mode": "disabled", "created_at": "2025-03-06T19:24:02.000Z", "crn": "crn:v1:bluemix:public:is:us-south-2:a/a1234567::instance:0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6", "disks": [], "enable_secure_boot": false, "health_reasons": [], "health_state": "ok", "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6", "id": "0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6", "image": { "crn": "crn:v1:bluemix:public:is:us-south:a/a1234567::image:r006-aa2af291-45b3-4f18-801c-8b7985e928f7", "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-aa2af291-45b3-4f18-801c-8b7985e928f7", "id": "r006-aa2af291-45b3-4f18-801c-8b7985e928f7", "name": "ibm-ubuntu-24-04-6-minimal-amd64-3", "resource_type": "image" }, "lifecycle_reasons": [], "lifecycle_state": "stable", "memory": 8, "metadata_service": { "enabled": false, "protocol": "http", "response_hop_limit": 1 } . . . }
-
Habilite el servicio de metadatos realizando una
PATCH /instances
solicitud para la instancia.curl -X PATCH "$vpc_api_endpoint/v1/instances/0727_ed12480a-40a4-41a0-98e3-6dfac8b25ad6?version=2025-05-13&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "metadata_service": { "enabled": true, "protocol": "http", "response_hop_limit": 1 } }`
-
Si la instancia ya tiene una dirección IP flotante, utilice esa dirección para establecer una conexión segura con el servidor. Si no tiene una dirección IP flotante, asígnele una. Para más información, consulte Iniciar sesión en su instancia.
Establecimiento de una conexión segura con la instancia del servidor virtual
Linux
El siguiente ejemplo muestra la sintaxis de comandos que se debe utilizar para conectarse a una instancia de servidor basada en Linux.
ssh -i <path to your private key file> <default-user-account>@<floating ip address>
Windows
Los usuarios de Windows tienen requisitos adicionales para acceder y utilizar el servicio de metadatos. Para obtener más información, consulte Configuración de servidores Windows para utilizar el servicio de metadatos.
Si su servidor ejecuta un sistema operativo Windows, utilice un cliente RDP para conectarse a él.
Para obtener más información, consulte Conexión con la instancia de Linux o Conexión con la instancia de Windows.
Recopilación de información del servicio de metadatos
Desde la instancia de servidor virtual, realice una solicitud a la API de identidad para recuperar un token de identidad de instancia. Especifique cuánto tiempo desea que el token siga siendo válido. Por ejemplo, puede especificar 3600 segundos (1 hora).
export instance_identity_token=`curl -X PUT "http://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2022-03-01"\
-H "Metadata-Flavor: ibm"\
-H "Accept: application/json"\
-d '{
"expires_in": 3600
}' | jq -r '(.access_token)'`
La respuesta proporciona el token de acceso a la identidad de la instancia. El analizador lo guarda en el archivo .access_token
.
El ejemplo utiliza jq
como analizador sintáctico, una herramienta de terceros con licencia MIT. Es posible que jq
no venga preinstalada en todas las imágenes de
VPC disponibles al crear una instancia. Es posible que tenga que instalar jq
antes de utilizarlo o utilizar otro analizador sintáctico de su elección.
Recuperación de la información de inicialización
Una vez obtenido el token de identidad, ya puede realizar una solicitud de API al servicio de metadatos para recopilar la información de inicialización:
curl -X GET "http://api.metadata.cloud.ibm.com/metadata/v1/instance/initialization?version=2024-11-12"\
-H "Accept: application/json"\
-H "Authorization: Bearer $instance_identity_token"\
| jq -r
La respuesta de la API contiene información como la clave SSH y los datos de usuario que se especificaron cuando se aprovisionó el servidor virtual. Si ha configurado contraseñas, dicha información también se devuelve. Puede utilizar esta información para arrancar una nueva instancia de servidor virtual.
Recuperación de información sobre instancias
Realice una solicitud a GET "/metadata/v1/instance"
para recuperar información detallada sobre la instancia.
curl -X GET "$vpc_metadata_api_endpoint/metadata/v1/instance?version=2025-04-22" -H "Authorization: Bearer $instance_identity_token"
La respuesta lista todos los detalles de una instancia, incluidas las interfaces de red, el perfil de cálculo y los archivos adjuntos de volumen.
{
"boot_volume_attachment": {
"id": "a8a15363-a6f7-4f01-af60-715e85b28141",
"name": "my-boot-volume-attachment",
"volume": {
"crn": "crn:[...]",
"id": "49c5d61b-41e7-4c01-9b7a-1a97366c6916",
"name": "my-boot-volume"
}
},
"created_at": "2021-10-19T16:11:57Z",
"crn": "crn:[...]",
"disks": [],
"id": "eb1b7391-2ca2-4ab5-84a8-b92157a633b0",
"image": {
"crn": "crn:[...]",
"id": "9aaf3bcb-dcd7-4de7-bb60-24e39ff9d366",
"name": "my-image"
},
"memory": 8,
"name": "my-instance",
"network_interfaces": [
{
"id": "7ca88dfb-8962-469d-b1de-1dd56f4c3275",
"name": "my-network-interface",
"primary_ipv4_address": "10.0.0.32",
"resource_type": "network_interface",
"subnet": {
"crn": "crn:[...]",
"id": "bea6a632-5e13-42a4-b4b8-31dc877abfe4",
"name": "my-subnet",
"resource_type": "subnet"
}
}
],
"primary_network_interface": {
"id": "7ca88dfb-8962-469d-b1de-1dd56f4c3275",
"name": "my-network-interface",
"primary_ipv4_address": "10.0.0.32",
"resource_type": "network_interface",
"subnet": {
"crn": "crn:[...]",
"id": "bea6a632-5e13-42a4-b4b8-31dc877abfe4",
"name": "my-subnet",
"resource_type": "subnet"
}
},
"profile": {
"name": "bx2-2x8"
},
"resource_type": "instance",
"vcpu": {
"architecture": "amd64",
"count": 2
},
"volume_attachments": [
{
"id": "a8a15363-a6f7-4f01-af60-715e85b28141",
"name": "my-boot-volume-attachment",
"volume": {
"crn": "crn:[...]",
"id": "49c5d61b-41e7-4c01-9b7a-1a97366c6916",
"name": "my-boot-volume"
}
},
{
"id": "e77125cb-4df0-4988-a878-531ae0ae0b70",
"name": "my-volume-attachment-1",
"volume": {
"crn": "crn:[...]",
"id": "2cc091f5-4d46-48f3-99b7-3527ae3f4392",
"name": "my-data-volume"
}
}
],
"vpc": {
"crn": "crn:[...]",
"id": "f0aae929-7047-46d1-92e1-9102b07a7f6f",
"name": "my-vpc",
"resource_type": "vpc"
},
"zone": {
"name": "us-south-1"
}
}
- Utilice otros métodos de la API para recuperar más información sobre la instancia, como los anexos de volumen y red, o recopilar información sobre claves SSH, grupos de colocación o interfaces de red virtuales. Para obtener más información, consulte la Referencia de la API del servicio de metadatos y el Resumen de la información del servicio de metadatos.
La siguiente tabla muestra más métodos para solicitudes GET de API que puede realizar para obtener información específica sobre la instancia.
Punto final de API | Descripción |
---|---|
/metadata/v1/instance/cluster_network_attachments |
Lista de archivos adjuntos de la red de clústeres |
/metadata/v1/instance/cluster_network_attachments/{id} |
Recuperar un archivo adjunto de red de clúster |
/metadata/v1/instance/network_attachments |
Lista de archivos adjuntos de red |
/metadata/v1/instance/network_attachments/{id} |
Recuperar un archivo adjunto de red |
/metadata/v1/instance/network_interfaces |
Listar metadatos para todas las interfaces de red para una instancia. |
/metadata/v1/instance/network_interfaces/{id} |
Recuperar metadatos para una interfaz de red por ID. |
/metadata/v1/instance/volume_attachments |
Listar metadatos para todos los archivos adjuntos de volumen para una instancia. |
/metadata/v1/instance/volume_attachment/{id} |
Recuperar metadatos para una conexión de volumen por ID. |
Próximos pasos
Utilice el perfil de confianza para la instancia y genere una señal de IAM a partir de la señal de acceso de identidad de instancia para otros servicios habilitados para IAM. Consulte Utilización de un perfil de confianza para llamar a servicios habilitados para IAM.