通过私网连接(PrivateLink)访问日志服务

私网连接(PrivateLink)能够帮助您在阿里云VPC和本地数据中心中,通过私有网络,安全稳定地访问部署在其他 VPC中的服务,简化网络架构,同时避免通过公网访问服务带来的安全风险。本文介绍如何通过私网连接(PrivateLink)访问日志服务。

背景信息

在访问云服务的过程中,常常面临如下挑战:

  • 数据安全隐忧:通过公共网络访问可能导致敏感信息泄露。

  • 地址空间冲突:云服务默认使用的网段可能与本地数据中心(IDC)重叠,引发冲突。

  • 运维管控难题:传统私网接入方式难以对云服务流量进行独立审计。

为应对上述挑战,推荐使用私网连接(PrivateLink),其主要优势包括:

  • 强化数据隐私:通过私网访问防止数据暴露于公网,降低泄露风险。

  • 网络架构优化:简化路由配置,避免云上云下地址冲突,提升管理效率。

  • 增强访问控制:PrivateLink支持源端鉴权,精确管理访问权限以保障数据安全。同时,利用VPC流日志和流量镜像功能,可全面监控和审计访问流量,进一步增强安全性。

前提条件

费用说明

  • PrivateLink开通时不产生费用。开通成功后按实际使用量计费,每小时出账。费用包含实例费和流量处理费。更多信息,请参见 私网连接计费说明

  • PrivateLink的服务使用方和服务提供方可以是不同的阿里云账号,支持将费用归入服务使用方或者服务提供方的账号进行出账。更多信息,请参见付费方说明

操作步骤

  1. 创建终端节点。

    1. 登录专有网络管理控制台

    2. 在左侧导航栏,单击终端节点

    3. 在顶部菜单栏处,选择任意支持通过终端节点私网访问日志服务资源的地域。

    4. 终端节点页面下的接口终端节点页签,单击创建终端节点

    5. 创建终端节点页面,按以下说明配置各项参数,其他参数保留默认配置。

      参数

      说明

      节点名称

      输入自定义终端节点的名称。

      终端节点类型

      选择口终端节点,表示服务使用方通过接口终端节点访问服务提供方提供的服务。

      终端节点服务

      单击阿里云服务,然后在终端节点服务名称搜索框输入com.aliyuncs.privatelink.${region_id}.log,并选中该终端节点服务。

      说明
      • 示例代码中${region_id}为日志服务Project所在地域,请参见开服地域后替换,例如华东 1(杭州)对应的${region_id}cn-hangzhou

      • 一个终端节点仅支持关联一个终端节点服务。

      image

      专有网络

      选择需要创建终端节点的专有网络。

      安全组

      选择要与终端节点网卡关联的安全组,安全组可以管控到终端节点网卡的数据通信。

      可用区与交换机

      选择终端节点服务对应的可用区,然后选择该可用区内的交换机。系统会自动在每个交换机下创建一个终端节点网卡。

    6. 单击确认创建

      创建完成后,您需要记录生成的终端节点域名,用于后续访问日志服务。

      image.png

  2. 使用终端节点域名访问日志服务。

    1. 连接ECS实例。具体步骤,请参见连接ECS实例

    2. 通过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 IDAccessKey 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());
              }
          }
      }