全部產品
Search
文件中心

Cloud Backup:Resource Orchestration Service整合樣本

更新時間:Jul 17, 2024

使用Resource Orchestration Service服務ROS調用Cloud Backup。本文為您介紹如何編寫一個Resource Orchestration Service的模板,自動化建立一個Cloud Backup的備份庫。

支援資源清單

Resource Orchestration Service服務ROS(Resource Orchestration Service)是阿里雲提供的一項簡化雲端運算資源管理的服務。開發人員和管理員可以編寫模板,在模板中定義所需的阿里雲資源(例如:ECS 執行個體、RDS 資料庫執行個體)、資源間的依賴關係等。ROS的編排引擎將根據模板自動完成所有資源的建立和配置,實現自動化部署及營運。更多詳情請參見什麼是Resource Orchestration Service服務

支援使用Resource Orchestration Service服務ROS調用Cloud Backup。編排的資源套件括普通資源和資料資源。

許可權說明

在本案例中,需要建立的資源:備份庫。預設情況下Resource Orchestration Service直接使用當前登入控制台的使用者憑證,要求目前使用者必須具備以下許可權:

  • AliyunHBRFullAccess: 管理Cloud Backup資源的許可權。

阿里雲帳號擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM使用者進行API訪問或日常營運。請根據業務的實際情況按需分配許可權後進行介面調用。RAM使用者需具備操作雲備份資源的許可權。具體操作,請參見建立RAM使用者進行雲備份操作

操作步驟

  1. 登入Resource Orchestration Service控制台,單擊頂部導覽列地區下拉框,選擇您需要的地區。

  2. 單擊左側功能表列中的資源棧,選擇建立資源棧 > 使用ROS

    • 指定模板:選中選擇已有模板

    • 模板錄入方式:選中輸入模板

  3. 模板內容選擇ROS,並輸入代碼。

    建立備份庫的文法、說明及樣本,請參見ALIYUN::HBR::Vault。該樣本中,建立一個名為test-vault的備份庫。

    YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      VaultName:
        Description: The name of the backup vault. The name must be 1 to 64 characters
          in length.
        MaxLength: 64
        MinLength: 1
        Type: String
        Default: test-valut
    Resources:
      ExtensionResource:
        Properties:
          VaultName:
            Ref: VaultName
          VaultType: STANDARD
        Type: ALIYUN::HBR::Vault
    Outputs:
      BackupPlanStatistics:
        Description: The statistics of backup plans that use the backup vault.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - BackupPlanStatistics
      BytesDone:
        Description: 'The amount of data that is backed up. Unit: bytes.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - BytesDone
      CreateTime:
        Description: 'The time when the backup vault was created. This value is a UNIX
          timestamp. Unit: seconds.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - CreateTime
      Dedup:
        Description: Indicates whether the deduplication feature is enabled.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - Dedup
      Description:
        Description: The description of the backup vault.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - Description
      IndexAvailable:
        Description: Indicates whether indexes are available. Indexes are available when
          they are not being updated.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - IndexAvailable
      IndexLevel:
        Description: 'The index level.
    
          - **OFF**: No indexes are created.
    
          - **META**: Metadata indexes are created.
    
          - **ALL**: Full-text indexes are created.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - IndexLevel
      IndexUpdateTime:
        Description: The time when the index was updated.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - IndexUpdateTime
      LatestReplicationTime:
        Description: 'The time when the last remote backup was synchronized. This value
          is a UNIX timestamp. Unit: seconds.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - LatestReplicationTime
      PaymentType:
        Description: PaymentType.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - PaymentType
      RedundancyType:
        Description: 'The data redundancy type of the backup vault. Valid values:
    
          - **LRS**: Locally redundant storage (LRS) is enabled for the backup vault.
          HBR stores the copies of each object on multiple devices of different facilities
          in the same zone. This way, HBR ensures data durability and availability even
          if hardware failures occur.
    
          - **ZRS**: Zone-redundant storage (ZRS) is enabled for the backup vault. HBR
          uses the multi-zone mechanism to distribute data across three zones within the
          same region. If a zone fails, the data that is stored in the other two zones
          is still accessible.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - RedundancyType
      Replication:
        Description: 'Indicates whether the backup vault is a remote backup vault. Valid
          values:
    
          - **true**: The backup vault is a remote backup vault.
    
          - **false**: The backup vault is an on-premises backup vault.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - Replication
      ReplicationProgress:
        Description: The progress of data synchronization from the backup vault to the
          mirror vault.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - ReplicationProgress
      ReplicationSourceRegionId:
        Description: The ID of the region where the remote backup vault resides.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - ReplicationSourceRegionId
      ReplicationSourceVaultId:
        Description: The ID of the source vault that corresponds to the remote backup
          vault.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - ReplicationSourceVaultId
      ResourceGroupId:
        Description: The ID of the resource group.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - ResourceGroupId
      Retention:
        Description: 'The retention period of the backup vault. Unit: days.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - Retention
      SearchEnabled:
        Description: Indicates whether the backup search feature is enabled.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - SearchEnabled
      SourceTypes:
        Description: The information about the data source.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - SourceTypes
      StorageSize:
        Description: 'The usage of the backup vault. Unit: bytes.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - StorageSize
      Tags:
        Description: The tags of the backup vault.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - Tags
      TrialInfo:
        Description: The free trial information.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - TrialInfo
      UpdatedTime:
        Description: 'The time when the backup vault was updated. This value is a UNIX
          timestamp. Unit: seconds.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - UpdatedTime
      VaultId:
        Description: The ID of the backup vault.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - VaultId
      VaultName:
        Description: The name of the backup vault.
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - VaultName
      VaultStatusMessage:
        Description: 'The status message that is returned when the backup vault is in
          the ERROR state. This parameter is available only for remote backup vaults.
          Valid values:
    
          - **UNKNOWN_ERROR*: An unknown error occurs.
    
          - **SOURCE_VAULT_ALREADY_HAS_REPLICATION**: A mirror vault is configured for
          the source vault.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - VaultStatusMessage
      VaultStorageClass:
        Description: 'The storage type of the backup vault. Valid value: **STANDARD**,
          which indicates standard storage.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - VaultStorageClass
      VaultType:
        Description: 'The type of the backup vault. Valid value: **STANDARD**, which indicates
          a standard backup vault.'
        Value:
          Fn::GetAtt:
          - ExtensionResource
          - VaultType

    JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "VaultName": {
          "Description": "The name of the backup vault. The name must be 1 to 64 characters in length.",
          "MaxLength": 64,
          "MinLength": 1,
          "Type": "String",
          "Default": "test-valut"
        }
      },
      "Resources": {
        "ExtensionResource": {
          "Properties": {
            "VaultName": {
              "Ref": "VaultName"
            },
            "VaultType": "STANDARD"
          },
          "Type": "ALIYUN::HBR::Vault"
        }
      },
      "Outputs": {
        "BackupPlanStatistics": {
          "Description": "The statistics of backup plans that use the backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "BackupPlanStatistics"
            ]
          }
        },
        "BytesDone": {
          "Description": "The amount of data that is backed up. Unit: bytes.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "BytesDone"
            ]
          }
        },
        "CreateTime": {
          "Description": "The time when the backup vault was created. This value is a UNIX timestamp. Unit: seconds.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "CreateTime"
            ]
          }
        },
        "Dedup": {
          "Description": "Indicates whether the deduplication feature is enabled.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "Dedup"
            ]
          }
        },
        "Description": {
          "Description": "The description of the backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "Description"
            ]
          }
        },
        "IndexAvailable": {
          "Description": "Indicates whether indexes are available. Indexes are available when they are not being updated.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "IndexAvailable"
            ]
          }
        },
        "IndexLevel": {
          "Description": "The index level.\n- **OFF**: No indexes are created.\n- **META**: Metadata indexes are created.\n- **ALL**: Full-text indexes are created.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "IndexLevel"
            ]
          }
        },
        "IndexUpdateTime": {
          "Description": "The time when the index was updated.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "IndexUpdateTime"
            ]
          }
        },
        "LatestReplicationTime": {
          "Description": "The time when the last remote backup was synchronized. This value is a UNIX timestamp. Unit: seconds.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "LatestReplicationTime"
            ]
          }
        },
        "PaymentType": {
          "Description": "PaymentType.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "PaymentType"
            ]
          }
        },
        "RedundancyType": {
          "Description": "The data redundancy type of the backup vault. Valid values:\n- **LRS**: Locally redundant storage (LRS) is enabled for the backup vault. HBR stores the copies of each object on multiple devices of different facilities in the same zone. This way, HBR ensures data durability and availability even if hardware failures occur.\n- **ZRS**: Zone-redundant storage (ZRS) is enabled for the backup vault. HBR uses the multi-zone mechanism to distribute data across three zones within the same region. If a zone fails, the data that is stored in the other two zones is still accessible.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "RedundancyType"
            ]
          }
        },
        "Replication": {
          "Description": "Indicates whether the backup vault is a remote backup vault. Valid values:\n- **true**: The backup vault is a remote backup vault.\n- **false**: The backup vault is an on-premises backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "Replication"
            ]
          }
        },
        "ReplicationProgress": {
          "Description": "The progress of data synchronization from the backup vault to the mirror vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "ReplicationProgress"
            ]
          }
        },
        "ReplicationSourceRegionId": {
          "Description": "The ID of the region where the remote backup vault resides.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "ReplicationSourceRegionId"
            ]
          }
        },
        "ReplicationSourceVaultId": {
          "Description": "The ID of the source vault that corresponds to the remote backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "ReplicationSourceVaultId"
            ]
          }
        },
        "ResourceGroupId": {
          "Description": "The ID of the resource group.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "ResourceGroupId"
            ]
          }
        },
        "Retention": {
          "Description": "The retention period of the backup vault. Unit: days.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "Retention"
            ]
          }
        },
        "SearchEnabled": {
          "Description": "Indicates whether the backup search feature is enabled.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "SearchEnabled"
            ]
          }
        },
        "SourceTypes": {
          "Description": "The information about the data source.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "SourceTypes"
            ]
          }
        },
        "StorageSize": {
          "Description": "The usage of the backup vault. Unit: bytes.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "StorageSize"
            ]
          }
        },
        "Tags": {
          "Description": "The tags of the backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "Tags"
            ]
          }
        },
        "TrialInfo": {
          "Description": "The free trial information.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "TrialInfo"
            ]
          }
        },
        "UpdatedTime": {
          "Description": "The time when the backup vault was updated. This value is a UNIX timestamp. Unit: seconds.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "UpdatedTime"
            ]
          }
        },
        "VaultId": {
          "Description": "The ID of the backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "VaultId"
            ]
          }
        },
        "VaultName": {
          "Description": "The name of the backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "VaultName"
            ]
          }
        },
        "VaultStatusMessage": {
          "Description": "The status message that is returned when the backup vault is in the ERROR state. This parameter is available only for remote backup vaults. Valid values:\n- **UNKNOWN_ERROR*: An unknown error occurs.\n- **SOURCE_VAULT_ALREADY_HAS_REPLICATION**: A mirror vault is configured for the source vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "VaultStatusMessage"
            ]
          }
        },
        "VaultStorageClass": {
          "Description": "The storage type of the backup vault. Valid value: **STANDARD**, which indicates standard storage.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "VaultStorageClass"
            ]
          }
        },
        "VaultType": {
          "Description": "The type of the backup vault. Valid value: **STANDARD**, which indicates a standard backup vault.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionResource",
              "VaultType"
            ]
          }
        }
      }
    }
  4. 單擊建立,執行資源棧。

  5. 輸出結果。

    image

  6. 建立完成後,您可以通過OpenAPI、SDK或者在雲備份控制台,可以查看到名為test-vault的備份庫。image