Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-07-02 GMT+08:00

Obtención de metadatos

Casos

Los metadatos de ECS incluyen información básica de un ECS en una plataforma en la nube, como el ID de ECS, el nombre de host y la información de red. Los metadatos de ECS se pueden obtener utilizando API compatibles con OpenStack o EC2, como se muestra en Tabla 1. A continuación se describe el URI y los métodos de uso de los metadatos admitidos de ECS.

Notas

Si los metadatos contienen datos confidenciales, tome las medidas adecuadas para proteger los datos confidenciales, por ejemplo, controlando los permisos de acceso y cifrando los datos.

Realice la siguiente configuración en el firewall:

  • Windows

    Si necesita asignar permisos solo al administrador para acceder a datos personalizados, habilite el firewall como administrador y ejecute los siguientes comandos de PowerShell:

    PS C:\>$RejectPrincipal = New-Object -TypeName System.Security.Principal.NTAccount ("Everyone")

    PS C:\>$RejectPrincipalSID = $RejectPrincipal.Translate([System.Security.Principal.SecurityIdentifier]).Value

    PS C:\>$ExceptPrincipal = New-Object -TypeName System.Security.Principal.NTAccount ("Administrator")

    PS C:\>$ExceptPrincipalSID = $ExceptPrincipal.Translate([System.Security.Principal.SecurityIdentifier]).Value

    PS C:\>$PrincipalSDDL = "O:LSD:(D;;CC;;;$ExceptPrincipalSID)(A;;CC;;;$RejectPrincipalSID)"

    PS C:\>New-NetFirewallRule -DisplayName "Reject metadata service for $($RejectPrincipal.Value), exception: $($ExceptPrincipal.Value)" -Action block -Direction out -Protocol TCP -RemoteAddress 169.254.169.254 -LocalUser $PrincipalSDDL

  • Linux

    Si necesita asignar permisos solo a usuario root para acceder a datos personalizados, ejecute el siguiente comando como usuario root:

    iptables --append OUTPUT --proto tcp --destination 169.254.169.254 --match owner ! --uid-owner root --jump REJECT

Tipos de metadatos de ECS

Tabla 1 no contiene elementos de metadatos ami-id, ami-launch-index, ami-manifest-path, block-device-mapping/, instance-action, instance-id y reservation-id. Estos elementos de metadatos no son compatibles con EC2 y no se recomiendan.

Tabla 1 Tipos de metadatos de ECS

Tipo de metadatos

Elemento de metadatos

Descripción

OpenStack

/meta_data.json

Muestra metadatos de ECS.

Para ver los campos clave en los metadatos de ECS, consulte Tabla 2.

OpenStack

/password

Muestra la contraseña para iniciar sesión en un ECS.

Cloudbase-Init utiliza estos metadatos para almacenar contraseñas de texto cifrado durante la inicialización de ECS de Windows autenticados por pares de claves.

OpenStack

/user_data

Muestra los datos de usuario de ECS.

Estos metadatos le permiten especificar secuencias de comandos y archivos de configuración para inicializar los ECS. Para más detalles, consulte Transferencia de los datos de usuario a ECS.

Para los ECS de Linux autenticados con contraseña, estos metadatos se utilizan para guardar scripts de inyección de contraseña.

OpenStack

/network_data.json

Muestra información de red de ECS.

OpenStack

/securitykey

Obtiene AKs y SKs temporales.

Antes de activar un ECS a obtener un AK y SK temporales, asegúrese de que la cuenta op_svc_ecs ha sido autorizada en IAM y que los recursos deseados de ECS han sido autorizados para la gestión.

EC2

/meta-data/hostname

Muestra el nombre del host que aloja un ECS.

Para eliminar el sufijo.novalocal desde un ECS, consulte:

¿Un nombre de host de ECS con sufijo .novalocal es Normal?

EC2

/meta-data/local-hostname

El significado de este campo es el mismo que el de hostname.

EC2

/meta-data/public-hostname

El significado de este campo es el mismo que el de hostname.

EC2

/meta-data/instance-type

Muestra una variante de ECS.

EC2

/meta-data/local-ipv4

Muestra la dirección IP fija de un ECS.

Si hay varias NIC, solo se muestra la dirección IP de la NIC principal.

EC2

/meta-data/placement/availability-zone

Muestra el AZ que alberga un ECS.

EC2

/meta-data/public-ipv4

Muestra el EIP enlazado a un ECS.

Si hay varias NIC, solo se muestra el EIP de la NIC principal.

EC2

/meta-data/public-keys/0/openssh-key

Muestra la clave pública de un ECS.

EC2

/user-data

Muestra los datos de usuario de ECS.

EC2

/meta-data/security-groups

Muestra el grupo de seguridad al que pertenece un ECS.

Tabla 2 Campos de clave de metadatos

Parámetro

Tipo

Descripción

uuid

String

Especifica un ID de ECS.

availability_zone

String

Especifica la AZ donde se encuentra un ECS.

meta

Dict

Especifica la información de metadatos, incluido el nombre de la imagen, el ID de imagen y el ID de VPC.

hostname

String

Especifica el nombre del host que alberga un ECS.

Para eliminar el sufijo.novalocal desde un ECS, consulte:

¿Un nombre de host de ECS con sufijo .novalocal es Normal?

enterprise_project_id

String

Especifica el ID del proyecto de empresa que alberga un ECS.

Prerrequisitos:

  • El ECS de destino ha sido conectado.
  • Las reglas de grupo de seguridad en la dirección de salida cumplen los siguientes requisitos:
    • Protocolo: TCP
    • Puerto: 80
    • Destino: 169.254.0.0/16

    Si utiliza las reglas de grupo de seguridad predeterminadas para la dirección de salida, se cumplen los requisitos anteriores. A continuación, se puede acceder a los metadatos. Las reglas de grupo de seguridad predeterminadas para la dirección de salida son las siguientes:

    • Protocolo: Todos
    • Puerto: Todos
    • Destino: 0.0.0.0/0

Metadatos (API de metadatos de OpenStack)

Muestra metadatos de ECS.

  • Identificador URI

    /169.254.169.254/openstack/latest/meta_data.json

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Para usar cURL para ver metadatos de ECS de Linux, ejecute el siguiente comando:

    curl http://169.254.169.254/openstack/latest/meta_data.json

    Para usar Invoke-RestMethod para ver metadatos de ECS de Windows, ejecute el siguiente comando:

    Invoke-RestMethod http://169.254.169.254/openstack/latest/meta_data.json | ConvertTo-Json

    {
        "random_seed": "rEocCViRS+dNwlYdGIxJHUp+00poeUsAdBFkbPbYQTmpNwpoEb43k9z+96TyrekNKS+iLYDdRNy4kKGoNPEVBCc05Hg1TcDblAPfJwgJS1okqEtlcofUhKmL3K0fto+5KXEDU3GNuGwyZXjdVb9HQWU+E1jztAJjjqsahnU+g/tawABTVySLBKlAT8fMGax1mTGgArucn/WzDcy19DGioKPE7F8ILtSQ4Ww3VClK5VYB/h0x+4r7IVHrPmYX/bi1Yhm3Dc4rRYNaTjdOV5gUOsbO3oAeQkmKwQ/NO0N8qw5Ya4l8ZUW4tMav4mOsRySOOB35v0bvaJc6p+50DTbWNeX5A2MLiEhTP3vsPrmvk4LRF7CLz2J2TGIM14OoVBw7LARwmv9cz532zHki/c8tlhRzLmOTXh/wL36zFW10DeuReUGmxth7IGNmRMQKV6+miI78jm/KMPpgAdK3vwYF/GcelOFJD2HghMUUCeMbwYnvijLTejuBpwhJMNiHA/NvlEsxJDxqBCoss/Jfe+yCmUFyxovJ+L8oNkTzkmtCNzw3Ra0hiKchGhqK3BIeToV/kVx5DdF081xrEA+qyoM6CVyfJtEoz1zlRRyoo9bJ65Eg6JJd8dj1UCVsDqRY1pIjgzE/Mzsw6AaaCVhaMJL7u7YMVdyKzA6z65Xtvujz0Vo=",
        "uuid": "ca9e8b7c-f2be-4b6d-a639-f10b4d994d04",
        "availability_zone": "lt-test-1c",
        "hostname": "ecs-ddd4-l00349281.novalocal",
        "launch_index": 0,
        "meta": {
            "metering.image_id": "3a64bd37-955e-40cd-ab9e-129db56bc05d",
            "metering.imagetype": "gold",
            "metering.resourcespeccode": "s3.medium.1.linux",
            "image_name": "CentOS 7.6 64bit",
            "os_bit": "64",
            "vpc_id": "3b6c201f-aeb3-4bce-b841-64756e66cb49",
            "metering.resourcetype": "1",
            "cascaded.instance_extrainfo": "pcibridge:2",
            "os_type": "Linux",
            "enterprise_project_id" : "0",
            "region_id": "xxx",
            "instance_type": "c3.large.2",
            "charging_mode": "0"
        },
        "project_id": "6e8b0c94265645f39c5abbe63c4113c6",
        "name": "ecs-ddd4-l00349281"
    }

Datos de usuario (API de metadatos de OpenStack)

Muestra los datos de usuario de ECS. El valor se configura solo cuando se crea un ECS. No se puede cambiar después de la configuración.

  • Identificador URI

    /169.254.169.254/openstack/latest/user_data

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/openstack/latest/user_data

    Windows:

    Invoke-RestMethod http://169.254.169.254/openstack/latest/user_data

    ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
    Si los datos de usuario no se pasaron al ECS durante la creación de ECS, el resultado de la consulta es 404.
    Figura 1 404 No se encontró la página

Datos de red (API de metadatos de OpenStack)

Muestra información sobre todas las NIC conectadas a un ECS, incluidas sus direcciones de servidor DNS, ancho de banda de red, ID, direcciones IP privadas, EIP y direcciones MAC.

  • Identificador URI

    /openstack/latest/network_data.json

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    instance_max_bandwidth e instance_min_bandwidth están en la unidad de Mbit/s. Si el valor es -1, el ancho de banda no está limitado.

    Linux:

    curl http://169.254.169.254/openstack/latest/network_data.json

    Windows:

    Invoke-RestMethod http://169.254.169.254/openstack/latest/network_data.json | ConvertTo-Json

    {
        "services": [{
            "type": "dns",
            "address": "xxx.xx.x.x"
        },
        {
            "type": "dns",
            "address": "100.1
    25.21.250"
        }],
        "networks": [{
            "network_id": "67dc10ce-441f-4592-9a80-cc709f6436e7",
            "type": "i
    pv4_dhcp",
            "link": "tap68a9272d-71",
            "id": "network0"
        }],
        "links": [{
            "type": "cascading",
            "vif_id": "68a9272d-7152-4ae7-a138-3ef53af669e7",
            "ethernet_mac_address": "fa:16:3e:f7:c1:47",
            "id": "tap68a9272d-71",
            "local_ipv4": "192.169.10.10",
            "public_ipv4": "100.100.10.10"
            "mtu": null
    
        }],
        "qos":{
            "instance_max_bandwidth": 1200,
            "instance_min_bandwidth": 4000
        }
    }

Clave de seguridad (API de metadatos de OpenStack)

Obtiene AKs y SKs temporales.

  • Si un ECS necesita obtener un AK y SK temporales, vaya a la página de detalles de ECS y configure Agency para el ECS en el área de Management Information de modo que el ECS esté autorizado en IAM.

    Para obtener más información, consulte Delegación de servicios en la nube.

  • El período de validez de un AK y SK temporal es de una hora. El AK y el SK temporales se actualizan 10 minutos antes del tiempo de expiración. Durante los 10 minutos, se pueden utilizar tanto los nuevos como los antiguos AK temporales y SK.
  • Cuando use AK y SK temporales, agregue 'X-Security-Token':{securitytoken} en el encabezado del mensaje. securitytoken es el valor devuelto cuando se realiza una llamada a la API.
  • Identificador URI

    /openstack/latest/securitykey

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplos

    Linux:

    curl http://169.254.169.254/openstack/latest/securitykey

    Windows:

    Invoke-RestMethod http://169.254.169.254/openstack/latest/securitykey

Datos de usuario (API compatible con EC2)

Muestra los datos de usuario de ECS. El valor se configura solo cuando se crea un ECS. No se puede cambiar después de la configuración.

  • Identificador URI

    /169.254.169.254/latest/user-data

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/latest/user-data

    Windows:

    Invoke-RestMethod http://169.254.169.254/latest/user-data

    ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==

Nombre de host (API compatible con EC2)

Muestra el nombre del host que aloja un ECS. El sufijo .novalocal se agregará más adelante.

  • Identificador URI

    /169.254.169.254/latest/meta-data/hostname

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/latest/meta-data/hostname

    Windows:

    Invoke-RestMethod http://169.254.169.254/latest/meta-data/hostname

    vm-test.novalocal

Tipo de instancia (API compatible con EC2)

Muestra una variante de ECS.

  • Identificador URI

    /169.254.169.254/latest/meta-data/instance-type

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/latest/meta-data/instance-type

    Windows:

    Invoke-RestMethod http://169.254.169.254/latest/meta-data/instance-type

    s3.medium.1

Local IPv4 (EC2 Compatible API)

Muestra la dirección IP fija de un ECS. Si hay varias NIC, solo se muestra la dirección IP de la NIC principal.

  • Identificador URI

    /169.254.169.254/latest/meta-data/local-ipv4

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/latest/meta-data/local-ipv4

    Windows:

    Invoke-RestMethod http://169.254.169.254/latest/meta-data/local-ipv4

    192.1.1.2

Zona de disponibilidad (API compatible con EC2)

Muestra el AZ que alberga un ECS.

  • Identificador URI

    /169.254.169.254/latest/meta-data/placement/availability-zone

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/latest/meta-data/placement/availability-zone

    Windows:

    Invoke-RestMethod http://169.254.169.254/latest/meta-data/placement/availability-zone

    az1.dc1

IPv4 público (API compatible con EC2)

Muestra el EIP enlazado a un ECS. Si hay varias NIC, solo se muestra el EIP de la NIC principal.

  • Identificador URI

    /169.254.169.254/latest/meta-data/public-ipv4

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/latest/meta-data/public-ipv4

    Windows:

    Invoke-RestMethod http://169.254.169.254/latest/meta-data/public-ipv4

    46.1.1.2

Claves públicas (API compatible con EC2)

Muestra la clave pública de un ECS.

  • Identificador URI

    /169.254.169.254/latest/meta-data/public-keys/0/openssh-key

  • Método de uso

    Soporta solicitudes GET.

  • Ejemplo

    Linux:

    curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

    Windows:

    Invoke-RestMethod http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI5Fw5k8Fgzajn1zJwLoV3+wMP+6CyvsSiIc/hioggSnYu/AD0Yqm8vVO0kWlun1rFbdO+QUZKyVr/OPUjQSw4SRh4qsTKf/+eFoWTjplFvd1WCBZzS/WRenxIwR00KkczHSJro763+wYcwKieb4eKRxaQoQvoFgVjLBULXAjH4eKoKTVNtMXAvPP9aMy2SLgsJNtMb9ArfziAiblQynq7UIfLnN3VclzPeiWrqtzjyOp6CPUXnL0lVPTvbLe8sUteBsJZwlL6K4i+Y0lf3ryqnmQgC21yW4Dzu+kwk8FVT2MgWkCwiZd8gQ/+uJzrJFyMfUOBIklOBfuUENIJUhAB Generated-by-Nova