千家万户瞳瞳日,总把新桃换旧符——Azure存储新功能一览

  在全国人民喜迎新春之际,细心地观众,不,细心地Azure用户可能已经发现,Mooncake上创建存储账户的地方有细微的改变,账户类型从原有的“通用存储账户”和“Blob存储账户”变成了如下三项:

  这意味着Azure存储新功能已正式登陆Mooncake。下边就具体看看主要的几个新功能

虚拟网络

  数据安全是公有云绕不开的一个话题。解决数据安全无非两个思路:
   数据加密:包括存储数据的加密和传输途径的加密,这样非法用户及时得到了数据,也是一团乱麻,无法获取有效信息。但是这种方式存在先天缺陷,例如在Azure,如果存储账户自定义域名,无法使用https加密传输,路径不安全;并且随着计算机计算能力的日新月异,暴力破解加密也逐步成为可能。
  
釜底抽薪:斩断非必要数据传输的途径,这样,非法用户彻底不能拿到数据,安全性更高。
  存储账户的虚拟网络就是通过对存储账户访问路径的限制来实现安全性。
  如下图,在创建存储账户的时候,现在多出一项虚拟网络:

  默认是禁用状态。
  先按照默认状态创建存储账户,并创建demo01(为了简化测试,访问级别设置为容器,即可任意访问):

  现在容器里上传一副图片,并获取访问地址:

  由于没加任何访问限制和网络限制,所以可以看到直接从我的笔记本(外部网络)可以用浏览器打开该文件:

  为了验证虚拟网络的功能,创建两台vm,网络分别属于hyvnet的hysub01和hysub02:

  在两台vm的浏览器也可正常打开:

  现在启用存储账户的虚拟网络,选择所选网络:

  在这里可以配置三种网络:

  1. 虚拟网络:针对Azure内部,选择可以配置的虚拟网络-子网,亦可以创建新的网络
  2. 防火墙:针对外部网络,可以已选择一个外部ip或者ip段
  3. 异常:这个翻译不太准确,应该是例外,针对一些Azure特殊程序的设置,勾选后允许访问
      现在针对前两种情况做测试。
      目前虚拟网络和防火墙为空,在笔记本(外部)和两台虚机刷新浏览器:

  都无法打开网页。
  将hysub01(hyvm01所在子网)添加到虚拟网络:

  保存后刷新vm的浏览器,hyvm01可以正常访问,hyvm02扔无法访问,说明配置已生效:

  将bi’ji’ben 所在网络的wan ip添加到防火墙并保存:
1

  再刷新笔记本的浏览器,可正常访问,防火墙的配置也生效了:

  作进一步测试,将hyvm02的内网ip添加到防火墙并保存,出现失败提示,说明防火墙不支持添加Azure内网ip:

  将hyvm02的公网ip添加到防火墙,成功:

  再次刷新hyvm02的浏览器,仍然无法打开。
  在hyvm02的nsg规则里添加规则打开所有入站端口:

  刷新浏览器也无法打开。
  测试结果显示,Azure内部的vm只能通过添加subnet方式实现对存储的访问。
  在防火墙没有添加我的笔记本的wan ip时,访问存储服务例如Blob、Files等,豆浆出现如下报错:

  可见防护的不只是数据访问,包括对各种存储服务的管理。
  虚拟网络的管理是针对该存储账户全局,而非只是Blob,现在测试文件服务。
创建一个共享文件夹demo02并获取连接命令:

  分别在两台vm执行连接命令,hyvm01成功而hyvm02失败:

  符合预期。


通过以上测试说明,存储账户的虚拟网络可有效实现对链路的安全管理。对于Azure外部,可以通过ip或ip段安全的访问服务器,对于Azure内部则只能通过subnet控制,所以在配置vm网络时,除了传统网络规划,今后还需考虑存储访问的控制。

分层存储

  分层存储在去年推出的Blob存储账户类型已实现,但已存储账户为颗粒度,很不灵活。
  在这次的Azure功能升级中,分层存储已做改进,以下进行测试。
  新创建一个存储账户,类型选择新加的StorageV2,默认的访问层设置为热:

  进入新建存储账户可以看到和之前的通用存储账户无区别:

  在Blob中新建容器demo03并上传一个文件:

  打开该blob的属性下拉到底可以看到,可为此Blob单独设置分层属性,不用与存储账户一致:

  但在文件服务里无法修改:

  


现在Blob的分成颗粒度已经达到文件级,可以更灵活的进行控制管理,有效为用户节约成本。存档层目前还不能选择,策略驱动的分层也还未实现,但相信已经不远。

其它

新增功能不止这两项,还有例如存储性能监控管理、文件在线编辑等。
新的一年里,Azure会更好的发展,期待更多功能的上线。