You need to enable JavaScript to run this app.
导航
IDC共享云上对象存储服务
最近更新时间:2024.08.01 14:49:07首次发布时间:2023.10.16 17:12:57

本文将介绍如何通过私网连接服务将火山引擎对象存储服务共享给本地IDC。

场景介绍

云上VPC或云下IDC通过私网连接服务可以安全地访问云上的对象存储服务(Tinder Object Storage,简称TOS),同时能够避免多云场景下,不同云厂商之间云服务地址冲突的问题。

云服务指由云厂商提供的云上公共服务,火山引擎提供的云服务部署在100.64.0.0/10网段,例如TOS服务。

本文为您介绍使用私网连接打通TOS服务时不同场景的的配置指导。

  • 终端节点服务与接口终端节点的默认域名中仅包含实例ID、地域信息,无法判断云服务类型。若希望通过私网连接区分云服务的类型和存储桶对象,请使用接口终端节点泛域名功能。
  • 通过接口终端节点访问TOS服务时,私网连接默认放通目标VPC访问TOS服务的所有流量。若希望通过私网连接控制VPC访问存储桶的范围,请使用网关终端节点。
  • 私网连接默认支持http协议访问,如需使用https协议,请参见通过自定义域名访问对象存储

具体组网场景如下图所示。
alt

前提条件

  • 已创建私有网络VPC、子网及其云服务器,具体操作请参见创建私有网络购买云服务器实例
  • 云下IDC需通过私网连接访问对象存储服务时,请确保已完成云下IDC与云上VPC的打通。请根据连通云下IDC所使用的云服务,选择适当的操作步骤。
  • 如需使用网关终端节点,请确保已获取到待访问私有存储桶的名称。

配置步骤

步骤一:获取终端节点服务名称

终端节点服务由对接私网连接服务的业务方创建,您需要联系客户经理将对应火山引擎云服务授权给您的火山引擎账号,然后获取终端节点服务的名称,如下表所示。

火山引擎云服务服务名称
对象存储TOScom.volces.privatelink.地域ID.tos-s3

说明

上表服务名称中的地域ID请按需替换。本文中服务名称以com.volces.privatelink.cn-beijing.tos-s3为例进行介绍。

步骤二:创建终端节点

请根据实际需求场景选择适当类型的终端节点。

创建接口终端节点

详细步骤可参见创建接口终端节点,需要注意的参数如下:

  • 类型选择接口。
  • 终端节点服务选择步骤一中获取的名称。

接口终端节点创建成功后,可以在终端节点列表页面查看终端节点域名。

  • 终端节点默认域名格式为:终端节点ID.终端节点服务ID.地域ID.privatelink.volces.com。
  • 终端节点泛域名格式为:*.终端节点ID.终端节点服务ID.地域ID.privatelink.volces.com。

创建网关终端节点

详细步骤可参见创建网关终端节点,需要注意的参数如下:

  • 类型选择网关。
  • 终端节点服务选择步骤一中获取的名称。
  • 访问策略请根据实际需求配置。例如:希望通过私网连接仅可以查看某个私有存储桶及其中的所有对象,则访问策略配置如下:
    { 
    	   "Statement" : [
    	    {
    	       "Effect": "Allow",
    	       "Principal": [
    	         "trn:iam::210005****:user/test",  # 指定允许主账号210005****下的用户test访问相应的存储桶
    	         "trn:iam::210006****:root"   # 指定允许主账号210006****下的所有用户访问相应的存储桶
    	       ],
    	       "Action":[            # 指定可执行的操作
    	         "tos:ListBuckets",
    	         "tos:ListObject*"
    	       ],
    	       "Resource":[
    	         "trn:tos:::bucketname/*"  # 指定私有存储桶的名称
    	       ]
    	     }
    	   ]
      }
    

步骤三:结果验证

  1. 登录云下IDC或云上VPC中的服务器。

  2. 如果使用接口终端节点,请执行ping命令访问终端节点域名,测试网络连通性。网关终端节点请跳过该步骤。

    注意

    如果接口终端节点启用了泛域名功能,则此处验证时,请注意终端节点域名中的*需替换为任意字符串,也可以直接使用根域名。

  3. 调用API或SDK访问对象存储。
    例如,通过私网连接查看某存储桶中的所有对象,请求参数传入说明如下:

    • 接口终端节点
      • API访问时,Host传入终端节点域名。
        以调用API列举对象为例,请求示例如下所示。
        GET / HTTP/1.1 
        Host: ep-3rf21wq2bsh6o5zsk2ipt****.tos-s3.cn-beijing.privatelink.volces.com  ## 传入终端节点域名
        Date: Fri, 30 Jul 2021 08:05:36 GMT 
        Authorization: authorization string
        
      • SDK访问时,以 Go SDK 为例进行说明:accessKeysecretKey分别传入终端节点所属账号的AK和SK,endpoint传入终端节点域名,region传入终端节点所属地域ID,bucketName传入需要访问的存储桶名称。
    • 网关终端节点
      API或SDK访问时,相关信息均填写对象存储服务的信息,访问已授权的存储桶及操作可正常进行,访问其他未授权的存储桶会报错无权限。