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.
Central de ajuda> VPC Endpoint> Referência de API> API> Serviços do VPC Endpoint> Criação de um serviço do VPC Endpoint
Atualizado em 2023-02-20 GMT+08:00

Criação de um serviço do VPC Endpoint

Função

Função Essa API é usada para criar um serviço do ponto de extremidade da VPC. Outros usuários podem criar um ponto de extremidade da VPC para se conectar ao serviço do ponto de extremidade. Observação: esta API é uma interface assíncrona. Se ela for chamada com sucesso, o código de status 200 é retornado, indicando que a solicitação foi entregue com sucesso. Demora 1 a 2 minutos para criar um serviço do ponto de extremidade da VPC. Você pode visualizar o resultado da criação consultando os detalhes do serviço do ponto de extremidade da VPC.

URI

POST /v1/{project_id}/vpc-endpoint-services

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatoriedade

Tipo

Descrição

project_id

Sim

String

ID do projeto. Para obter detalhes sobre como obter um ID de projeto, consulte "Obtenção de um ID de projeto".

Mínimo: 1

Máximo: 64

Parâmetros de solicitação

Tabela 2 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

X-Auth-Token

Sim

String

Especifica o token do usuário. É uma resposta à API para obter um token de usuário. Essa API é a única que não requer autenticação.O valor de X-Subject-Token no cabeçalho da resposta é o valor do token.

Mínimo: 1

Máximo: 2048

Content-Type

Sim

String

Especifica o tipo MIME do corpo da solicitação. O valor padrão application/json é recomendado. Para as API usadas para carregar objetos ou imagens, o tipo MIME pode variar dependendo do tipo de fluxo.

Tabela 3 Parâmetros de corpo de solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

port_id

Sim

String

Especifica o ID do recurso de back-end do serviço do ponto de extremidade da VPC. O ID está no formato universally unique identifier (UUID). As opções são as seguintes: ● Load balancer: especifica o ID da porta do endereço IP privado do balanceador de carga compartilhado. Para obter detalhes, consulte o campo vip_port_id nos parâmetros de resposta da seção "Exibição de detalhes de um balanceador de carga" na Referência de API do Elastic Load Balance. ● Virtual machine: especifica o ID da NIC do endereço IP do ECS. Para obter detalhes, consulte o campo port_id nos parâmetros de resposta da seção "Consulta de NICs de um ECS" na Referência de API do Elastic Cloud Server. ● Virtual IP address: especifica o ID da NIC do servidor físico onde o recurso virtual está localizado. Observação: ● Quando você cria um serviço do ponto de extremidade da VPC, o bloco CIDR da sub-rede da VPC não pode se sobrepor a 198.19.128.0/17. ● O endereço de destino da rota personalizada na tabela de rotas da VPC não pode se sobrepor a 198.19.128.0/17.

vip_port_id

Não

String

ID da NIC do endereço IP virtual.

service_name

Não

String

Especifica o nome do serviço do ponto de extremidade da VPC. O nome pode conter de 2 a 16 caracteres, incluindo letras, dígitos, sublinhados (_) e hifens (-). ● Se o service_name for deixado em branco, o valor gerado será regionName+.+serviceId. ● Se o service_name for especificado e a verificação for aprovada, o gerado será regionName+.+serviceName+.+serviceId.

vpc_id

Sim

String

Especifica o ID da VPC em que o recurso de back-end do serviço do ponto de extremidade da VPC está localizado. Para obter detalhes, consulte o campo id nas informações de resposta da seção "Consulta de detalhes da VPC" na Referência de API da Virtual Private Cloud.

approval_enabled

Não

Boolean

Especifica se a aprovação é necessária. ● false: nenhuma aprovação é necessária. O ponto de extremidade da VPC criado está no estado accepted por padrão. ● true: a aprovação é necessária. O ponto de extremidade da VPC criado está no estado pendenteAcceptance e pode ser usado somente após ser aprovado pelo usuário do serviço do ponto de extremidade da VPC. O valor padrão é true.

Padrão: true

service_type

Não

String

Especifica o tipo do serviço do ponto de extremidade da VPC. Somente seus serviços privados podem ser configurados em serviços do ponto de extremidade de VPC de interface. Existem dois tipos de serviços do ponto de extremidade da VPC: interface e gateway. ● gateway: os serviços do ponto de extremidade de VPC desse tipo são configurados por equipe de O&M. Você pode usá-los diretamente sem criá-los por si mesmos. ● interface: serviços de nuvem configurados pela equipe de O&M e serviços privados criados por você estão incluídos. Você não pode configurar esses serviços de nuvem, mas pode usá-los. Você pode consultar serviços públicos do ponto de extremidade da VPC para visualizar os serviços do ponto de extremidade da VPC visíveis e acessíveis a todos os usuários configurados pela equipe de O&M. Você pode criar um ponto de extremidade da VPC para acessar serviços de gateway e interface do ponto de extremidade da VPC.

Padrão: interface

server_type

Sim

String

Especifica o tipo de recurso. ● VM: indica o servidor de nuvem, que pode ser usado como um servidor. ● VIP: indica o endereço IP virtual, que é aplicável para ser usado como servidores físicos para recursos virtuais. ● LB: indica o balanceador de carga compartilhado, que é aplicável a serviços com alto tráfego de acesso e serviços que exigem alta confiabilidade e recuperação de desastres.

ports

Sim

Array of PortList objects

Especifica os mapeamentos de porta abertos pelo serviço do ponto de extremidade da VPC. Mapeamentos de porta duplicados não são permitidos no mesmo serviço do ponto de extremidade da VPC. Se vários serviços do ponto de extremidade da VPC compartilharem um ID de porta, as combinações de portas e protocolos de servidor para todos os mapeamentos de porta entre os serviços do ponto de extremidade da VPC devem ser exclusivas. Um máximo de 200 mapeamentos de porta podem ser adicionado de cada vez.

tcp_proxy

Não

String

Especifica se as informações do cliente, como endereço IP, número da porta e marker_id, são transmitidas ao servidor. Os seguintes métodos são suportados: ● TCP TOA: transmite as informações do cliente inseridas no campo de tcp option para o servidor. Observação: TCP TOA é suportado apenas quando o tipo de recurso de back-end é Object Storage Service (OBS). ● Proxy Protocol: transmite as informações do cliente inseridas no campo de tcp payload para o servidor. tcp_proxy só está disponível quando o servidor pode analisar os campos tcp option e tcp payload. Os valores são os seguintes: ● close: indica que o protocolo proxy está desativado. ● toa_open: indica que o protocolo proxy tcp_toa está habilitado. ● proxy_open: indica que o protocolo proxy proxy_protocol está ativado. ● open: indica que tcp_toa e proxy_protocol estão habilitados. O valor padrão é close.

Padrão: close

tags

Não

Array of TagList objects

Um máximo de 10 tags podem ser adicionadas a um serviço do ponto de extremidade da VPC.

description

Não

String

Especifica o campo de descrição. O valor pode conter caracteres como letras e dígitos, mas não pode conter sinais menores (<) e sinais maiores (>).

Tabela 4 PortList

Parâmetro

Obrigatoriedade

Tipo

Descrição

client_port

Não

Integer

Especifica a porta a ser acessada por um ponto de extremidade da VPC. A porta é fornecida pelo ponto de extremidade da VPC, permitindo que você acesse o serviço do ponto de extremidade da VPC. Faixa suportada: 1 a 65535.

Mínimo: 1

Máximo: 65535

server_port

Não

Integer

Especifica a porta para acessar o serviço do ponto de extremidade da VPC. Essa porta está associada a recursos de back-end para fornecer serviços do ponto de extremidade da VPC. Faixa suportada: 1 a 65535

Mínimo: 1

Máximo: 65535

protocol

Não

String

Protocolo de mapeamento de portas. TCP é suportado.

Padrão: TCP

Tabela 5 TagList

Parâmetro

Obrigatoriedade

Tipo

Descrição

key

Não

String

Especifica a chave de tag. Uma chave de tag contém um máximo de 36 caracteres Unicode. Não pode ser deixado em branco. Não pode conter sinais iguais (=), asteriscos (*), sinais menores (<), sinais maiores (>), barras invertidas (), vírgulas (,), barras verticais (|) e barras (/), e o primeiro e último caracteres não podem ser espaços.

Mínimo: 1

Máximo: 36

value

Não

String

Especifica a chave de tag. Um valor de tag contém um máximo de 43 caracteres Unicode e pode ser uma cadeia vazia. Não pode conter sinais iguais (=), asteriscos (*), sinais menores (<), sinais maiores (>), barras invertidas (), vírgulas (,), barras verticais (|) e barras (/), e o primeiro e último caracteres não podem ser espaços.

Mínimo: 1

Máximo: 43

Parâmetros de resposta

Código de estado: 200

Tabela 6 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

id

String

Especifica o ID único do serviço do ponto de extremidade da VPC.

port_id

String

Especifica o ID do recurso de back-end do serviço do ponto de extremidade da VPC. O ID está no formato universally unique identifier (UUID). As opções são as seguintes: ● Load balancer: especifica o ID da porta do endereço IP privado do balanceador de carga compartilhado. ● Virtual machine: especifica o ID da NIC do endereço IP do ECS. ● Virtual IP address: especifica o ID da NIC do servidor físico onde o recurso virtual está localizado.

vip_port_id

String

Especifica o ID da NIC virtual à qual o endereço IP virtual está vinculado. Esse parâmetro é retornado somente quando port_id é definido como VIP.

service_name

String

Especifica o nome do serviço do ponto de extremidade da VPC.

Mínimo: 0

Máximo: 128

server_type

String

Especifica o tipo de recurso. ● VM: indica um servidor de nuvem. ● VIP: indica o endereço IP virtual. ● LB: indica um balanceador de carga compartilhado.

vpc_id

String

Especifica o ID da VPC à qual pertence o recurso de back-end do serviço do ponto de extremidade da VPC.

pool_id

String

Especifica o ID do cluster do serviço do ponto de extremidade da VPC.

approval_enabled

Boolean

Especifica se a aprovação é necessária. ● false: nenhuma aprovação é necessária. O ponto de extremidade da VPC criado está no estado aceito por padrão. ● true: a aprovação é necessária. O ponto de extremidade da VPC criado está no estado pendenteAcceptance e pode ser usado somente após ser aprovado pelo usuário do serviço do ponto de extremidade da VPC.

status

String

Especifica o status do serviço do ponto de extremidade da VPC. ● creating: o serviço do ponto de extremidade da VPC está sendo criado. ● available: o serviço do ponto de extremidade da VPC pode ser conectado. ● failed: falhou ao criar o serviço do ponto de extremidade da VPC.

service_type

String

Especifica o tipo do serviço do ponto de extremidade da VPC. Existem dois tipos de serviços do ponto de extremidade da VPC: interface e gateway. ● gateway: os serviços do ponto de extremidade de VPC desse tipo são configurados por equipe de O&M. Você pode usá-los diretamente sem criá-los por si mesmos. ● interface: serviços de nuvem configurados pela equipe de O&M e serviços privados criados por você estão incluídos. Os serviços de nuvem configurados pela equipe de O&M não precisam ser criados. Você pode usá-lo diretamente. Você pode criar um ponto de extremidade da VPC para acessar serviços de gateway e interface do ponto de extremidade da VPC.

created_at

String

Especifica o horário de criação do serviço do ponto de extremidade da VPC. O formato de hora UTC aplicado é AAAA-MMDDTHH:MM:SSZ.

updated_at

String

Especifica o horário de atualização do serviço do ponto de extremidade da VPC. O formato de hora UTC aplicado é AAAA-MMDDTHH:MM:SSZ.

project_id

String

ID do projeto

cidr_type

String

Especifica o tipo de bloco CIDR. ● public: indica um bloco CIDR público. ● internal: indica um bloco CIDR privado. O valor padrão é internal.

ports

Array of PortList objects

Especifica os mapeamentos de porta abertos pelo serviço do ponto de extremidade da VPC. Mapeamentos de porta duplicados não são permitidos no mesmo serviço do ponto de extremidade da VPC. Se vários serviços do ponto de extremidade da VPC compartilharem um ID de porta, as combinações de portas e protocolos de servidor para todos os mapeamentos de porta entre os serviços do ponto de extremidade da VPC devem ser exclusivas.

tcp_proxy

String

Especifica se as informações do cliente, como endereço IP, número da porta e marker_id, são transmitidas ao servidor. Os seguintes métodos são suportados: ● TCP TOA: transmite as informações do cliente inseridas no campo de tcp option para o servidor. Observação: TCP TOA é suportado apenas quando o tipo de recurso de back-end é Object Storage Service (OBS). ● Proxy Protocol: transmite as informações do cliente inseridas no campo de tcp payload para o servidor. tcp_proxy só está disponível quando o servidor pode analisar os campos tcp option e tcp payload. Os valores são os seguintes: ● close: indica que o protocolo proxy está desativado. ● toa_open: indica que o protocolo proxy tcp_toa está habilitado. ● proxy_open: indica que o protocolo proxy proxy_protocol está ativado. ● open: indica que tcp_toa e proxy_protocol estão habilitados. O valor padrão é close.

tags

Array of TagList objects

Lista de tags de recursos

Descrição

String

Especifica o campo de descrição. O valor pode conter caracteres como letras e dígitos, mas não pode conter sinais menores (<) e sinais maiores (>).

Tabela 7 PortList

Parâmetro

Tipo

Descrição

client_port

Integer

Especifica a porta a ser acessada por um ponto de extremidade da VPC. A porta é fornecida pelo ponto de extremidade da VPC, permitindo que você acesse o serviço do ponto de extremidade da VPC. Faixa suportada: de 1 a 65535.

Mínimo: 1

Máximo: 65535

server_port

Integer

Especifica a porta para acessar o serviço do ponto de extremidade da VPC. Essa porta está associada a recursos de back-end para fornecer serviços do ponto de extremidade da VPC. Faixa suportada: 1 a 65535

Mínimo: 1

Máximo: 65535

protocol

String

Protocolo de mapeamento de portas. TCP é suportado.

Padrão: TCP

Tabela 8 TagList

Parâmetro

Tipo

Descrição

key

String

Especifica a chave de tag. Uma chave de tag contém um máximo de 36 caracteres Unicode. Não pode ser deixado em branco. Não pode conter sinais iguais (=), asteriscos (*), sinais menores (<), sinais maiores (>), barras invertidas (), vírgulas (,), barras verticais (|) e barras (/), e o primeiro e último caracteres não podem ser espaços.

Mínimo: 1

Máximo: 36

value

String

Especifica a chave de tag. Um valor de tag contém um máximo de 43 caracteres Unicode e pode ser uma cadeia vazia. Não pode conter sinais iguais (=), asteriscos (*), sinais menores (<), sinais maiores (>), barras invertidas (), vírgulas (,), barras verticais (|) e barras (/), e o primeiro e último caracteres não podem ser espaços.

Mínimo: 1

Máximo: 43

Código de estado: 400

Tabela 9 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 10 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 401

Tabela 11 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 12 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 403

Tabela 13 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 14 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 404

Tabela 15 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 16 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 405

Tabela 17 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 18 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 406

Tabela 19 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 20 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 407

Tabela 21 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 22 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 408

Tabela 23 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 24 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 409

Tabela 25 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 26 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 500

Tabela 27 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 28 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 501

Tabela 29 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 30 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 502

Tabela 31 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 32 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 503

Tabela 33 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 34 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Código de estado: 504

Tabela 35 Parâmetros de corpo da resposta

Parâmetro

Tipo

Descrição

error

Error object

Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa.

Tabela 36 Erro

Parâmetro

Tipo

Descrição

message

String

Descrição do erro da tarefa

code

String

Código de erro de uma exceção de tarefa.

Exemplo de solicitações

POST https://{endpoint}/v1/{project_id}/vpc-endpoint-services

{
  "port_id" : "4189d3c2-8882-4871-a3c2-d380272eed88",
  "vpc_id" : "4189d3c2-8882-4871-a3c2-d380272eed80",
  "approval_enabled" : false,
  "service_type" : "interface",
  "server_type" : "VM",
  "ports" : [ {
    "client_port" : 8080,
    "server_port" : 90,
    "protocol" : "TCP"
  }, {
    "client_port" : 8081,
    "server_port" : 80,
    "protocol" : "TCP"
  } ]
}

Exemplo de respostas

Código de estado: 200

O servidor processou a solicitação com sucesso.

{
  "id" : "4189d3c2-8882-4871-a3c2-d380272eed83",
  "port_id" : "4189d3c2-8882-4871-a3c2-d380272eed88",
  "vpc_id" : "4189d3c2-8882-4871-a3c2-d380272eed80",
  "pool_id" : "5289d3c2-8882-4871-a3c2-d380272eed80",
  "status" : "available",
  "approval_enabled" : false,
  "service_name" : "test123",
  "service_type" : "interface",
  "server_type" : "VM",
  "project_id" : "6e9dfd51d1124e8d8498dce894923a0d",
  "created_at" : "2022-04-14T09:35:47Z",
  "ports" : [ {
    "client_port" : 8080,
    "server_port" : 90,
    "protocol" : "TCP"
  }, {
    "client_port" : 8081,
    "server_port" : 80,
    "protocol" : "TCP"
  } ]
}

Códigos de estado

Código de estado

Descrição

200

O servidor processou a solicitação com sucesso.

400

A solicitação não pôde ser entendida pelo servidor devido à sintaxe mal formada.

401

A página solicitada requer um nome de usuário e senha.

403

O servidor entendeu o pedido, mas está se recusando a cumpri-lo.

404

O servidor não encontrou nada que corresponda ao URI da solicitação.

405

O método especificado na linha de solicitação não é permitido para o recurso identificado pelo URI da solicitação.

406

O recurso identificado pela solicitação só é capaz de gerar entidades de resposta que tenham características de conteúdo não aceitáveis de acordo com os cabeçalhos de aceitação enviados na solicitação.

407

O cliente deve primeiro autenticar-se com o proxy.

408

O cliente não produziu uma solicitação dentro do tempo que o servidor estava preparado para esperar.

409

A solicitação não pôde ser concluída devido a um conflito com o estado atual do recurso.

500

Falhou ao concluir a solicitação. Anormalidade de serviço.

501

Falhou ao concluir a solicitação. O servidor não suporta a função solicitada.

502

Falhou ao concluir a solicitação. porque o servidor recebe uma resposta inválida.

503

Falhou ao concluir a solicitação. porque o sistema não está disponível.

504

Gateway expirou o tempo limite

Códigos de erro

Consulte Códigos de erro.