私网连接(PrivateLink)能够帮助您在阿里云VPC和本地数据中心中,通过私有网络,安全稳定地访问部署在其他 VPC中的服务,简化网络架构,同时避免通过公网访问服务带来的安全风险。本文介绍如何通过私网连接(PrivateLink)访问日志服务。
背景信息
在访问云服务的过程中,常常面临如下挑战:
数据安全隐忧:通过公共网络访问可能导致敏感信息泄露。
地址空间冲突:云服务默认使用的网段可能与本地数据中心(IDC)重叠,引发冲突。
运维管控难题:传统私网接入方式难以对云服务流量进行独立审计。
为应对上述挑战,推荐使用私网连接(PrivateLink),其主要优势包括:
强化数据隐私:通过私网访问防止数据暴露于公网,降低泄露风险。
网络架构优化:简化路由配置,避免云上云下地址冲突,提升管理效率。
增强访问控制:PrivateLink支持源端鉴权,精确管理访问权限以保障数据安全。同时,利用VPC流日志和流量镜像功能,可全面监控和审计访问流量,进一步增强安全性。
前提条件
目前私网连接(PrivateLink)仅支持白名单使用。如需使用,请提工单申请。
已在与终端节点相同的地域创建专有网络VPC和交换机。具体操作,请参见创建和管理专有网络。
已在同一个VPC内创建ECS实例。具体操作,请参见控制台自定义购买并使用ECS实例。
费用说明
操作步骤
创建终端节点。
登录专有网络管理控制台。
在左侧导航栏,单击终端节点。
在顶部菜单栏处,选择任意支持通过终端节点私网访问日志服务资源的地域。
在终端节点页面下的接口终端节点页签,单击创建终端节点。
在创建终端节点页面,按以下说明配置各项参数,其他参数保留默认配置。
参数
说明
节点名称
输入自定义终端节点的名称。
终端节点类型
选择接口终端节点,表示服务使用方通过接口终端节点访问服务提供方提供的服务。
终端节点服务
单击阿里云服务,然后在终端节点服务名称搜索框输入
com.aliyuncs.privatelink.${region_id}.log
,并选中该终端节点服务。说明示例代码中
${region_id}
为日志服务Project所在地域,请参见开服地域后替换,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。一个终端节点仅支持关联一个终端节点服务。
专有网络
选择需要创建终端节点的专有网络。
安全组
选择要与终端节点网卡关联的安全组,安全组可以管控到终端节点网卡的数据通信。
可用区与交换机
选择终端节点服务对应的可用区,然后选择该可用区内的交换机。系统会自动在每个交换机下创建一个终端节点网卡。
单击确认创建。
创建完成后,您需要记录生成的终端节点域名,用于后续访问日志服务。
使用终端节点域名访问日志服务。
连接ECS实例。具体步骤,请参见连接ECS实例。
通过SDK以终端节点域名的方式访问日志服务。
import com.aliyun.openservices.log.Client; import com.aliyun.openservices.log.exception.LogException; public class CreateProject { public static void main(String[] args) throws LogException { // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。 String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"); String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"); // 输入Project名称。 String projectName = "ali-test-project"; // 填写终端节点域名。 String host = "https://cn-hangzhou-internal.log.aliyuncs.com"; // 创建日志服务Client。 Client client = new Client(host, accessId, accessKey); // 创建Project。 try { String projectDescription = "project description"; System.out.println("ready to create project"); client.CreateProject(projectName, projectDescription); System.out.println(String.format("create project %s success",projectName)); } catch (LogException e) { System.out.println("LogException e :" + e.toString()); System.out.println("error code :" + e.GetErrorCode()); System.out.println("error message :" + e.GetErrorMessage()); } } }