aliyun-migrate-business.md 10.2 KB
Newer Older
WangMoYang's avatar
WangMoYang 已提交
1 2 3 4
# 阿里云公测版迁移到正式版

为了开发者更方便的将业务从公测版迁移到正式版,我们提供了公测版一键迁移到正式版的功能,开发者可在[uniCloud控制台](https://unicloud.dcloud.net.cn)操作迁移,流程如下:

WangMoYang's avatar
WangMoYang 已提交
5
## 购买正式版迁移空间
WangMoYang's avatar
WangMoYang 已提交
6 7 8 9
公测版迁移正式版,需通过`迁移正式版`操作来下单购买待迁移的正式版空间,该操作会为两个空间增加迁移绑定关系,方便后续迁移配置。

![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/a0eea46e-f89f-40de-ac99-6f0eb09a55f3.png)

10
迁移时,可以选择新空间使用**按量计费****包月套餐**
11

12 13 14 15 16 17 18 19 20
如选择套餐,目前会根据公测版老服务空间最近三十天的平均用量水位,一共十二项计费指标,然后分别和不同档位套餐的阈值相比较。最低套餐满足了每一项指标都不超限。

经与阿里云协调,本周会上线新版推荐套餐方案,改为只强制校验4个计费指标:
- 云数据库容量
- 前端网页托管容量
- 过去30天云存储累计CDN流量
- 过去30天前端网页托管累计CDN流量

满足这4个指标,就可以迁移。其他指标超过使用的套餐会发出警告,但也允许迁移。
21

22 23 24 25
如果你的迁移选项里只有按量计费,没有套餐,那说明即便是最高档的套餐也无法满足。

因为老空间未提供流量统计,且一直免费。导致很多开发者不知道自己的流量和存储消耗多大,可能会惊讶于最低套餐的标准。

26
对于认为套餐超过预期的开发者,可能是存储里过多无用文件或代码需要优化,推荐改用按量付费,跑1天看看使用量消耗到底在哪里,问题出在哪里,然后优化下代码和存储,把成本降下来。
27

28 29 30 31 32
虽然用户量小,但套餐推荐较高,常见的问题有:

1. 存储文件体积太大,低档套餐的存储不够,迁移不了
2. 定时任务导致云函数使用量和数据库读写量偏高
3. 不合理的代码设计,一个页面发起太多请求次数
33

34
DCloud始终是为开发者提供更高性价比方案的产品服务公司,DCloud不会为了挣钱故意推荐开发者用不着的高档套餐。
WangMoYang's avatar
WangMoYang 已提交
35

36 37
目前包月套餐可以转按量计费,但按量计费还不能转包月套餐。我们会推进阿里云尽快解决。

WangMoYang's avatar
WangMoYang 已提交
38
在购买待迁移空间前,已经可以获取到迁移后云存储上传及下载的域名,**开发小程序的话,由于小程序安全域名白名单在客户端有缓存,建议迁移前两天将云存储域名添加到白名单**
WangMoYang's avatar
WangMoYang 已提交
39

WangMoYang's avatar
WangMoYang 已提交
40
下单时可设置迁移任务执行的时间,迁移时间仅支持两小时后到三天内的时间点,在未开始执行之前可更改迁移时间。
WangMoYang's avatar
WangMoYang 已提交
41 42 43

由于待迁移正式版空间是一个全新且独立的空间,所以在创建后会分配新的SpaceId,规则为`mp-公测版SpaceId`

雪洛's avatar
雪洛 已提交
44
为了更好的在云函数/云对象中兼容,购买待迁移正式版空间时, 可选择`是否在云函数/云对象代码中兼容 SpaceID`,如果开启该选项,迁移后在云函数/云对象内获取的`context.SPACEINFO.spaceId``cloudInfo` 内的 SpaceId 将保持不变,仍为原公测版SpaceId。开发者可以通过`context.SPACEINFO.useOldSpaceId``cloudInfo.useOldSpaceId`判断当前获取的spaceId是不是迁移前的,true表示当前服务空间在云函数内取到的服务空间id为迁移前的服务空间id,否则为新空间id。如运行本地云函数,此特性于`HBuilderX 3.6.13`起支持,云端默认支持此特性。**迁移后的新服务空间id为旧空间id加`mp-`前缀。**
WangMoYang's avatar
WangMoYang 已提交
45

WangMoYang's avatar
WangMoYang 已提交
46
![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/1febab5f-e51e-462e-8833-aad26127efc5.png)
WangMoYang's avatar
WangMoYang 已提交
47 48 49 50


**注意**
- 公测版不可迁移到正式版的免费版(开发者版)
51
- 目前还不支持跨账户迁移,但已经在做,预计很快上线
WangMoYang's avatar
WangMoYang 已提交
52 53
- 购买待迁移正式版空间后,为了保证数据迁移的一致性,此时的正式版空间无法在HBuilderX关联、无法在控制台创建数据表、无法在云存储及前端网页托管上传文件等操作,直至迁移完成。
- 只有通过`迁移正式版`完成创建的正式版服务空间才支持一键迁移,原已创建的正式版空间无法使用该功能。
WangMoYang's avatar
WangMoYang 已提交
54
- 如果客户端为小程序,请在迁移前先到小程序后台配置新的上传域名到上传域名白名单(注意不要移除公测版服务空间的上传下载域名),**由于小程序安全域名在微信客户端内有缓存,建议再迁移前两天进行配置**
WangMoYang's avatar
WangMoYang 已提交
55
- 建议在半夜等用户不访问的时间进行迁移。迁移过程耗时数分钟(具体取决于云存储的文件量),迁移中大多数功能仍可以使用,但云存储的上传功能在迁移中会关闭。
雪洛's avatar
雪洛 已提交
56 57 58 59 60
- 正式版固定IP代理出口IP和公测版不同,如有在三方平台配置域名白名单请自行修改,参考:[阿里云固定IP](cf-functions.md#aliyun-eip)
- 迁移到正式版后公测版服务空间的数据库备份不会被迁移过来
- 迁移到正式版后开发者下次在HBuilderX打包发行时会使用正式版服务空间ID。请注意这时候需要修改小程序request域名白名单,将`api.next.bspapp.com`添加到request域名白名单内
- 迁移到正式版后公测版服务空间前端网页托管默认域名将在公测结束后自动回收  
- 迁移到正式版后不可删除公测版服务空间,需等待公测结束后自动回收
WangMoYang's avatar
WangMoYang 已提交
61

WangMoYang's avatar
WangMoYang 已提交
62
## 迁移开始
WangMoYang's avatar
WangMoYang 已提交
63 64
系统会在设置的迁移时间自动开始执行迁移任务,迁移逻辑及注意事项如下:

WangMoYang's avatar
WangMoYang 已提交
65
### 云数据库
WangMoYang's avatar
WangMoYang 已提交
66 67 68

- 云数据库无需迁移,会将公测版服务空间的数据库关联到正式版上,所以**请勿删除公测版数据**

WangMoYang's avatar
WangMoYang 已提交
69
迁移期间是否可正常服务:<font color=#42b983></font>
WangMoYang's avatar
WangMoYang 已提交
70

WangMoYang's avatar
WangMoYang 已提交
71
迁移类型:<font color=#42b983>无感迁移</font>
WangMoYang's avatar
WangMoYang 已提交
72

WangMoYang's avatar
WangMoYang 已提交
73 74
迁移耗时:无

WangMoYang's avatar
WangMoYang 已提交
75
### 云函数
WangMoYang's avatar
WangMoYang 已提交
76 77 78 79

- 云函数定时任务、url化配置及自定义域名会一并迁移,公测版服务空间的url化请求会自动转发到正式版服务空间上
- 如果绑定了自定义域名,此时仍会请求到公测版空间然后转发到正式版空间,您也可以将域名解析到正式版服务空间,免去请求转发的逻辑

WangMoYang's avatar
WangMoYang 已提交
80
迁移期间是否可正常服务:<font color=#42b983></font>
WangMoYang's avatar
WangMoYang 已提交
81

WangMoYang's avatar
WangMoYang 已提交
82
迁移类型:<font color=#42b983>无感迁移</font>
WangMoYang's avatar
WangMoYang 已提交
83

WangMoYang's avatar
WangMoYang 已提交
84 85
迁移耗时:约3-5分钟

WangMoYang's avatar
WangMoYang 已提交
86
### 跨域配置
WangMoYang's avatar
WangMoYang 已提交
87 88 89

- 由于正式版跨域配置上限为9条,跨域配置记录迁移后可能会超上限,此时无法新增。正式版跨域配置支持泛域名,可将公测版配置的多个子域名删除后添加一条泛域名

WangMoYang's avatar
WangMoYang 已提交
90
迁移期间是否可正常服务:<font color=#42b983></font>
WangMoYang's avatar
WangMoYang 已提交
91

WangMoYang's avatar
WangMoYang 已提交
92
迁移类型:<font color=#42b983>无感迁移</font>
WangMoYang's avatar
WangMoYang 已提交
93

WangMoYang's avatar
WangMoYang 已提交
94 95
迁移耗时:很短,可忽略不计

WangMoYang's avatar
WangMoYang 已提交
96
### 云存储
WangMoYang's avatar
WangMoYang 已提交
97 98 99

- 云存储在迁移开始后,上传文件的功能不可用,访问不受影响
- 原云存储链接仍可正常访问,流量费用会计到正式版空间,正式版空间如果是包年包月则从资源用量中扣除,如果是按量计费则会出账并从余额中扣除,出账时间为T+2
100
- 使用HBuilderX 3.6.10-alpha或3.6.5-正式版之前的版本发布的项目,迁移后上传文件会报错,需要使用更新的版本发布一个App更新
WangMoYang's avatar
WangMoYang 已提交
101

WangMoYang's avatar
WangMoYang 已提交
102
迁移期间是否可正常服务:<font color=#f3a73f>可正常访问,不可上传</font>
WangMoYang's avatar
WangMoYang 已提交
103

WangMoYang's avatar
WangMoYang 已提交
104
迁移类型:<font color=#f3a73f>有感迁移,迁移期间不可上传文件</font>
WangMoYang's avatar
WangMoYang 已提交
105

WangMoYang's avatar
WangMoYang 已提交
106
迁移耗时:单文件体积较大,1GB迁移耗时约1分钟;单文件体积不大文件较多,1万个文件耗时约30分钟
WangMoYang's avatar
WangMoYang 已提交
107

WangMoYang's avatar
WangMoYang 已提交
108
### 前端网页托管
WangMoYang's avatar
WangMoYang 已提交
109 110 111

- 前端网页托管文件及自定义域名会一并迁移,迁移期间访问不受影响
- 单页应用配置取消,改为由错误页面实现,迁移时会自动将开发者配置的单页应用目录转为错误页面配置项,开发者无需操作
WangMoYang's avatar
WangMoYang 已提交
112
- 默认域名及自定义域名此时仍会请求到公测版空间,与云存储不同的是不会转发到正式版空间
WangMoYang's avatar
WangMoYang 已提交
113
- 正式版空间如果为按量计费,在迁移任务执行时会自动开通前端网页托管
WangMoYang's avatar
WangMoYang 已提交
114

WangMoYang's avatar
WangMoYang 已提交
115
迁移期间是否可正常服务:<font color=#42b983></font>
WangMoYang's avatar
WangMoYang 已提交
116

WangMoYang's avatar
WangMoYang 已提交
117
迁移类型:<font color=#f3a73f>有感迁移,迁移完成后自定义域名需重新绑定及解析CNAME到正式版</font>
WangMoYang's avatar
WangMoYang 已提交
118

WangMoYang's avatar
WangMoYang 已提交
119
迁移耗时:单文件体积较大,1GB迁移耗时约1分钟;单文件体积不大文件较多,1万个文件耗时约30分钟
WangMoYang's avatar
WangMoYang 已提交
120 121


WangMoYang's avatar
WangMoYang 已提交
122
## 迁移完成
WangMoYang's avatar
WangMoYang 已提交
123 124 125

在迁移任务执行完成后,业务中公测版服务空间相关的数据会一并迁移至正式版:

WangMoYang's avatar
WangMoYang 已提交
126
1. 插件市场购买的付费插件
WangMoYang's avatar
WangMoYang 已提交
127 128 129 130 131 132
2. 公测版服务空间购买的Redis
3. 公测版服务空间添加的协作者
4. 公测版服务空间添加的安全网络及IP防刷配置

此时公测版服务空间将无法在[uniCloud控制台](https://unicloud.dcloud.net.cn)操作,无法在HBuilderX关联, 正式版服务空间已完全替代公测版,可在HBuilderX关联进行打包。

WangMoYang's avatar
WangMoYang 已提交
133
### 迁移完成后的TODO
WangMoYang's avatar
WangMoYang 已提交
134 135 136

- 检查云函数运行是否正常,比如定时任务及url化是否正常、云函数/云对象中获取到的SpaceId是否符合预期
- 检查云存储上传是否正常,公测版服务空间的上传请求会转发到正式版,所以上传的文件会在正式版里体现
WangMoYang's avatar
WangMoYang 已提交
137
- 检查前端网页托管是否正常,比如自定义域名的访问。如果有使用默认域名请尽快替换为正式版域名
WangMoYang's avatar
WangMoYang 已提交
138

WangMoYang's avatar
WangMoYang 已提交
139
### 前端网页托管绑定了自定义域名
WangMoYang's avatar
WangMoYang 已提交
140

WangMoYang's avatar
WangMoYang 已提交
141 142 143 144 145 146 147
如果绑定了自定义域名,则仍会请求到公测版服务空间,此时正式版上传的文件并不会反向同步到公测版,导致自定义域名无法访问新上传的文件。

由于自定义域名仍绑定在公测版服务空间,正式版空间前端网页托管的域名状态为`需解绑后重新绑定`

![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/5fa6249a-2900-40aa-b4b8-16f37d2307a1.png)

需要开发者在[uniCloud控制台](https://unicloud.dcloud.net.cn)将自定义域名删除后重新绑定,通过该操作获取到新的CNAME后,将域名解析更换到新的CNAME以完成域名迁移。 这个期间前端网页托管自定义域名访问会中断,建议在访问量较低的时候处理。