天天看點

運維編排場景系列-----自動建立多個區域同類型存儲空間

        阿裡雲對象存儲服務(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. 單擊自定義模闆,單擊建立模闆按鈕,選取空白模闆。
    運維編排場景系列-----自動建立多個區域同類型存儲空間
  3. 将上述提供的子模闆粘貼到yaml欄,輸入名稱CreateDifferentRegionBucket,點選建立模闆。
    運維編排場景系列-----自動建立多個區域同類型存儲空間
  4. 單擊建立執行。
    運維編排場景系列-----自動建立多個區域同類型存儲空間
  5. 保持基本資訊的預設設定,單擊下一步:設定參數。
  6. 完成參數設定填寫,單擊下一步:确認。
    運維編排場景系列-----自動建立多個區域同類型存儲空間
  7. 檢視參數設定是否無誤,确認無誤後單擊建立執行。
    運維編排場景系列-----自動建立多個區域同類型存儲空間
  8. 在執行管理中檢視建立的運維任務。
    運維編排場景系列-----自動建立多個區域同類型存儲空間
  9. 執行結果

    如下所示,已經根據自己需求建立出相應的存儲空間。

    運維編排場景系列-----自動建立多個區域同類型存儲空間

附錄一:

此模版屬于ROA風格的模版,編寫風格與REST風格稍有變化。是以簡單介紹ROA的編寫風格:

  1. 根據OSS的PutBucket的 文檔 可見。在此模版中的參數 x-oss-acl 在源OSS文檔中是屬于請求頭,是以放到本文的模版中,存在于Headers下。
  2. 此模版中的參數RegionId、BucketName是屬于公共參數是直接放到模版中的Parameters下。
  3. 此模版中的請求參數StorageClass與DataRedundancyType,在原文檔中是屬于請求元素,是以放到模版中是編寫到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執行個體系統快照下載下傳到本地 運維編排場景系列----批量更換系統盤