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
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
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. |
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 (>). |
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 |
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
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 (>). |
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 |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Error object |
Especifica a mensagem de erro retornada quando ocorre uma exceção de envio de tarefa. |
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.