
# 通过ELB代理访问OBS
#### 应用场景
如果您的IDC机房由于IP规划或其他原因，不能在本地机房配置OBS内网IP、专线IP网段的路由，只能使用虚拟私用云VPC的私有IP网段，可以参考本方案使用ELB代理实现IDC通过VPC私网IP访问云上OBS资源。
#### 方案架构
图1使用ELB代理IDC访问OBS   
![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002429328542.png "点击放大")
如[图1]所示，使用ELB代理实现IDC通过云专线访问OBS的原理如下：
1. IDC数据中心访问VPC私有IP。
2. IDC侧网关将对VPC私有IP的访问路由到云专线，发往华为云专线网关。数据通过**专线** 进行传输，到达华为云的专线网关。数据传输全程在**内网**进行，与公网不发生交互，速度更快安全性更好。
3. 专线网关将对VPC私有IP的访问路由到客户虚拟私有云VPC中的弹性负载均衡ELB**。**
4. ELB将访问请求分发到与OBS桶绑定的**VPCEP**终端节点。
5. 通过VPC关联的**VPCEP终端节点**到达OBS，完成对OBS的访问。
#### 资源和成本规划
以下资源需要**部署在同一个区域**中，本文以"华北-北京四"为例。
表1资源和成本规划 
| 资源       | 资源名称             | 资源说明                                                   | 数量 | 费用                                                                             |
|:---|:---|:---|:---|:---|
| 云专线DC    | example-dc       | 用于连接线下数据中心IDC和虚拟私有云VPC的私有专属通道。                         | 1  | 详情请参见[云专线产品价格详情](https://www.huaweicloud.com/pricing.html#/dline)。             |
| 虚拟私有云VPC | example-vpc      | VPC是您在云上的私有网络，为云上资源构建隔离、私密的虚拟网络环境，**该VPC需要与云专线相连接**。   | 1  | 免费。                                                                            |
| ELB负载均衡器 | example-elb      | 作为OBS的代理，将对VPC私网IP的访问分发到OBS桶。该ELB需要部署在专线对接的VPC中。       | 1  | 详情请参见[弹性负载均衡产品价格详情](https://www.huaweicloud.com/pricing/calculator.html#/elb)。 |
| VPC终端节点  | example-ep       | 用于连接VPC与OBS桶。该VPC终端节点需要绑定与专线对接的VPC，并且与要连接的OBS桶处于同一个集群。 | 1  | 免费。                                                                            |
| OBS桶     | example-bucket-a | 被线下数据中心IDC访问的桶。                                        | 1  | 详情请参见[OBS计费说明](https://support.huaweicloud.com/price-obs/obs_42_0001.html)     |
   
#### 操作流程
![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002525133065.png)
#### 准备工作
开始执行操作前，请确保您已完成以下准备工作：
- 拥有一个虚拟私有云VPC，如果还没有请参考[创建虚拟私有云和子网](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0013935842.html)创建VPC。本文假设VPC部署在"华北-北京四"，名为"example-vpc"。
- 已使用云专线完成线下数据中心IDC与华为云VPC之间的通道搭建，详情参见[云专线搭建最佳实践](https://support.huaweicloud.com/bestpractice-dc/dc_05_1000.html)。本文假设云专线部署在"华北-北京四"，名为"example-dc"。
- 拥有一个OBS桶，如果没有请参考[创建桶](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829088.html)创建OBS桶。本文假设OBS桶部署在"华北-北京四"，名为"example-bucket-a"。
 
#### 步骤一：在VPCEP控制台创建终端节点并配置VPCEP策略
1. 进入[VPCEP控制台终端节点列表页](https://console.huaweicloud.com/vpc/?agencyId=7dc9c9806c414731b45a360a2e1ddd9e&locale=zh-cn#/ep/list)。
2. 单击右上角"购买终端节点"，进入购买页。
3. 在"购买终端节点"页面，根据提示配置参数。此处仅针对本实践中的关键参数进行设置和介绍，其他参数保持默认，更多参数详细信息请参见[购买终端节点](https://support.huaweicloud.com/usermanual-vpcep/zh-cn_topic_0131645189.html)。
   
   
   | 参数    | **示例**          | 说明                                                                                                                                                                                                                                                                         |
   |:---|:---|:---|
   | 区域    | **华北-北京四**      | 终端节点所在区域。要求与VPC、OBS桶所在区域保持一致。                                                                                                                                                                                                                                              |
   | 计费方式  | **按需计费**        | 按需计费是后付费模式，按终端节点的实际使用时长计费，可以随时开通/删除终端节点。                                                                                                                                                                                                                                   |
   | 服务类别  | **按名称查找服务**     | 选择"按名称查找服务"。                                                                                                                                                                                                                                                               |
   | 服务名称  | **-**           | 在终端节点服务列表的"服务名称"列，输入待访问终端节点服务的名称，单击"验证"。 [提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/feedbackBusiness?productTypeId=2a129f7ed0b543c6b92d73e2c26aa590)获取服务名称，提交工单时同步提供OBS桶名给技术支持人员。将从工单中获得的服务名称填写到"服务名称"中，单击"验证"。 |
   | 虚拟私有云 | **example-vpc** | 选择**与云专线对接的VPC**。此处以部署在"华北-北京四"，名为"example-vpc"的VPC为例，该VPC与"example-dc"云专线对接。                                                                                                                                                                                              |
   | 策略    | **-**           | 设置终端节点策略。您可以根据业务需求配置访问策略，详情参见[双端固定](https://support.huaweicloud.com/usermanual-obs/obs_03_0602.html)。                                                                                                                                                                      |
      
   
   
4. 单击右下角的"立即购买"。
5. 确认终端节点配置，单击"提交"。
 
#### 步骤二：在ELB控制台创建独享型ELB并添加监听器
**创建独享型ELB**
1. 进入[购买弹性负载均衡页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/create/custom)。
2. 根据界面提示选择负载均衡器的基础配置，配置参数如[表2]所示。此处仅针对本实践中的关键参数进行设置和介绍，其他参数保持默认，更多参数详细信息请参见[购买独享型负载均衡器](https://support.huaweicloud.com/usermanual-elb/elb_lb_000006.html)。
   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002428039398.png "点击放大")
    表2负载均衡器的基础配置 
   | 参数   | **示例**                                         | 说明                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|:---|
   | 实例类型 | **独享型**                                        | 选择独享型。 独享型实例适用于大流量高并发的业务场景，如大型网站、云原生应用、车联网、多可用区容灾应用。实例类型的区别详见[独享型负载均衡与共享型弹性负载均衡的区别](https://support.huaweicloud.com/productdesc-elb/elb_pro_0004.html)。                                                                                                                                             |
   | 计费模式 | **按需计费**                                       | 选择计费模式。 - 包年/包月：预付费模式，即先付费再使用，按照订单的购买周期进行结算。  - 按需计费：后付费模式，即先使用再付费，按照弹性负载均衡实际使用时长计费，秒级计费，按小时结算。                                               |
   | 计费模式 | **按需计费**                                       | 按需计费：后付费模式，即先使用再付费，按照弹性负载均衡实际使用时长计费，秒级计费，按小时结算。                                                                                                                                                                                                                                                                                   |
   | 区域   | **华北-北京四**                                     | 选择VPC和OBS所在的region，此处以"华北-北京四"为例。                                                                                                                                                                                                                                                                                                 |
   | 可用区  | **可用区1** **可用区2** | 可用区是指在同一区域下，电力、网络隔离的物理区域，可用区之间内网互通，不同可用区之间物理隔离。 建议选择多个可用区，提高服务的可用性。更多可用区规划请参考[实例可用区](https://support.huaweicloud.com/usermanual-elb/elb_lb_000010.html#elb_lb_000010__section818284043213)。 警告： 实例创建后，修改可用区配置可能会导致该实例的业务闪断数秒，请在购买时做好规划。 |
   | 名称   | **example-elb**                                | 待创建负载均衡器的名称。 - 长度范围为1\~64位。  - 名称由中文、英文字母、数组、下划线（_）、中划线（-）和点组成。                                                                                   |
   | 企业项目 | **default**                                    | 创建负载均衡器时，可以将其加入已启用的企业项目。 企业项目是一种云资源管理方式，企业项目管理服务提供统一的云资源按项目管理，以及项目内的资源管理、成员管理。关于创建和管理企业项目的详情，请参见[《企业管理用户指南》](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0131965280.html)                                                                                                             |
      
   
   
3. 选定独享型负载均衡实例的基础配置后，您需选择弹性负载均衡的实例规格，实例规格配置参数如[表3]所示。
   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002433362016.png)
    表3负载均衡器的规格说明 
   | 参数 | **示例**   | 说明                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|:---|
   | 规格 | **弹性规格** | 选择规格。 - **弹性规格**：适用于业务用量较大的场景，按实例使用量收取LCU费用。  - **固定规格**：适用于业务用量较为稳定的场景，按固定规格折算收取LCU费用。   如何选择规格详见[独享型负载均衡的实例规格](https://support.huaweicloud.com/productdesc-elb/zh-cn_topic_0287737145.html)。 |
   | 规格 | **网络型**  | 只勾选网络型。**网络型**支持TCP、UDP和TLS协议，适用于四层大流量高并发业务，如文件传输、即时通信、在线视频等业务。                                                                                                                                                                                                                                                                                      |
      
   
   
4. 请根据界面提示选择负载均衡器的网络配置，配置参数如[表4]所示。
   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002433361860.png "点击放大")
    表4负载均衡器的网络配置 
   | 参数     | **示例**          | 说明                                                                                                                                                                                                                                                                                     |
   |:---|:---|:---|
   | 网络类型   | **IPv4私网**      | 选择IPv4私网。负载均衡器通过IPv4私网IP对外提供服务，将来自同一个VPC的客户端请求按照指定的负载均衡策略分发到后端服务器进行处理。如果您有IPv4公网业务需求，请为负载均衡实例绑定弹性公网IP。                                                                                                                                                                                 |
   | 所属VPC  | **example-vpc** | 选择**专线对接的VPC**。 负载均衡器所属虚拟私有云，**独享型ELB创建完成后不支持切换**，请做好相关网络规划。                                                                                                                                                                                               |
   | 前端子网   | -               | 前端子网为独享型负载均衡提供私网IP地址，用于与内网中的资源进行通信。请根据您的网络规划自行选择，本方案对该参数无特殊要求。                                                                                                                                                                                                                         |
   | IPv4地址 | **自动分配IP地址**    | 选择自动分配IP地址，由系统自动为负载均衡器分配IPv4地址。                                                                                                                                                                                                                                                        |
   | 后端子网   | **与前端子网保持一致**   | 选择与前端子网保持一致。 后端子网为独享型负载均衡提供私网IP地址，用于与后端服务器进行通信和健康检查。 通过合理规划子网，可以避免因ELB实例占用IP地址数量超过预期而影响业务扩展的情况，详情请参考[独享型ELB子网规划的推荐方案](https://support.huaweicloud.com/bestpractice-elb/elb_bp_0700.html)。                                     |
   | IP类型后端 | **开启**          | 开启IP类型后端。 开启后，支持用户按照IP地址为负载均衡器添加后端服务器。支持添加与ELB实例不同VPC的服务器IP地址，详情请参见[配置不同VPC的服务器作为后端服务器（IP类型后端）](https://support.huaweicloud.com/usermanual-elb/elb_ug_hd3_0004_03.html)。 开启IP类型后端，ELB需要占用后端子网中的IP地址与后端服务器进行通信，请确保预留足够的IP地址。 |
      
   
   
5. 您可以为弹性负载均衡配置弹性公网IP满足IPv4公网业务诉求，配置详情见[表5]。
   
    表5为负载均衡器配置弹性公网IP 
   | 参数     | 示例       | 说明                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|:---|
   | 弹性公网IP | **暂不购买** | 支持您为负载均衡器配置对应的弹性公网IP以处理IPv4公网业务流量。 - **暂不购买**：您可在弹性负载均衡创建完成后根据实际需求进行弹性公网IP的绑定。  - **现在购买**：系统为弹性负载均衡实例新创建一个弹性公网IP。  - **使用已有**：为弹性负载均衡实例选择一个已有的弹性公网IP地址。   |
      
   
   
6. 选择弹性负载均衡实例的购买数量，此处填写"1"。
7. 单击"立即购买"，完成创建。
**创建监听器**
您需要创建**80、443端口**共2个监听器，以下步骤以创建80端口监听器为例，执行完成后请按照相同步骤创建443端口监听器。
1. 进入[弹性负载均衡列表页](https://console.huaweicloud.com/vpc/#/elb/list/grid)。
2. 单击上面步骤创建的负载均衡名称，此处以单击"example-elb"为例。
3. 切换到"监听器"页签，单击"添加监听器"，配置监听器。参见[表6]配置监听器参数。此处仅针对本实践中的关键参数进行设置和介绍，其他参数保持默认，更多参数详细信息请参见[添加监听器](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_0006.html)。
   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002462916849.png "点击放大")
    表6独享型负载均衡配置TCP监听器参数说明 
   | 参数                                       | **示例**               | 说明                                                                                                                             |
   |:---|:---|:---|
   | 前端协议                                     | **TCP**              | 协议选择TCP。客户端与负载均衡监听器建立流量分发连接的协议。                                                                                                |
   | 监听端口  | **单端口监听**            | 负载均衡器对外提供服务时接收请求的端口。选择**单端口监听**，即仅对设置的一个监听端口进行监听。                                                                              |
   | 监听端口  | **80**               | 端口号，是负载均衡器对外提供服务时接收请求的端口。                                                                                                      |
   | 名称（可选）                                   | **example-listener** | 监听器名称。                                                                                                                         |
   | 访问控制                                     | **允许所有IP访问**         | 您可以使用ELB监听器的**访问控制** 功能来**控制访问ELB监听器的IP地址，** 更多信息请参见[访问控制策略](https://support.huaweicloud.com/usermanual-elb/elb_03_0003.html)。 |
      
   
   
4. 单击"下一步：配置后端分配策略"。
5. 选择"新创建"后端服务器组，配置后端服务器组参数请参见[表7]。
   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002429478766.png "点击放大")
    表7配置后端分配策略参数说明 
   | 参数     | **示例**                   | 说明                                                                                                                                                                                            |
   |:---|:---|:---|
   | 名称     | **example-server-group** | 待创建的后端服务器组的名称。                                                                                                                                                                                |
   | 服务器组类型 | **混合类型**                 | 指定后端服务器组的类型。 混合类型既支持按照弹性云服务器和辅助弹性网卡实例添加后端服务器，也支持开启IP类型后端功能后按照IP地址添加后端服务器。 混合类型一定需要指定虚拟私有云，且后端服务器组绑定的是该虚拟私有云下的负载均衡。                 |
   | 转发模式   | **负载均衡**                 | 负载均衡流量转发模式，选择"负载均衡"类型。负载均衡属于普通后端服务器组，里面可以添加多个后端服务器，扩展业务的服务能力。                                                                                                                                 |
   | 后端协议   | **TCP**                  | 后端云服务器自身提供的网络服务的协议，选择TCP。                                                                                                                                                                     |
   | IP版本   | **IPv4**                 | 后端服务器组支持添加后端服务器的IP地址版本，选择IPv4。                                                                                                                                                                |
   | 分配策略类型 | **加权轮询算法**               | 负载均衡采用的算法。加权轮询算法根据后端服务器的权重，按顺序依次将请求分发给不同的服务器，权重大的后端服务器被分配的概率高。 更多关于分配策略的信息，请参见[配置流量分配策略分发流量](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_0003.html)。 |
      
   
   
6. 单击"下一步：添加后端服务器"，添加后端服务器。
7. 选择"IP类型后端"页签，单击"添加IP类型后端"。参照[表8]配置IP类型后端参数。
   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002463078561.png "点击放大")
    表8添加IP类型后端 
   | 参数       | 示例            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   |:---|:---|:---|
   | IP类型后端IP | 100.125.224.5 | OBS桶在内网的IP地址。您可以选择以下任一种方式获取： - [提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/feedbackBusiness?productTypeId=2a129f7ed0b543c6b92d73e2c26aa590)获取，提交工单时同步提供OBS桶名给技术支持人员。  - 登录与OBS桶在相同region的ECS云服务器，此处以登录"华北-北京四"的ECS云服务为例，执行以下命令： **ping *BucketName*.obs.myhuaweicloud.com** 例如，执行"ping example-bucket-a.obs.myhuaweicloud.com"，系统将回显OBS桶的内网IP地址： ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002463087017.png "点击放大")    |
   | 业务端口     | 80            | 后端服务器处理访问请求的端口。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 权重       | -             | 后端服务器的转发权重。权重越高的后端服务器将被分配到越多的访问请求。每台后端服务器的权重取值范围为\[0, 100\]，新的请求不会转发到权重为0的后端服务器上，请按需配置且不要配置为0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      
   
   
8. 单击"确定"。
9. 单击"下一步：确认配置"。
10. 确认配置无误后，单击"提交"。
 
#### 步骤三：在OBS控制台为桶绑定自定义域名
1. 在左侧导航栏选择"域名管理"，进入"域名管理"界面。 
   图2域名管理界面   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002536799625.png)
   
   
2. 单击"配置自定义域名"，在用户域名中输入需要配置的自定义域名，然后单击"确定"。域名后缀目前支持的范围为2\~6个英文大小写字母。如：.com、.cn。 
   配置自定义域名
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002493060130.png "点击放大")
   
   
 
#### 步骤四：在DNS控制台配置域名解析
不同DNS服务商的CNAME配置方式不同，此处以华为云云解析服务为例。其他DNS服务商的CNAME配置方法可参考[配置CNAME域名解析](https://support.huaweicloud.com/drawer-cdn/cdn_drawer_01021.html)。
1. 进入[弹性负载均衡列表页](https://console.huaweicloud.com/vpc/#/elb/list/grid)。
2. 获取负载均衡器的服务地址，如[图3]。
   
   图3获取负载均衡器的服务地址   
   ![](https://support.huaweicloud.com/bestpractice-obs/zh-cn_image_0000002495407962.png "点击放大")
   
   
3. 登录[DNS控制台](https://console.huaweicloud.com/dns/?#/dns/publiczones)。
4. 在左侧菜单栏中，选择"公网域名"，进入公网域名列表页面。
5. 单击"域名"列的域名名称（自定义域名）。
6. 单击"添加记录集"，进入"添加记录集"页面。
7. 根据界面提示填写参数配置，参数信息如[表9]所示，下表中未提到的参数可保持默认值：
   
    表9参数说明 
   | 参数   | **示例**                                    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|:---|
   | 记录类型 | CNAME-将域名指向另外一个域名                         | 记录集的类型，此处为CNAME类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 主机记录 | **\***                                    | 解析域名的前缀。 例如创建的域名为"example.com"，其"主机记录"设置包括： - www：用于网站解析，表示解析的域名为"www.example.com"。  - 空：用于网站解析，表示解析的域名为"example.com"。  - 主机记录置为空，还可用于为空头域名"@"添加解析。  - abc：用于子域名解析，表示解析的域名为"example.com"的子域名"abc.example.com"。  - mail：用于邮箱解析，表示解析的域名为"mail.example.com"。  - \*：用于泛解析，表示解析的域名为"\*.example.com"，匹配"example.com"的所有子域名。   |
   | 值    | 从[2]获取到的IP地址 | 填写从ELB获取到的IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      
   
   
8. 单击"确定"，完成添加。
9. 验证CNAME配置是否生效。 
   打开Windows操作系统中的cmd程序，输入如下指令，如果回显OBS桶域名，则表示CNAME域名解析已经生效。
   ```
   nslookup -qt=cname 桶绑定的自定义域名
   ```
   
   
 
#### 步骤五：构造OBS请求
私有桶请使用自定义域名计算签名或初始化SDK客户端访问桶内资源：
- 如果您直接调用OBS API访问桶中资源，那么在计算API签名时，请将CanonicalizedResource中的桶名替换为自定义域名，详情参见[OBS签名机制](https://support.huaweicloud.com/api-obs/obs_04_0009.html)。
- 如果您使用OBS SDK访问桶中的资源，那么在初始化SDK客户端时，请将endpoint设置为自定义域名的endpoint，并为SDK客户端配置自定义域名相关参数，如[表10]所示。
   表10SDK客户端自定义域名相关参数 
  |     语言      |                                    Java                                     |                                      Python                                      |                                                                                           C                                                                                            |                                    Go                                     |                                      BrowserJS                                      |                                    Android                                     |                                           iOS                                            |                                      PHP                                      |                                     Node.js                                      |
  |---|---|---|---|---|---|---|---|---|---|
  | **需要设置的参数** | [cname](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0202.html) | [is_cname](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0601.html) | [useCname](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_1808.html) [host_name](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_1808.html) | [cname](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0102.html) | [is_cname](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0204.html) | [cname](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0203.html) | [OBSDomainModeCustom](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0203.html) | [is_cname](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0203.html) | [is_cname](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0203.html) |
     
  
 
