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 2024-09-25 GMT+08:00

Vinculação de um EIP a um ECS

Cenários

Esta seção descreve como vincular um EIP a um ECS chamando APIs.

Pré-requisitos

  • Você criou um ECS. Para obter detalhes, Seção "Compra de um ECS com configurações personalizadas" no Guia de usuário do Elastic Cloud Server.
  • Se você usar um token para autenticação, deverá obter o token e adicionar X-Auth-Token ao cabeçalho da solicitação ao fazer uma chamada de API.

    O token obtido do IAM é válido por apenas 24 horas. Se você quiser usar um token para autenticação, poderá armazená-lo em cache para evitar chamadas frequentes.

Procedimento

  1. Obtenha as informações da NIC com base no ID do ECS. Para obter detalhes, seção "Consulta de uma porta" na Referência de API da Virtual Private Cloud.
    1. Envie GET https://VPC endpoint/v1/project_id/ports?device_id=ecs_id. O parâmetro project_id indica o ID do projeto.
    2. Adicione X-Auth-Token ao cabeçalho da solicitação.
    3. Verifique a mensagem de resposta.
      • A solicitação será bem sucedida se a seguinte resposta for exibida.
        { 
             "ports": [{ 
                 "id": "02c72193-efec-42fb-853b-c33f2b802467", 
                 "name": "", 
                 "status": "ACTIVE", 
                 "admin_state_up": true, 
                 "fixed_ips": [{ 
                     "subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", 
                     "ip_address": "192.168.0.75" 
                 }], 
                 "mac_address": "fa:16:3e:47:5f:c1", 
                 "network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", 
                 "tenant_id": "db82c9e1415a464ea68048baa8acc6b8", 
                 "project_id": "db82c9e1415a464ea68048baa8acc6b8", 
                 "device_id": "ea61f836-b52f-41bf-9d06-685644001d6f", 
                 "device_owner": "compute:br-iaas-odin1a", 
                 "security_groups": [ 
                     "e0598d96-9451-4f8a-8de0-b8b4d451d9e7" 
                 ], 
                 "extra_dhcp_opts": [], 
                 "allowed_address_pairs": [], 
                 "binding:vnic_type": "normal", 
                 "binding:vif_details": { 
                     "primary_interface": true 
                 }, 
                 "binding:profile": {}, 
                 "port_security_enabled": true, 
                 "created_at": "2020-06-20T08:07:29", 
                 "updated_at": "2020-06-20T08:07:29" 
             }] 
         }
      • Para obter detalhes sobre os códigos de erro quando a solicitação é anormal, consulte Códigos de erro.
  2. Atribuir um EIP.
    1. Envie POST https://Endpoint/v1/project_id/publicips. O parâmetro project_id indica o ID do projeto.
    2. Adicione X-Auth-Token ao cabeçalho da solicitação.
    3. Especifique os seguintes parâmetros no corpo da solicitação:
      {     
           "publicip": {         
               "type": "5_bgp",         
               "ip_version": 6        
        },    
           "bandwidth": {        
               "name": "bandwidth123",        
               "size": 5,         
               "share_type": "WHOLE", 
               "id":"ebfa375c-3f93-465e-81a3-bd66e578ee9d" 
           },          
           "enterprise_project_id":"0"   
       }
    4. Verifique a mensagem de resposta.
      • A solicitação será bem-sucedida se a seguinte resposta for exibida.
        { 
             "publicip": { 
                 "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706", 
                 "status": "PENDING_CREATE", 
                 "type": "5_bgp", 
                 "public_ip_address": "161.xx.xx.7", 
                 "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c", 
                 "ip_version": 4, 
                 "create_time": "2015-07-16 04:10:52", 
                 "bandwidth_size": 0, 
                 "enterprise_project_id":"b261ac1f-2489-4bc7-b31b-c33c3346a439" 
             } 
         }
      • Para obter detalhes sobre os códigos de erro quando a solicitação é anormal, consulte Códigos de erro.
  3. Vincular o EIP à NIC do ECS.
    1. Envie PUT /v1/project_id/publicips/publicip_id. O parâmetro project_id indica o ID do projeto.
    2. Adicione X-Auth-Token ao cabeçalho da solicitação.
    3. Especifique os seguintes parâmetros no corpo da solicitação:
      {     
           "publicip": {         
               "port_id": "02c72193-efec-42fb-853b-c33f2b802467"      
           }
       }
    4. Verifique a mensagem de resposta.
      • A solicitação será bem-sucedida se a seguinte resposta for exibida.
        { 
           "publicip": { 
             "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706", 
             "status": "ACTIVE", 
             "type": "5_bgp", 
             "port_id": "02c72193-efec-42fb-853b-c33f2b802467", 
             "public_ip_address": "10.xx.xx.162", 
             "private_ip_address": "192.168.1.131", 
             "tenant_id": "26ae5181a416420998eb2093aaed84d9", 
             "create_time": "2019-03-27 01:33:18", 
             "bandwidth_id": "02da78da-4fb0-4880-b512-f516cdeb8ef3",
             "bandwidth_name": "test",
             "bandwidth_share_type": "PER",
             "bandwidth_size": 1,
             "profile": {},
             "enterprise_project_id": "0", 
             "ip_version": 4 
           } 
         }
      • Para obter detalhes sobre os códigos de erro quando a solicitação é anormal, consulte Códigos de erro.