Chame a Cloud Control API pelo PrivateLink para acessar o service de forma privada, sem expor o tráfego à internet pública.
Visão geral
O que é o PrivateLink?
O PrivateLink estabelece conexões privadas entre sua VPC e os services da Alibaba Cloud, aumentando a segurança e a estabilidade ao manter o tráfego fora da internet pública.
Casos de uso
Recomendamos o uso do PrivateLink para chamar a Cloud Control API em ambientes de produção. Os casos de uso típicos incluem:
Requisitos rigorosos de segurança e conformidade: A política de segurança corporativa proíbe ou restringe o acesso à internet pública.
Otimização de custos: Redução das taxas de transferência de dados públicos e diminuição do custo total de propriedade (TCO).
Implantação multirregional: Necessidade de implantar aplicações em várias regiões com uma arquitetura de rede unificada.
Benefícios
|
Benefício |
Descrição |
|
Baixa latência |
Conexões privadas diretas reduzem a latência de rede em 30% a 50% em comparação ao acesso pela internet pública. |
|
Alta estabilidade |
Evita a volatilidade da internet pública. |
|
Isolamento seguro |
O tráfego não passa pela internet pública. |
Pré-requisitos
Requisitos de permissão
A configuração de um endpoint do PrivateLink exige as seguintes permissões:
AliyunVPCFullAccess: Acesso total à VPC.
AliyunPrivateLinkFullAccess: Acesso total ao PrivateLink.
Requisitos de recursos
Verifique se os seguintes recursos estão disponíveis na região do service da Cloud Control API que você deseja chamar:
|
Região do service de API |
Nome de domínio |
Região da VPC |
|
Serviço doméstico |
cloudcontrol.aliyuncs.com |
cn-zhangjiakou (China (Zhangjiakou)) |
|
Serviço internacional |
cloudcontrol.ap-southeast-1.aliyuncs.com |
ap-southeast-1 (Singapore) |
Lista de verificação de recursos:
Uma instância de VPC na região de destino.
Pelo menos um vSwitch disponível na VPC.
Garanta que o vSwitch tenha endereços IP disponíveis suficientes.
Regiões do service
A Cloud Control API está disponível nas regiões a seguir. Selecione uma região com base nas necessidades do seu negócio.
Serviço doméstico (cn-zhangjiakou)
Endpoint service:
com.aliyuncs.privatelink.cn-zhangjiakou.cloudcontrol-apiNome de domínio público:
cloudcontrol.aliyuncs.comNome de domínio privado:
cloudcontrol.vpc-proxy.aliyuncs.com
Serviço internacional (ap-southeast-1)
Endpoint service:
com.aliyuncs.privatelink.ap-southeast-1.cloudcontrolNome de domínio público:
cloudcontrol.ap-southeast-1.aliyuncs.comNome de domínio privado:
cloudcontrol-vpc.ap-southeast-1.aliyuncs.com
Após configure o PrivateLink, atualize o código da sua aplicação para usar o nome de domínio privado correspondente.
Procedimento
Configuração na mesma região
Se a sua aplicação estiver implantada na mesma região do service da Cloud Control API (cn-zhangjiakou ou ap-southeast-1), crie um endpoint diretamente nessa região.
Etapa 1: Faça login no console
Faça login no console da VPC.
No painel de navegação à esquerda, clique em Endpoints.
Na aba Interface Endpoint, clique em Enable PrivateLink.
Etapa 2: Selecione uma região
Na lista suspensa Region, selecione uma região:
Para acessar o service doméstico, selecione China (Zhangjiakou).
Para acessar o service internacional, selecione Singapore.
Etapa 3: Configure as informações básicas
|
Parâmetro |
Descrição |
Exemplo |
|
Endpoint Name |
Insira um nome descritivo para o endpoint. |
|
|
Endpoint Type |
Selecione Interface Endpoint. |
Interface Endpoint |
|
Resource Type |
Selecione Alibaba Cloud Service. |
Alibaba Cloud Service |
Etapa 4: Selecione um endpoint service
-
Na caixa de pesquisa Endpoint Service, insira o nome do service conforme o seu service de destino:
Serviço doméstico:
com.aliyuncs.privatelink.cn-zhangjiakou.cloudcontrol-apiServiço internacional:
com.aliyuncs.privatelink.ap-southeast-1.cloudcontrol
Selecione o endpoint service nos resultados da pesquisa.
Etapa 5: Ative um nome de domínio personalizado
Selecione Enable Custom Domain Name. O sistema atribui automaticamente um nome de domínio privado.
Nome de domínio do service doméstico:
cloudcontrol.vpc-proxy.aliyuncs.comNome de domínio do service internacional:
cloudcontrol-vpc.ap-southeast-1.aliyuncs.com
Etapa 6: Configure as definições de rede
|
Parâmetro |
Descrição |
Melhor prática |
|
VPC |
Selecione a VPC onde sua aplicação está implantada. |
Verifique se a VPC corresponde à implantação da sua aplicação. |
|
Zone and vSwitch |
Selecione pelo menos um vSwitch. Recomendamos selecionar vários vSwitches para alta disponibilidade. |
Em ambientes de produção, selecione vSwitches em duas ou três zonas diferentes. |
|
Security group |
Selecione um grupo de segurança para restringir as origens de acesso. |
Configure regras que permitam acesso apenas do grupo de segurança da sua aplicação. |
Exemplo de configuração multizona:
Zone A: vsw-xxxxx
Zone B: vsw-yyyyy
Etapa 7: Configure uma política de endpoint
Uma política de endpoint define quais contas da Alibaba Cloud ou usuários RAM podem acessar o service por meio do endpoint.
Conceda acesso apenas às contas necessárias, seguindo o princípio do menor privilégio.
Política padrão (permite todos):
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "*"
}
]
}
Política recomendada (permite apenas a conta atual):
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Aliyun": [
"acs:ram::YOUR_ACCOUNT_ID:root"
]
},
"Action": "*",
"Resource": "*"
}
]
}
Etapa 8: Crie e verifique
Clique em OK para criar o endpoint.
Aguarde de 2 a 5 minutos até que o status do endpoint se torne Active.
O status da conexão mudará para Connected.
Descrições de status:
Creating: O endpoint está sendo criado.
Active: O endpoint está pronto para uso.
Abnormal : A criação falhou ou a conexão não está funcionando. Verifique sua configuração. Após a criação do endpoint, confirme o seguinte na página de detalhes: na seção Basic Information, o Status deve ser Active e o Connection Status deve ser Connected. Na seção Endpoint Service Domain Name, verifique se o Custom Domain Name está ativado e exibe o domínio esperado.
Configuração entre regiões
Para conectar-se a partir de uma região diferente de cn-zhangjiakou ou ap-southeast-1, use o CEN para estabelecer uma conexão entre regiões.
Etapa 1: Crie o endpoint na região de destino
Crie um endpoint em
cn-zhangjiakououap-southeast-1. Para obter instruções, consulte Same-region configuration.Anote o ID da VPC onde o endpoint está localizado.
Etapa 2: Conecte as regiões com o CEN
Para obter informações sobre como configure o CEN, consulte Connect VPCs across regions.
Verificação e testes
Verifique a conectividade
Faça login na instância ECS ou de contêiner que executa sua aplicação e execute o seguinte comando:
Verificação do service doméstico:
curl -v cloudcontrol.vpc-proxy.aliyuncs.com
Verificação do service internacional:
curl -v cloudcontrol-vpc.ap-southeast-1.aliyuncs.com
Indicador de sucesso:
Uma conexão bem-sucedida inclui um cabeçalho x-acs-request-id na resposta HTTP. Exemplo de saída:
< HTTP/1.1 401 Unauthorized
< date: Thu, 09 Oct 2025 10:30:00 GMT
< content-type: application/json
< x-acs-request-id: 23C12345-1234-1234-1234-123456789ABC
< x-acs-trace-id: 0b12345678901234567890123456789a
...
É esperado que a API retorne um código de status 401, pois a solicitação não inclui credenciais.
A presença do cabeçalho x-acs-request-id confirma que a solicitação alcançou o endpoint do service da Alibaba Cloud por meio da conexão privada.
Exemplo de integração com aplicação
Exemplo em Java
import com.aliyun.cloudcontrol20220830.Client;
import com.aliyun.teaopenapi.models.Config;
public class PrivateLinkExample {
public static void main(String[] args) throws Exception {
// Configure the client.
Config config = new Config()
.setAccessKeyId("<YOUR-ACCESS-KEY-ID>")
.setAccessKeySecret("<YOUR-ACCESS-KEY-SECRET>")
// Use the private endpoint.
// For the domestic service
.setEndpoint("cloudcontrol.vpc-proxy.aliyuncs.com")
.setHost("cloudcontrol.aliyuncs.com")
// For the international service
// .setEndpoint("cloudcontrol-vpc.ap-southeast-1.aliyuncs.com")
.setProtocol("https");
Client client = new Client(config);
// Use the client object for subsequent API calls.
try {
var response = client.listResources(...);
System.out.println("Request successful: " + response.getBody().getRequestId());
} catch (Exception e) {
System.err.println("Request failed: " + e.getMessage());
}
}
}