赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云备份
  4. 开发参考
  5. 资源编排ROS集成示例

资源编排ROS集成示例

  • 开发参考
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

使用资源编排服务ROS调用云备份。本文为您介绍如何编写一个资源编排的模板,自动化创建一个云备份的备份库。

支持资源列表

资源编排服务ROS(Resource Orchestration Service)是阿里云提供的一项简化云计算资源管理的服务。开发者和管理员可以编写模板,在模板中定义所需的阿里云资源(例如:ECS 实例、OSS、NAS)、资源间的依赖关系等。ROS的编排引擎将根据模板自动完成所有资源的创建和配置,实现自动化部署及运维。更多详情请参见什么是资源编排服务。

支持使用资源编排服务ROS调用云备份。编排的资源包括普通资源和数据资源。

  • 普通资源:

    • ALIYUN::HBR::BackupClients:为ECS实例安装备份客户端

    • ALIYUN::HBR::RestoreJob:创建恢复任务

    • ALIYUN::HBR::DbAgent安装数据库备份客户端

    • ALIYUN::HBR::DbPlan:创建备份计划

    • ALIYUN::HBR::DbVault:创建镜像备份仓库

    • ALIYUN::HBR::Vault:创建一个备份仓库

  • 数据资源:

    • DATASOURCE::HBR::Vaults:查询备份仓库基础信息

权限说明

在本案例中,需要创建的资源:备份库。默认情况下资源编排直接使用当前登录控制台的用户凭证,要求当前用户必须具备以下权限:

  • AliyunHBRFullAccess: 管理云备份资源的权限。

阿里云账号拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。请根据业务的实际情况按需分配权限后进行接口调用。RAM用户需具备操作云备份资源的权限。具体操作,请参见创建RAM用户进行云备份操作。

操作步骤

  1. 登录资源编排ROS控制台,单击顶部导航栏地域下拉框,选择您需要的地域。

  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

相关文章

集成概览 2025-04-22 15:06

云备份提供可视化操作控制台,还提供OpenAPI在线调试、阿里云SDK、

SDK参考 2025-04-22 15:06

云备份提供多种语言SDK,您可以根据业务的实际情况进行集成。

使用Terraform管理云备份资源 2025-04-22 15:06

Terraform是一种开源工具,用于安全高效地预配和管理云基础结构。你可以使用Terraform管理云备份资源。本文为您演示如何通过Terraform创建一个

资源编排ROS集成示例 2025-04-22 15:06

使用资源编排服务ROS调用云备份。本文为您介绍如何编写一个

API概览 2025-04-22 15:06

本产品(云备份 Cloud Backup/2017-09-08)的OpenAPI采用RPC签名风格,签名细节参见签名机制说明。我们已经为开发者封装了常见编程语言的SDK,开发者可通过下载SD

服务接入点 2025-04-22 15:06

亚太

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号