背景
什么是计算巢
计算巢是一款打通isv和客户的生态云产品,旨在解决isv云上售卖、交付、部署、运维问题,建立isv与客户的通道。
针对ISV的实际场景,计算巢提供了私有化部署、托管版部署两种模式。计算巢的服务对象有两种角色:服务商和用户。服务商是服务的提供方,维护服务的软件包、脚本、模板等;用户是服务的使用方,可以订阅、部署、使用计算巢上的服务。
什么是快照策略
在实践中经常出现这样一种场景:需要定期为云盘备份数据,以应对因误删、勒索病毒等造成的数据丢失或者应用系统故障。保证在需要时能够快速找回云盘数据以保证业务的连续性。为了应对这种场景,阿里云ecs提供了自动快照功能。自动快照功能通过自动快照策略实现,自动快照策略可以在预设的时间点周期性地创建快照,保护系统盘和数据盘的数据。
本文介绍了在如何在一个计算巢服务中创建快照策略并应用于对应的云盘,以及如何利用快照回滚计算巢服务实例的云盘。
具体操作
服务商侧
1、登录阿里云资源管理产品的控制台:云资源管理
在左侧“标签”栏选择“关联资源标签设置”,勾选“启用关联资源跟随标签编辑功能”,点击“启用并设置规则”
而后勾选“云服务器 云盘的关联资源”的“快照 全部标签”。
2、服务商进入计算巢控制台。创建服务新版本,在编辑页面找到:服务运维(选填),勾选“需要给用户授权”,并在“选择需要用户授予的权限”下拉列表选择:全部权限。
3、进入创建服务or编辑服务界面,编辑服务ros模板。下文附录1中提供了一个示例模板。示例模板中包含如何创建快照策略、如何将快照策略关联到对应云盘。此外,示例中创建的快照策略每天0点,一周七天为云盘创建快照,每个快照保留7天,可根据实际需要自行删改。
4、点击保存服务,提交审核,审批通过后点击服务上线。
至此,服务商侧改动完成。
用户侧
1、创建上文服务的服务实例并部署。
2、部署完成后,进入服务实例详情,点击运维管理 -> 应用运维 -> 使用快照恢复数据
3、利用快照回滚云盘
点击利用快照回滚云盘按钮进入编辑页
点击下一步,然后点击创建。等待执行完成。
点击详情,可进入下面的页面
附录:
附录1、利用ros模板创建快照策略并关联云盘(示例,ros模板)
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 利用ros模板创建快照策略并关联云盘
Parameters:
PayType:
Type: String
Label:
en: ECS Instance Charge Type
zh-cn: 付费类型
Default: PostPaid
AllowedValues:
- PostPaid
- PrePaid
AssociationProperty: ChargeType
AssociationPropertyMetadata:
LocaleKey: InstanceChargeType
PayPeriodUnit:
Type: String
Label:
en: Pay Period Unit
zh-cn: 购买资源时长周期
Default: Month
AllowedValues:
- Month
- Year
AssociationProperty: PayPeriodUnit
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
PayPeriod:
Type: Number
Label:
en: Period
zh-cn: 购买资源时长
Default: 1
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
AssociationProperty: PayPeriod
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
ZoneId:
Type: String
AssociationProperty: ALIYUN::ECS::Instance:ZoneId
Label:
en: Zone ID
zh-cn: 可用区
VpcId:
Type: String
Label:
en: VPC Id
zh-cn: 专有网络VPC id
AssociationProperty: ALIYUN::ECS::VPC::VPCId
VSwitchId:
Type: String
Label:
en: VSwitch Id
zh-cn: 交换机ID
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
LoginPassword:
NoEcho: true
Type: String
Description:
en: 'Length 8-32 characters, can contain size letters, Numbers and special symbols, including:! @ # $ % ^ & * ( ) _ + - ='
zh-cn: 长度8-32个字符,可包含大小字母、数字及特殊符号(包含:!@#$%^&*()_+-=)
Label:
en: Instance Password
zh-cn: 实例密码
AssociationProperty: ALIYUN::ECS::Instance::Password
ConstraintDescription:
en: '8-32 characters, can contain size letters, Numbers and special symbols, including:! @ # $ % ^ & * ( ) _ + - ='
zh-cn: 8-32个字符,可包含大小字母、数字及特殊符号(包含:!@#$%^&*()_+-=)
MinLength: 8
MaxLength: 32
SecurityGroupId:
Type: String
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Default: ''
Description:
en: Please search the business security group ID starting with(sg-xxx)from console-ECS-Network & Security
zh-cn: 现有业务安全组的实例ID
Label:
en: Business Security Group ID
zh-cn: 业务安全组ID
EcsInstanceType:
Type: String
Label:
en: Instance Type
zh-cn: 跳板机实例类型
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ${ZoneId}
InstanceChargeType: ${PayType}
Default: ecs.g6.large
SystemDiskCategory:
Type: String
AllowedValues:
- cloud_efficiency
- cloud_ssd
- cloud_essd
Label:
en: System Disk Category
zh-cn: 系统盘类型
AssociationProperty: ALIYUN::ECS::Disk::SystemDiskCategory
AssociationPropertyMetadata:
LocaleKey: DiskCategory
InstanceType: ${EcsInstanceType}
Default: cloud_essd
SystemDiskSize:
Default: 40
Type: Number
Label:
zh-cn: 系统盘空间 (GB)
en: System Disk Space (GB)
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- PayType
- PayPeriodUnit
- PayPeriod
Label:
default:
en: PayType Configuration
zh-cn: 付费类型配置
- Parameters:
- ZoneId
- VpcId
- VSwitchId
- SecurityGroupId
- LoginPassword
Label:
en: Basic Configuration
zh-cn: 基础配置
- Parameters:
- EcsInstanceType
- SystemDiskSize
- SystemDiskCategory
Label:
en: ECS跳板机配置
zh-cn: ECS跳板机配置
Outputs:
endpoint:
Description:
zh-cn: 对外暴露的公网IP地址
en: Public IP Addresses
Value:
Fn::GetAtt:
- EcsInstanceJumpBox
- PrivateIps
Resources:
DiskSnapshotPolicy:
Type: ALIYUN::ECS::AutoSnapshotPolicy
Properties:
TimePoints:
- 0
RepeatWeekdays:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
RetentionDays: 7
EcsInstanceJumpBox:
Type: ALIYUN::ECS::InstanceGroup
Properties:
MaxAmount: 1
ZoneId:
Ref: ZoneId
InstanceChargeType:
Ref: PayType
Period:
Ref: PayPeriod
InstanceName: jumpbox
ImageId: centos_7
InstanceType:
Ref: EcsInstanceType
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
AllocatePublicIP: false
Password:
Ref: LoginPassword
SystemDiskSize:
Ref: SystemDiskSize
SystemDiskCategory:
Ref: SystemDiskCategory
SecurityGroupId:
Ref: SecurityGroupId
SystemDiskAutoSnapshotPolicyId:
Ref: DiskSnapshotPolicy
DiskMappings:
- Category:
Ref: SystemDiskCategory
AutoSnapshotPolicyId:
Ref: DiskSnapshotPolicy
Device: /dev/xvdb
Size:
Ref: SystemDiskSize