Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-18 GMT+08:00

Obtenção de Metadados

Cenários

Os metadados de ECS incluem informações básicas de uma ECS na plataforma de nuvem, como a ID de ECS, o nome do host e as informações da rede. Os metadados de ECS podem ser obtidos usando as API compatíveis com OpenStack e EC2, conforme mostrado na Tabela 1. A seguir, descrevemos o URI e os métodos de uso dos metadados de ECS suportados.

Notas

Se os metadados contiverem dados sensíveis, tome as medidas adequadas para proteger os dados sensíveis, por exemplo, controlar as permissões de acesso e criptografar os dados.

Execute a seguinte configuração no firewall:

  • Windows

    Se você precisar atribuir permissões apenas ao administrador para acessar dados personalizados, ative o firewall como administrador e execute os seguintes comandos no 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

    Se você precisar atribuir permissões apenas ao usuário root para acessar dados personalizados, execute o seguinte comando como usuário root:

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

Tipos de Metadados de ECS

Tabela 1 não contém itens de metadados ami-id, ami-launch-index, ami-manifest-path, block-device-mapping/, instância-ação, id-instância e id-reserva. Esses itens de metadados não são compatíveis com o EC2 e não são recomendados.

Tabela 1 Os tipos de metadados de ECS

Tipo de Metadados

Item de Metadados

Descrição

OpenStack

/meta_data.json

Exibe metadados de ECS.

Para obter os campos-chave nos metadados do ECS, consulte Tabela 2.

OpenStack

/password

Exibe a senha para efetuar login em um ECS.

Esses metadados são usados pelo Cloudbase-Init para armazenar senhas de texto cifrado durante a inicialização dos ECS de Windows autenticados por pares de chaves.

OpenStack

/user_data

Exibe os dados do usuário do ECS.

Esses metadados permitem especificar scripts e arquivos de configuração para inicialização dos ECS. Para obter detalhes, consulte Transmissão de dados do usuário para os ECS.

Para os ECS Linux autenticados por senha, esses metadados são usados para salvar scripts de injeção de senha.

OpenStack

/network_data.json

Exibe informações de rede de ECS.

OpenStack

/securitykey

Obtém AKs e SKs temporários.

Antes de ativar um ECS para obter um AK e SK temporários, verifique se a conta op_svc_ecs foi autorizada no IAM e se os recursos de ECS desejados foram autorizados para gerenciamento.

EC2

/meta-data/hostname

Exibe o nome do host que acomoda um ECS.

Para remover o sufixo .novalocal de um ECS, consulte:

Um nome de host ECS com sufixo.novalocal é normal?

EC2

/meta-data/local-hostname

O significado deste campo é o mesmo que o de hostname.

EC2

/meta-data/public-hostname

O significado deste campo é o mesmo que o de hostname.

EC2

/meta-data/instance-type

Exibe um especificação de ECS.

EC2

/meta-data/local-ipv4

Exibe o endereço IP fixo de um ECS.

Se houver as várias NIC, somente o endereço IP da NIC primária será exibido.

EC2

/meta-data/placement/availability-zone

Exibe a AZ acomodando um ECS.

EC2

/meta-data/public-ipv4

Exibe o EIP vinculado a um ECS.

Se houver as várias NIC, somente o EIP da NIC principal será exibido.

EC2

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

Exibe a chave pública de um ECS.

EC2

/user-data

Exibe os dados do usuário do ECS.

EC2

/meta-data/security-groups

Exibe o grupo de segurança ao qual um ECS pertence.

Tabela 2 Campos de chave de metadados

Parâmetro

Tipo

Descrição

uuid

String

Especifica uma ID de ECS.

zona_disponibilidade

String

Especifica a AZ onde um ECS localiza.

meta

Dict

Especifica as informações de metadados, incluindo o nome da imagem, o ID da imagem e o ID da VPC.

nome de anfitrião

String

Especifica o nome do host que acomoda um ECS.

Para remover o sufixo .novalocal de um ECS, consulte:

Um nome de host ECS com sufixo.novalocal é normal?

id_do_projeto_da_empresa

String

Especifica a ID do projeto da empresa que acomoda um ECS.

Pré-requisitos

  • O alvo ECS foi logado.
  • As regras de grupo de segurança na direção de saída atendem aos seguintes requisitos:
    • Protocol: TCP
    • Port: 80
    • Destination: 169.254.0.0/16

    Se você usar as regras de grupo de segurança padrão para a direção de saída, os requisitos anteriores serão atendidos. Em seguida, os metadados podem ser acessados. As regras de grupo de segurança padrão para a direção de saída são as seguintes:

    • Protocol: All
    • Port: All
    • Destination: 0.0.0.0/0

Metadados (API de Metadados do OpenStack)

Exibe metadados de ECS.

  • URI

    /169.254.169.254/openstack/latest/meta_data.json

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    Para usar cURL para exibir metadados de ECS de Linux, execute o seguinte comando:

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

    Para usar Invoke-RestMethod para exibir metadados do Windows ECS, execute o seguinte 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"
    }

Dados do usuário (API de metadados do OpenStack)

Exibe dados do usuário de ECS. O valor é configurado somente quando você cria um ECS. Não pode ser alterado após a configuração.

  • URI

    /169.254.169.254/openstack/latest/user_data

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    Linux:

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

    Windows:

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

    ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
    Se os dados do usuário não tiverem sido passados para o ECS durante a criação de ECS, o resultado da consulta será 404.
    Figura 1 404 Não encontrado

Dados de rede ( API de metadados do OpenStack)

Exibe informações sobre todas as NIC conectadas a um ECS, incluindo seus endereços de servidor DNS, largura de banda de rede, IDs, endereços IP privados, os EIP e endereços MAC.

  • URI

    /openstack/latest/network_data.json

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    instance_max_bandwidth e instance_min_bandwidth estão na unidade de Mbit/s. Se o valor for -1, a largura de banda não é limitada.

    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
        }
    }

Chave de segurança (API de metadados do OpenStack)

Obtém AKs e SKs temporários.

  • Se um ECS precisar obter um AK e SK temporários, vá para a página de detalhes do ECS e configure Agency para o ECS na área de informações de gerenciamento para que o ECS seja autorizado no IAM.

    Para obter detalhes, consulte Delegação de serviço de nuvem.

  • O período de validade de um AK e SK temporários é de uma hora. O AK e o SK temporários são atualizados 10 minutos antes do tempo de expiração. Durante os 10 minutos, tanto os AKs e SKs temporários novos e antigos podem ser usados.
  • Ao usar AKs e SKs temporários, adicione 'X-Security-Token':{securitytoken} no cabeçalho da mensagem. securitytoken é o valor retornado quando uma chamada é feita para a API.
  • URI

    /openstack/latest/securitykey

  • Método de utilização

    Suporta solicitações GET.

  • Exemplos

    Linux:

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

    Windows:

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

Dados do usuário (API compatível com EC2)

Exibe dados do usuário de ECS. O valor é configurado somente quando você cria um ECS. Não pode ser alterado após a configuração.

  • URI

    /169.254.169.254/latest/user-data

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    Linux:

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

    Windows:

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

    ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==

Nome do host (API compatível com EC2)

Exibe o nome do host que acomoda um ECS. O sufixo.novalocal será adicionado mais tarde.

  • URI

    /169.254.169.254/latest/meta-data/hostname

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    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 instância (API compatível com EC2)

Exibe um especificação de ECS.

  • URI

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

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    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

IPv4 local (API compatível com EC2)

Exibe o endereço IP fixo de um ECS. Se houver as várias NIC, somente o endereço IP da NIC primária será exibido.

  • URI

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

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    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 disponibilidade (API compatível com EC2)

Exibe a AZ acomodando um ECS.

  • URI

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

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    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 compatível com EC2)

Exibe o EIP vinculado a um ECS. Se houver as várias NIC, somente o EIP da NIC principal será exibido.

  • URI

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

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    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

Chaves públicas (API compatível com EC2)

Exibe a chave pública de um ECS.

  • URI

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

  • Método de utilização

    Suporta solicitações GET.

  • Exemplo

    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