开发者社区> 问答> 正文

如何进行资源栈组管理?

如何进行资源栈组管理?

展开
收起
小天使爱美 2020-03-24 17:33:25 648 0
1 条回答
写回答
取消 提交回答
  • 通过资源栈组功能,您可以使用管理员账号定义和管理ROS模板,并将模板作为预置资源栈的基础,对多个账号和地域下的资源栈进行统一管理,简化工作流程和维护成本。

    资源栈组 通过资源栈组,可使用一个ROS模板在多个阿里云账号中跨地域创建资源栈。每个资源栈中包含的所有资源由资源栈组的ROS模板定义。在创建资源栈组时,需要指定模板,以及模板所需的任何参数和功能。

    在定义资源栈组后,您可以在指定的目标账号和地域中创建、更新或删除资源栈。在这个操作过程中,您还可以指定操作首选项。例如:可以指定对资源栈并行执行操作的账号数量,执行操作地域的顺序和容错能力 (如果超出容错能力,资源栈操作自动停止) 。

    资源栈组和地域相关,您在某个地域(如 cn-hangzhou)中创建了资源栈组,只能在该地域进行查看或更改。

    资源栈实例 资源栈实例是对特定地域内目标账号中资源栈的引用。一个资源栈实例对应一个资源栈,但也可能出现资源栈实例存在,而对应的资源栈不存在的情况。例如,如果您因为某些原因无法创建资源栈,则资源栈实例将显示资源栈创建失败的原因。一个资源栈实例只属于一个资源栈组。

    资源栈组、资源栈操作和资源栈之间的逻辑关系如下图所示。当您更新资源栈组时,将在所有账号和地域中更新所有关联的资源栈实例。资源栈实例 账号 与资源栈组相关的账号如下: 管理员账号 用来创建资源栈组的阿里云账号。登录管理员账号后,可创建资源栈组,以及资源栈组中的资源栈实例。每个资源栈实例所对应的资源栈均创建在目标账号的特定地域中。

    目标账号 用来创建、更新或删除资源栈组中的一个或多个资源栈的账号。必须先在管理员账号与目标账号之间设置信任关系,然后才能使用资源栈组在目标账号中创建资源栈。管理员账号同时也可以是目标账号。

    资源栈组、资源栈实例、资源栈、地域和账号的关系图 资源栈组、资源栈实例、资源栈、地域和账号的关系如下图所示。关系图 资源栈组区分地域。您在杭州地域创建的资源栈组,在北京地域无法看到。 资源栈组跨账号和跨地域。例如:资源栈组是由管理员账号(账号A)创建的,可以在资源栈组中创建多个资源栈实例,创建资源栈实例时可以指定账号和地域。账号A创建的资源栈组中,在杭州地域给账号B和C分别创建资源栈实例1和2,在北京地域给账号C创建资源栈实例3。 资源栈实例是对资源栈的引用。 创建资源栈实例时会相应的创建出资源栈。 删除资源栈实例时可选择删除或保留它所指向的资源栈。 直接删除资源栈则不会删除资源栈实例。 资源栈组部署选项 在创建资源栈组、更新资源栈组、添加资源栈实例、删除资源栈组中资源栈时,可以配置如下资源栈组参数: 最大账号并发数/最大账号并发百分比 您可以指定一次操作的目标账号的最大数量或百分比。例如,如果您将资源栈部署到2个地域内的5个目标账号,将最大账号并发数(MaxConcurrentCount)设置为3,或将最大账号并发百分比(MaxConcurrentPercentage)设置为60,则将在第一个地域为前3个账号部署资源栈,完成后在第一个地域为另外2个账号部署资源栈,随后转入下一个地域进行同样的操作。

    如果指定的最大账号并发百分比(MaxConcurrentPercentage)不表示目标账号的数量,则ROS会向下取整。例如,如果您将资源栈部署到5个目标账户,并将最大账号并发百分比(MaxConcurrentPercentage)设置为50,则ROS会同时部署2个资源栈。

    失败容错数/失败容错百分比 您可以指定某次操作时,每个地域中允许资源栈操作失败的最大数量或百分比,如果超出此值,ROS就会自动停止本次操作。例如,您需要在2个地域内,5个目标账号下创建资源栈,将失败容错数(FailureToleranceCount)设置为2或将失败容错百分比(FailureTolerancePercentage)设置为40,如果某个地域中有第3个目标账号创建资源栈失败,则ROS将停止本次操作,本次操作的结果为失败;如果两个地域内创建资源栈失败的目标账号的数量都不大于2,则ROS认为本次操作结果为成功。

    如果指定的失败容错百分比(FailureTolerancePercentage)不表示目标账号的数量,则ROS会向下取整。例如,如果您将资源栈部署到5个目标账户,并将失败容错百分比(FailureTolerancePercentage)设置为50,则ROS允许最多2个目标账户创建资源栈失败。

    配置以上参数有助于控制时间和允许的失败次数,以便成功执行资源栈组操作并防止您丢失资源栈。

    相关内容 资源栈组的相关内容如下表所示。 内容 描述 授权资源栈组操作权限 在使用资源栈组前,您需要赋予资源编排服务必要的权限,并准备好对应角色。 创建资源栈组 创建资源栈组时,指定要用于创建资源栈的ROS模板、部署资源栈的目标账号和地域等,可确保将具有相同配置的相同资源栈部署到多个指定地域内的多个指定目标账号。 添加资源栈实例 在资源栈组中,您可通过指定目标账号和地域来添加资源栈实例。 更新资源栈组 当您需要修改资源栈组的模板、参数、管理员角色、目标账户、区域等信息时,可以通过更新资源栈组来实现。 覆盖资源组值 当您需要修改资源栈组中资源栈的参数值时,可以通过覆盖资源栈组值来实现。 删除资源栈组 当您不需要资源栈组以及其资源栈时,可以从指定地域内的指定目标账号中删除资源栈及其所有关联资源。

    资源编排服务通过角色扮演对资源栈组中的资源栈实例所对应的资源栈进行部署。在使用资源栈组前,您需要赋予资源编排服务必要的权限,并准备好对应角色。

    背景信息 在使用资源栈组功能之前,您需要为以下账号设置权限: 一个管理员账号 用于创建资源栈组。

    一个目标账号 用于在资源栈组中创建资源栈。

    设置账号权限的操作方法如下: 通过控制台设置权限 通过控制台设置管理员账号权限 通过控制台设置目标账号权限 通过ROS模板设置权限 通过控制台设置管理员账号权限 为管理员账号创建角色AliyunROSStackGroupAdministrationRole,并授予权限AssumeRole-AliyunROSStackGroupExecutionRole。

    创建角色AliyunROSStackGroupAdministrationRole,并授权给ROS服务。 阿里云账号登录RAM控制台。 在左侧导航栏,单击RAM角色管理。 单击新建RAM角色。 选择可信实体类型为阿里云服务,单击下一步。 输入角色名称为AliyunROSStackGroupAdministrationRole,选择受信服务为资源编排服务。 单击完成。 创建权限策略AssumeRole-AliyunROSStackGroupExecutionRole。 在左侧导航栏的权限管理菜单下,单击权限策略管理。 单击新建权限策略。 输入策略名称为AssumeRole-AliyunROSStackGroupExecutionRole,配置模式选择脚本配置。 在策略内容中输入如下策略,该策略的意思为允许角色AliyunROSStackGroupAdministrationRole扮演角色身份AliyunROSStackGroupExecutionRole。 { "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "acs:ram::*:role/AliyunROSStackGroupExecutionRole" } ], "Version": "1" } 单击确定 为角色AliyunROSStackGroupAdministrationRole授权AssumeRole-AliyunROSStackGroupExecutionRole。 在左侧导航栏,单击RAM角色管理。 在RAM角色名称列表下,单击角色名称AliyunROSStackGroupAdministrationRole。 在角色AliyunROSStackGroupAdministrationRole基本信息界面,单击添加权限 在添加权限界面,选择被授权主体为AliyunROSStackGroupAdministrationRole,选择自定义权限策略为AssumeRole-AliyunROSStackGroupExecutionRole。 单击确定 通过控制台设置目标账号权限 为目标账号创建角色AliyunROSStackGroupExecutionRole,并授予权限AdministratorAccess,资源栈组在该目标账号下创建资源栈时会使用该权限。

    创建角色AliyunROSStackGroupExecutionRole。 登录RAM控制台。 在左侧导航栏,单击RAM角色管理。 单击新建RAM角色。 选择可信实体类型为阿里云账号,单击下一步。 输入角色名称为AliyunROSStackGroupExecutionRole,选择云账号为其他云账号,输入管理员账号的ID。 单击完成 为角色AliyunROSStackGroupExecutionRole授权AdministratorAccess。 在左侧导航栏,单击RAM角色管理。 在RAM角色名称列表下,单击角色名称AliyunROSStackGroupExecutionRole。 在角色AliyunROSStackGroupExecutionRole基本信息界面,单击添加权限 在添加权限界面,选择被授权主体为AliyunROSStackGroupExecutionRole,选择系统权限策略为AdministratorAccess。 单击确定 通过ROS模板设置权限 通过ROS模板为管理员账号和目标账号创建执行角色,并赋予资源栈组和资源栈的操作权限。

    登录资源编排控制台。 使用模板AliyunROSStackGroupAdministrationRole为管理员账号创建管理员角色及权限。 使用模板AliyunROSStackGroupExecutionRole为目标账号创建执行角色及权限。

    通过资源栈组,可使用一个ROS模板在多个阿里云账号中跨地域创建资源栈。每个资源栈中包含的所有资源由资源栈组的ROS模板定义。创建资源栈组时,指定要用于创建资源栈的ROS模板、创建资源栈的目标账号和地域等,可确保将具有相同配置的相同资源栈部署到多个指定地域内的多个指定目标账号。

    前提条件 请确保您已为管理员账号和目标账号设置权限,操作方法请参见授权资源栈组操作权限。 背景信息 创建资源栈组时,指定要用于创建资源栈的ROS模板、创建资源栈的目标账号和地域等,可可确保将具有相同配置的相同资源栈部署到多个指定地域内的多个指定目标账号。 操作步骤 准备模板。 创建资源栈组之前您需要事先准备ROS模板,定义好需要创建的资源,以创建一个VPC、VSwitch、安全组和ECS实例的模板为例。 { "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { "InstanceType": { "Type": "String", "Default": "ecs.g6.large" } }, "Resources": { "Vpc": { "Type": "ALIYUN::ECS::VPC", "Properties": { "CidrBlock": "192.168.0.0/16" } }, "VSwitch": { "Type": "ALIYUN::ECS::VSwitch", "Properties": { "CidrBlock": "192.168.0.0/24", "VpcId": { "Ref": "Vpc" }, "ZoneId": { "Fn::Select": [ "0", { "Fn::GetAZs": { "Ref": "ALIYUN::Region" } } ] } } }, "SecurityGroup": { "Type": "ALIYUN::ECS::SecurityGroup", "Properties": { "VpcId": { "Ref": "Vpc" } } }, "InstanceGroup": { "Type": "ALIYUN::ECS::InstanceGroup", "Properties": { "MaxAmount": 2, "InstanceType": { "Ref": "InstanceType" }, "ImageId": "centos_7", "VpcId": { "Ref": "Vpc" }, "VSwitchId": { "Ref": "VSwitch" }, "SecurityGroupId": { "Ref": "SecurityGroup" } } } }, "Outputs": { "InstanceIds": { "Value": { "Fn::GetAtt": ["InstanceGroup", "InstanceIds"] } } } } 登录资源编排控制台。 在页面左上角的地域下拉列表,选择要创建资源栈组的地域。 在左侧导航栏选择资源栈组。 在资源栈组列表页面,单击创建资源栈组。 在创建资源栈组向导的选择模板页面输入ROS模板,单击下一步。 您可以选择已有模板,也可以使用示例模板。

    模板为JSON或YAML格式的文本文件,使用UTF-8编码。有关模板的详情,请参见模板结构说明。

    在创建资源栈组向导的配置模板参数页面,根据界面提示,配置资源栈组名称和参数录入,单击下一步。 在创建资源栈组向导的配置资源栈组页面,根据界面提示,配置管理员角色和执行角色,单击下一步。 如果您已设置角色权限,则直接单击下一步。 在创建资源栈组向导的设置部署选项页面,根据界面提示,配置资源栈组的账户(目标账号)、区域、最大并发账户数和容错,单击下一步。 最大并发账户数和容错的配置方法,请参见资源栈组部署选项。 在创建资源栈组向导的确认页面,单击创建资源栈组。 您可以在资源栈组列表页面,查看当前创建的资源栈组的状态和信息。

    向资源栈组中添加资源栈实例需要指定目标账号和地域。一个资源栈实例只属于一个资源栈组。

    前提条件 请确保您已创建资源栈组,操作方法请参见创建资源栈组。 背景信息 在资源栈组内创建资源栈时,先在资源栈组内创建一个资源栈实例,然后在指定的目标账户和地域创建资源栈,每个资源栈实例对应一个资源栈。 操作步骤 登录资源编排控制台。 在页面左上角的地域下拉列表,选择资源栈组所在的地域。 在左侧导航栏选择资源栈组。 在资源栈组列表中,单击资源栈组名称对应的右侧操作栏中的1,选择向资源栈组添加资源栈。 在向资源栈组添加资源栈向导的设置部署选项页面,根据界面提示,配置资源栈组的账户、区域、最大并发账户数和容错,单击下一步。 最大并发账户数和容错的配置方法,请参见资源栈组部署选项。 在向资源栈组添加资源栈向导的指定覆盖页面,根据界面提示,可以选择是否覆盖参数,单击下一步。 在资源栈组中添加资源栈时,您可以重新定义模板中的参数值。资源栈创建成功后,您可以在资源栈列表中,单击资源栈名称下面的资源栈ID,然后单击参数,查看重新指定的参数值。 在向资源栈组添加资源栈向导的确认页面,根据界面提示,配置实例的覆盖值,单击确认添加。 查看资源栈实例。 在资源栈组列表中,单击资源栈组名称。 在资源栈组管理页面,单击实例。 您可以查看资源栈实例所属账户、资源栈组实例区域、资源栈ID、实例状态等。

    添加资源栈实例成功后,由于资源栈正在创建,实例状态为已过期,当资源栈创建成功后,实例状态自动更新为最新。在资源栈列表中,您可以查看资源栈的创建情况。

    当您需要修改资源栈组的模板、参数、管理员角色、目标角色、容错、并发数等信息时,可以通过更新资源栈组来实现。

    前提条件 请确保您已创建资源栈组,操作方法请参见创建资源栈组。 背景信息 更新资源栈组时,可更新模板、参数值等信息,若更新了资源栈组中的模板,会更新所关联的资源栈。 操作步骤 登录资源编排控制台。 在页面左上角的地域下拉列表,选择资源栈组的所在地域。 在左侧导航栏选择资源栈组。 在资源栈组列表中,单击资源栈组名称对应的右侧操作栏中的更新。 在修改资源栈组向导的选择模板页面,根据界面提示,重新选择并配置模板,单击下一步。 当您选择替换当前模板时,会更新资源栈组的模板,同时更新资源栈组下的所有资源栈。如果您只需要更新部分资源栈,则请在设置部署选项时,指定目标账号和地域。 在修改资源栈组向导的配置模板参数页面,根据界面提示,重新配置资源栈组描述和参数录入的值,单击下一步。 在修改资源栈组向导的配置资源栈组页面,根据界面提示,重新配置管理员角色和执行角色,单击下一步。 在修改资源栈组向导的设置部署选项页面,根据界面提示,指定要更新资源栈的账户、区域、最大并发账户数和容错,单击下一步。 最大并发账户数和容错的配置方法,请参见资源栈组部署选项。 在修改资源栈组向导的确认页面,单击确认修改。 单击确认修改。 如果您需要确认更新配置,则可以单击下一步,确认配置无误后,再单击确认修改,完成更新资源栈组操作。

    当您需要修改资源栈组中资源栈的参数值时,可以通过覆盖资源栈组值来实现。

    前提条件 请确保您已创建资源栈组,操作方法请参见创建资源栈组。 操作步骤 登录资源编排控制台。 在页面左上角的地域下拉列表,选择资源栈组的所在地域。 在左侧导航栏选择资源栈组。 在资源栈组列表中,单击资源栈组名称对应的右侧操作栏中的1,选择覆盖参数。 在覆盖资源栈组值向导的设置部署选项页面,重新配置资源栈组的账户、区域、最大并发账户数和容错,单击确认覆盖。 最大并发账户数和容错的配置方法,请参见资源栈组部署选项。 您可以在资源栈列表中,单击资源栈名称下面的资源栈ID,然后单击参数,查看覆盖资源栈组值。

    当您不需要资源栈组以及资源栈时,可以删除指定地域内的指定目标账号的资源栈实例及其所有关联资源。

    前提条件 请确保您已创建资源栈组,操作方法请参见创建资源栈组。 背景信息 当资源栈组内没有资源栈实例时,才能删除资源栈组。 直接删除资源栈时,不会删除资源栈实例。 删除资源栈实例时,可以选择是否删除资源栈。 操作步骤 登录资源编排控制台。 在页面左上角的地域下拉列表,选择资源栈组所在的地域。 在左侧导航栏选择资源栈组。 删除资源栈实例。 在资源栈组列表中,单击资源栈组名称对应的右侧操作栏中的1,选择从资源栈组删除资源栈。 在从资源栈组删除资源栈向导的设置部署选项页面,配置资源栈组的账户、区域、最大并发账户数和容错,单击下一步。 在从资源栈组删除资源栈向导的确认页面,确认账户、区域、最大并发账户数和容错等信息后,单击确认删除。 最大并发账户数和容错的配置方法,请参见资源栈组部署选项。 在删除资源栈组内资源栈的确认页面,选择删除方式,单击确认。 选择删除方式为释放空间,则表示删除资源栈。资源栈创建的资源将会被释放,请您谨慎操作。 选择删除方式为保留资源,则表示不删除资源栈。 删除资源栈组。 在资源栈组列表中,单击资源栈组名称对应的右侧操作栏中的删除。

    ROS为资源栈组操作和资源栈实例生成状态代码。

    资源栈组操作 资源栈组操作状态 描述 RUNNING 操作正在进行中。 SUCCEEDED 操作已完成,未超出操作的容错能力。 FAILED 操作失败的资源栈的数量超出了容错能力。 STOPPING 操作正在停止。 STOPPED 操作已停止。 资源栈实例操作 资源栈实例操作状态 描述 CURRENT 资源栈是资源栈组中最新的,即资源栈的模板、参数与资源栈组一致。 OUTDATED 资源栈不是资源栈组最新的,即资源栈的模板、参数与资源栈组不一致。例如: 更新资源栈组及部分资源栈实例,未更新的资源栈实例状态为OUTDATED。 创建或更新资源栈实例时,角色扮演失败,创建或更新资源栈未执行,资源栈实例状态为OUTDATED。 创建或更新资源栈实例时,角色扮演成功,创建或更新资源栈失败,资源栈实例状态为OUTDATED。

    2020-03-24 17:47:42
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Terraform - 管理云资源的正确姿势 立即下载
Terraform-管理云资源的正确姿势 立即下载
《阿里云资源保障服务,让您从容应对资源波峰》 立即下载