运维编排场景系列-----自动创建多个区域同类型存储空间

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
对象存储 OSS,20GB 3个月
云服务器ECS,u1 2核4GB 1个月
简介:         阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。当需要在不同的区域创建多个存储空间时,此时可以使用OOS服务执行特定模版来实现自动化创建存储空间。

        阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。当需要在不同的区域创建多个存储空间时,此时可以使用OOS服务执行特定模版来实现自动化创建存储空间。

前提条件

  1. 确保创建的Bucket名称不存在。(详情请查看OSS文档
  2. 本模版属于ROA风格,与REST风格模版稍有区别。

模版说明:

本模版主要功能为在不同的Region下可以同时创建相同类型的Bucket,也可以仅在一个Region下创建Bucket。

FormatVersion: OOS-2019-06-01
Description:
  en: Create multiple buckets in different region at the same time.
  zh-cn: 同时创建多个不同区域的Bucket。
Parameters:
  Regions:
    Description:
      en: The region id..
      zh-cn: 区域Id。
    Type: List
    AllowedValues:
      - cn-qingdao
      - cn-beijing
      - cn-zhangjiakou
      - cn-huhehaote
      - cn-hangzhou
      - cn-shanghai
      - cn-shenzhen
      - cn-chengdu
      - cn-hongkong
      - ap-northeast-1
      - ap-southeast-1
      - ap-southeast-2
      - ap-southeast-3
      - ap-southeast-5
      - ap-south-1
      - us-east-1
      - us-west-1
      - eu-west-1
      - me-east-1
      - eu-central-1
  BucketName:
    Description:
      en: The bucket name.
      zh-cn: Bucket名称。
    Type: String
  DataRedundancyType:
    Description:
      en: Specifies the data disaster tolerance type of the bucket.
      zh-cn: 指定Bucket的数据容灾类型。
    Type: String
    AllowedValues:
      - LRS
      - ZRS
  StorageClass:
    Description:
      en: Specify the bucket storage type.
      zh-cn: 指定Bucket存储类型。
    Type: String
    AllowedValues:
      - Standard
      - IA
      - Archive
  XOssAcl:
    Description:
      en: Specify bucket access rights.
      zh-cn: 指定Bucket访问权限。
    Type: String
    AllowedValues:
      - public-read-write
      - public-read
      - private
  RateControl:
    Description:
      en: Concurrency ratio of task execution.
      zh-cn: 任务执行的并发比率。
    Type: Json
    AssociationProperty: RateControl
  OOSAssumeRole:
    Description: The RAM role to be assumed by OOS.
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: PutBucket
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Create buckets in different regions.
      zh-cn: 创建不同区域的Bucket。
    Properties:
      Service: OSS
      API: PutBucket
      Method: PUT
      URI: ''
      Headers:
        x-oss-acl: '{{ XOssAcl }}'
      Parameters:
        BucketName: '{{ BucketName }}-{{ACS::TaskLoopItem}}'
        RegionId: '{{ACS::TaskLoopItem}}'
      Body: |
        <?xml version="1.0" encoding="UTF-8"?>
        <CreateBucketConfiguration>
          <StorageClass>{{ StorageClass }}</StorageClass>
          <DataRedundancyType>{{ DataRedundancyType }}</DataRedundancyType>
        </CreateBucketConfiguration>
    Loop:
      Items: '{{ Regions }}'
      RateControl: '{{ RateControl }}'

模版参数说明:

参数 说明 示例
Regions 创建Bucket的区域 cn-hangzhou
BucketName 创建Bucket的名称 test-put-bucket
DataRedundancyType 指定Bucket的数据容灾类型。
有效值:
- LRS(本地容灾类型)
- ZRS(同城容灾类型)
LRS
StorageClass 指定Bucket存储类型。
有效值:
- Standard(标准)
- IA
- Archive
Standard
XOssAcl 指定Bucket访问权限。
有效值:
- public-read-write(公共可读可写)
- public-read(公共可读)
- private(私有)
private
RateControl 固定参数。
- 速率控制类型:并发控制
- 并发速率:1
- 最大错误次数:0
OOSAssumeRole 可选参数。
- (默认设置)当前账号的已有权限:执行您使用的账号的权限动作。请确保您拥有创建自定义镜像涉及的所有ECS API调用权限。
- 指定RAM角色,使用该角色的权限:如果指定了RAM角色名称,OOS扮演该RAM角色执行运维任务。
当前账号的已有权限

操作步骤

  1. 请登录运维编排OOS的控制台
  2. 单击自定义模板,单击创建模板按钮,选取空白模板1571987744797_70bd927c_db33_4957_b817_31d49868e6ba
  3. 将上述提供的子模板粘贴到yaml栏,输入名称CreateDifferentRegionBucket,点击创建模板1573542485796_aa13c4bc_b803_4fb9_a2aa_105d592d20a5
  4. 单击创建执行1573542640672_32e4fff4_c149_402d_8cc7_54632382591e
  5. 保持基本信息的默认设置,单击下一步:设置参数
  6. 完成参数设置填写,单击下一步:确认1573543831134_0012fe8f_7b28_430a_81af_cbf200bdbe35
  7. 查看参数设置是否无误,确认无误后单击创建执行1573543875258_e898f183_67ad_48c0_bce2_2cd94c96cbe9
  8. 执行管理中查看创建的运维任务。1573544079024_87a5a932_87c1_4016_853b_5465c0ee7b3f
  9. 执行结果
    如下所示,已经根据自己需求创建出相应的存储空间。
    1573544393497_f41bcfbc_c58c_4a37_a004_dcd4fc9893b1

附录一:

此模版属于ROA风格的模版,编写风格与REST风格稍有变化。因此简单介绍ROA的编写风格:

  1. 根据OSS的PutBucket的文档可见。在此模版中的参数 x-oss-acl 源OSS文档中是属于请求头,因此放到本文的模版中,存在于Headers下。
  2. 此模版中的参数RegionId、BucketName是属于公共参数是直接放到模版中的Parameters下。
  3. 此模版中的请求参数StorageClassDataRedundancyType,在原文档中是属于请求元素,因此放到模版中是编写到Body下。

附录二:

编辑OOS模版时,与本文中的模版拥有一样模版形式的有以下服务:

  1. 函数计算(FC)
  2. 日志服务(LOGSLS)
  3. 对象存储(OSS)

系列文章

主题文章

阿里云重磅发布云上自动化利器——运维编排OOS

最佳实践

玩转运维编排服务的权限:Assume Role+Pass Role
阿里云运维编排新功能:一键批量克隆ECS
批量在多台ECS内执行命令

场景系列

运维编排场景系列----更新ECS镜像
运维编排场景系列----给ECS实例自动打TAG
运维编排场景系列----从实例中拷贝文件到OSS
运维编排场景系列----给实例加到SLS机器组
运维编排场景系列----检测MFA功能状态
运维编排场景系列----每日统计多Region实例的运行状态
运维编排场景系列----如何使用jq
运维编排场景系列----分批到机器上运行命令
运维编排场景系列----更新镜像后自动更新伸缩配置镜像
运维编排场景系列----向Linux实例上传文件
运维编排场景系列----运行远端shell脚本
运维编排场景系列----在ECS实例上运行Ansible-playbook
运维编排场景系列----下载JVM堆栈到OSS
运维编排系列场景----将实例的固定公网IP转换为其它新EIP
运维编排场景系列----自动定时升级临时带宽
运维编排场景系列----批量更新云助手客户端
运维编排系列场景----批量释放实例
运维编排场景系列----ECS实例系统快照下载到本地
运维编排场景系列----批量更换系统盘

相关文章
|
10月前
|
弹性计算 负载均衡 测试技术
运维编排系列场景--跨可用区批量克隆ECS实例
背景可用区(Availability Zone,简称 AZ)是指在同一地域内,电力和网络互相独立的物理区域。例如,华北1(青岛)地域支持2个可用区,包括青岛 可用区B和青岛 可用区C。同一可用区内实例之间的网络延时更小,其用户访问速度更快。将应用部署在多个可用区可以提高应用的可用性,降低故障风险。然而,在实际应用中,有时需要将实例从一个可用区迁移到另一个可用区,以实现故障切换、负载均衡、数据备份与
559 0
运维编排系列场景--跨可用区批量克隆ECS实例
|
10月前
|
弹性计算 运维 数据中心
运维编排系列场景--跨账号跨地域实例操作系统补丁修复
运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更
393 0
|
10月前
|
弹性计算 运维 监控
运维编排系列场景--通过告警触发自动重启CPU使用率高的ECS实例
运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更
184 0
|
弹性计算 运维 监控
运维编排系列场景--使用定时运维进行状态逼近
### 面向终态的运维 阿里云运维编排服务(Operation Orchestration Service,简称OOS),是阿里云提供的云上自动化运维服务,能够自动化管理和执行任务。OOS支持定时运维功能,可以周期性重复执行指定的运维任务。基于定时运维,OOS能够对云资源的状态进行管理,实现面向终态的运维。 本文以[ilogtail](https://help.aliyun.com/d
3529 0
运维编排系列场景--使用定时运维进行状态逼近
|
弹性计算 运维 网络安全
运维编排系列场景--批量管理自定义的软件包
运维编排(OOS) 简介 什么是OOS Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于
1459 0
运维编排系列场景--批量管理自定义的软件包
|
弹性计算 运维 监控
运维编排系列场景-----在磁盘使用率超限时自动清理临时文件
### 场景介绍 有些应用在运行过程中会不断产生文件,比如下载的文件、备份文件、日志文件,我们需要在磁盘使用率过高后删除不再使用的或者过期的文件。这里我们以清理/tmp下的临时文件为例,说明如何通过运维编排(OOS)提供的公共模板来实现此类运维操作。 ### 解决方案 我们准备一台ECS实例,登陆进系统后,查看它的磁盘占用率: ![磁盘占用2.png](https:
661 0
|
弹性计算 运维
【技术战疫】运维编排灵活审批场景解决方案
运维编排(OOS) 简介 什么是OOS Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于
904 0
|
弹性计算 JSON 运维
运维编排场景系列-----自动一键连通跳板机
跳板机是云盾提供的一个核心系统运维和安全审计管控平台。通过跳板机可以操作跳板机内连通的实例,并在跳板机内对实例进行免密连接操作。此文章构建的是一个简易的跳板机例文。 前提条件 实例状态为运行中(Running) 在控制台查看准备的秘钥对或创建秘钥对 保存秘钥对中的私钥部分 模版说明: 父.
运维编排场景系列-----自动一键连通跳板机