MySQL 错误日志支持同步下载功能

在关系型数据库详情页面的“日志”标签下可以选择同步 MySQL 的错误日志,将其同步到FTP 目录中,然后下载进行查看。

rdb error log

 

专属宿主机功能上线

专属宿主机功能为用户提供了专属物理服务器,用户可以通过申请专属宿主机的方式来独占物理服务器资源,从而将实例定向部署到宿主机上。 专属宿主机通过专属宿主机组的方式来进行申请和管理。

此外,专属宿主机支持【预留模式】,对于规划长期部署的 IT 需求,更加优惠。

create_dhg

migrate_in_2

主要支持以下功能:

更多详情请参看《专属宿主机指南》

QingStor 支持存储空间外部镜像

QingStor 已支持存储空间外部镜像。对于设置了外部镜像源站的 Bucket,当请求的对象在 Bucket 中不存在时,系统将自动从源站获取(回源), 并写入到 Bucket 当中。在回源过程中,请求这个对象的客户端,有可能会下载到源站文件,也有可能收到重定向到源站相应路径的 302 请求。在回源完成后,客户端能够直接从 Bucket 中获取这个对象。

外部镜像属性

  • 源站点:  外部镜像回源的源站,形式为 “<protocol>://<host><:port>/<path>”。 protocol 的值可为 “http” 或 “https”,默认为 “http”。port 默认为 protocol 对应的端口。path 可为空。如果存储空间多次设置不同的源站,该存储空间的源站采用最后一次设置的值。

操作流程

  1. 示例源站是网易开源镜像站的 ubuntu 源(http://mirrors.163.com/ubuntu/)。要通过外部镜像功能回源的文件是 ls-lR.gz。external-mirror-1
  2. 设置外部镜像源站: 在 Bucket 页面点击设置 -> 外部镜像  ->  源站点external-mirror-2
  3. 示例 Bucket 的默认域名是 http://external-mirror.pek3a.qingstor.com。在浏览器内访问 http://external-mirror.pek3a.qingstor.com/ls-lR.gz (默认域名/要回源的文件),QingStor 将从 http://mirrors.163.com/ubuntu/ls-lR.gz 回源 。从下面的下载对话框可以看出,此次回源客户端可以直接下载源站文件。external-mirror-3external-mirror-4
  4. 在回源完毕后,可以在 Bucket 文件列表看到该对象。external-mirror-5
  5. 设置外部镜像的源站点之后,可以编辑源站并应用修改,或者关闭镜像功能。external-mirror-6

Spark 2.0.1 上线

Spark 是继 Hadoop 之后新一代的大数据分布式处理平台,是一个基于内存、容错型的分布式计算引擎,其卓越的用户体验以及统一的技术堆栈使其迅速成为当前最为热门的大数据基础平台。相比于Spark 1.0,Spark 2.0 在功能和性能等方面均有巨大改进,主要体现在标准 SQL 支持、DataFrame/Dateset API的统一、Structured Streaming API以及引擎性能的大幅提升。

spark2.0.1

本次青云提供的 Spark 2.0.1 版本,是 Spark 2.0 的一个修正版本,共处理了300多个Issue,涉及 Spark 稳定性和 Bug 等方面的修复。关于青云 Spark 的使用,请参考《用户指南》

Sqoop 服务映像上线

Sqoop 是一个将数据在关系数据库(如 MySQL/Oracle 等)和大数据产品(如 Hadoop/Hive/HBase等)之间导入/导出的有效工具,是大数据生命周期中重要的一环,现在 Sqoop 服务已经在映像市场上线,欢迎大家使用。

sqoop

基于 BigData Client 映像的主机已安装(JDK/MySQL/Hadoop/Hive/HBase/Sqoop )等软件及客户端以供用户使用。另外,青云的主机支持纵向在线伸缩,还提供了监控告警等功能,并且青云也提供了 Sqoop 常用场景的使用方法,使得 Sqoop 服务的使用和管理更加方便,具体可参看《用户指南》

VPN 服务支持 L2TP-IPSec

除 Open VPN 和 PPTP 之外,VPN 服务现新增了对于 L2TP-IPSec 的支持。开启方式如下:

登录 WEB 控制台,点击左边导航条中的“网络”,在右边主显示区域 “路由器” 项下点击您的路由器,进入其详情页,切换至“VPN 服务”页签, 然后点击“打开 L2TP 服务”。

webconsole_open_l2tp

确认无误后,点击“提交”,然后点击页面上方的“应用修改”(有个黄色箭头在闪烁), 以更新路由器的配置。在弹出的对话框里,需要配置 VPN 用户名、密码、PSK, 您也可以点开高级选项复查一下各项配置,尤其是 VPN 网络地址不能跟您的本地网络存在冲突。

另外,还需要配置路由器对应防火墙规则,允许 L2TP 服务运行端口通过, 如果您使用的是 L2TP-IPsec 连接方式(IPhone 默认名字为 L2TP),请放行 UDP 下行 500 和 4500 端口以及 ESP 协议。 如果您使用的是 L2TP 连接方式,请放行 UDP 下行 1701 端口。 并记得 应用更改 。

对于各个系统客户端的配置方法请参看《VPN 服务用户指南》

 

QingStor 支持为存储空间绑定自定义域名

QingStor 已支持为存储空间绑定自定义域名。单个存储空间可绑定多个自定义域名。绑定后,存储空间既可通过默认的域名 (Virtual-host Style, e.g. mybucket.pek3a.qingstor.com)或URL (Path Style, e.g. pek3a.qingstor.com/mybucket) 来访问,也可以通过自定义域名来访问。

自定义域名属性

  • domain 要绑定到存储空间的域名。该域名必须已完成备案,并且该域名到存储空间域名的CNAME记录必须已于域名服务商处注册且生效。

操作流程

  1. 在 Bucket 页面点击设置 -> 自定义域名 -> 绑定自定义域名user-defined-domain-0
  2. 配置绑定自定义域名user-defined-domain-1
  3. 配置完成。右键点击自定义域名,可以进行修改和删除操作。user-defined-domain-2

 

QingStor 支持为存储空间开启 CDN

QingStor 已经支持为存储空间开启 CDN ,可以提高存储空间中静态资源文件的访问速度。CDN 的回源地址将指向存储空间的访问地址。开启 CDN 的存储空间必须公开可读。

CDN属性

  • 节点类型
    CDN加速的服务类型,可以选择”网页”,“下载”或者“点播”。
  • 服务区域
    CDN加速的服务区域

操作流程

  1. 设置 Bucket 权限为公开读写cdn-0
  2. 在 Bucket 页面点击设置 -> CDN -> 启动 CDNcdn-1
  3. 配置 CDNcdn-2
  4. 配置完成cdn-3
  5. 点击”规则与监控”,可以配置缓存策略和访问控制,查看 CDN 的监控和日志cdn-4

QingStor 兼容 AWS S3 接口

为了使众多基于 AWS S3 开发的应用程序、开发工具及第三方服务,在不修改代码的前提下,更容易的接入到 QingStorQingStor 现已提供兼容 AWS S3 的接口。

如果用户的后台系统正在使用 AWS S3 存储数据,现在不需要修改任何程序代码,直接接入到 QingStor。并且 AWS S3 生态中提供的各类客户端工具 (AWS SDK, CLI),现在也可以无缝接入到 QingStor 中继续使用。

目前 QingStor 已经兼容AWS S3 所有主要功能的接口 ,后续随着 QingStor 功能的不断丰富,还会进一步提高兼容程度。更多兼容相关的内容,可查阅 官方文档

访问方式

QingStor 原生接口一样,AWS S3 兼容接口也支持两种形式的访问地址。

qingstor_s3_0

这里的访问地址AWS S3 语境里被称为 Endpoint

当用户使用以上任何一种风格 URL 发起请求时,将开始以 AWS S3 接口访问 QingStor。除了请求 Host 不同,所有请求头、请求正文、签名方式都应该符合 AWS S3 的规范。也就是说,从应用的视角看到的仿佛是 AWS S3 服务,但实际上操作的是 QingStor

签名验证

QingStor 兼容接口同时支持签名方法 AWS Signature Version 2 AWS Signature Version 4

在签名过程中,用户需要使用 QingCloud 密钥对 (QingCloud Access Key) 替换 AWS 密钥对 (AWS Access Key)Signature V4 版本中,使用 QingCloud Zone 替换 AWS Region

使用示例

大多数基于 AWS S3 开发的工具都有自定义访问地址的方法,下面以一些常用工具为例,说明如何接入 QingStor

 AWS SDK for Python

1. 安装 Boto 类库:

$ pip install boto

2. 编写程序:

$ cat boto-to-qingstor.py
import boto
conn = boto.connect_s3(
aws_access_key_id='PLLZOBTTZXGBNOWUFHZZ',
aws_secret_access_key='MnIjI58zC8AX07xotHXcm6grwFgOXhaJQHkTCX2X',
host='s3.pek3a.qingstor.com'
)
bucket = conn.get_bucket('mybucket')
key = bucket.get_key("mykey")

AWS CLI

1. 安装 AWS CLI 工具:

pip install awscli

2. 编辑配置文件:

$ cat ~/.aws/config
[profile qingstor]
region = pek3a
output = json
s3 =
signature_version = s3v4

3. 设置访问密钥:

$ cat ~/.aws/credentials
[qingstor]
aws_access_key_id = PLLZOBTTZXGBNOWUFHZZ
aws_secret_access_key = MnIjI58zC8AX07xotHXcm6grwFgOXhaJQHkTCX2X

4. 命令行执行:

$ aws s3api put-object --bucket mybucket --key puppy.jpg --body ~/Pictures/puppy.jpg --endpoint-url 'https://s3.pek3a.qingstor.com' --profile qingstor
{
"ETag": "\"c3872b49cb244269aad8cd4275a41c4a\""
}

s3fs

1. 安装 s3fs 工具 (Ubuntu 为例):

apt-get install s3fs

2. 设置访问密钥:

# cat /root/.s3fs/credentials
PLLZOBTTZXGBNOWUFHZZ:MnIjI58zC8AX07xotHXcm6grwFgOXhaJQHkTCX2X

3. 挂载 bucket 到本地目录:

# mkdir -p /mnt/mybucket
# s3fs mybucket /mnt/mybucket -o passwd_file=/root/.s3fs/credentials -o url=http://s3.pek3a.qingstor.com
# df -T | grep s3fs
s3fs fuse.s3fs 274877906944 0 274877906944 0% /mnt/mybucket

4. 测试文件系统操作:

# echo 'hello world' > /tmp/hello.txt
# cp -v /tmp/hello.txt /mnt/mybucket/
‘/tmp/hello.txt’ -> ‘/mnt/mybucket/hello.txt’
# ls -l /mnt/mybucket/hello.txt
---------- 1 root root 4635 Aug 11 23:26 /mnt/mybucket/hello.txt
# cat /mnt/mybucket/hello.txt
hello world

Transmit for iOS

1. 首先在AppStore 下载应用 Transmit

2. 打开应用添加新的 Server,选择 Amazon S3 并在 Address 处填写 s3.qingstor.com (注意这里与上文提到的访问地址有所不同,因为 Transmit 首屏需要获取所有的 bucket 列表,所以需要填写 QingStor global 的地址)

3. 填入在 QingCloud 控制台申请的密钥对,点击保存

4. 设置完成,点击文件夹进入查看文件列表

qingstor_s3_1 qingstor_s3_3 qingstor_s3_2

 

 

 

 

 

 

 

兼容工具

理论上所有基于 AWS S3 接口开发的客户端,只要涉及的接口实现了兼容,都可以直接对接 QingStor

实际测试中,我们已经证实可以兼容的工具包括:

  • AWS SDK for Python / PHP / Java / Ruby
  • AWS Command Line Interface (CLI)
  • s3fs
  • Hadoop s3a / distcp
  • ownCloud external storage
  • Transmit for iOS / macOS
  • Commvault

QingStor 对象存储支持存储空间策略

存储空间策略是 QingStor 存储空间(bucket)的子资源(subresource),允许用户更细粒度的控制存储空间的访问。 其语义主要由用户、 资源、动作、及条件运算符组合定义。例如仅允许指定用户以指定站点为 Referer 以下载存储空间中的某单个文件,或者防止外链等。

qingstor_policy_0

策略属性

  • resource
    策略中需要制定控制的资源,可以指定为某些 object, 或者 bucket
  • user
    策略所应用到的用户
  • effect
    当用户请求特定操作时的效果。可以是允许或者拒绝
  • condition
    存储空间策略生效的条件。支持匹配 `Referer` 元素。可用来做防盗链
  • action
    设置是否允许(或拒绝)资源的操作

配置示例

  1. 在 bucket 页面点击设置->存储空间策略->添加规则
  2. 配置添加规则qingstor_policy_1
  3. 点击保存,生效设置
  4. 配置生成的 bucket policy
    {
        "statement": [
    	{
    	     "id": "hotlink-whitelist",
    	     "user": "*",
    	     "action": "get_object",
    	     "effect": "allow",
    	     "resource": ["foo-bucket/*"],
    	     "condition": {
    		 "string_like": {"Referer": "*.example.com"},
    		 "string_not_like": {"Referer": "*.service.example.com"}
    	      },
    	}
        ]
    }

以上配置将允许从 `*.example.com` 但除了 `*.service.example.com` 以外的链接到 QingStor 用以访问 bucket:`foo-bucket` 下所有 object 的请求被允许。

更多详细介绍请参考相关文档: QingStor Bucket Policy