本教程介绍如何使用弹性伸缩生命周期挂钩挂起ECS实例,并结合运维编排服务OOS的模板,实现为Linux系统的ECS实例自动挂载NAS文件系统。
前提条件
- 使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。
- 已创建伸缩组,且伸缩组处于启用状态。
- 已创建NAS文件系统并添加挂载点,挂载点相关操作请参见管理挂载点。挂载点满足以下条件:
- 如果伸缩组的网络类型为专有网络,挂载点的网络类型必须为专有网络,且和伸缩组位于同一个专有网络下。
- 如果伸缩组的网络类型为经典网络,挂载点的网络类型必须为经典网络。
- 挂载协议类型为NFS。
- 已为OOS服务创建RAM角色,具体操作请参见为OOS服务设置RAM权限。
说明 本教程中使用默认的RAM角色OOSServiceRole,您也可以使用其他自定义的RAM角色,但需要保证RAM角色拥有执行OOS模板所需的权限。
背景信息
NAS文件系统是文件存储的实例,将文件系统挂载到ECS实例后,可以像使用本地文件系统一样使用文件存储,提高数据安全和操作容错率。目前创建伸缩配置时暂不支持关联NAS文件系统,但您可以通过生命周期挂钩和OOS模板为ECS实例自动挂载NAS文件系统,相比创建ECS实例后再手动挂载文件系统,效率更高。
操作步骤
步骤一:对RAM角色授予OOS服务权限
您需要拥有OOS的执行权限才能执行OOS的模板。执行ACS-ESS-LifeCycleAttachNASFileSystemToInstance中定义的运维操作时涉及云服务器ECS、弹性伸缩、NAS文件系统的资源。
- 登录RAM控制台。
- 创建权限策略。
- 为OOSServiceRole授予权限策略。
步骤二:为扩容活动创建生命周期挂钩并触发扩容
(可选)步骤三:查看OOS执行情况
常见问题
- 报错信息:Forbidden.Unauthorized message: A required authorization for the specified action
is not supplied.
解决方案:请检查是否为RAM角色OOSServiceRole添加了相应的权限,例如步骤一中的示例权限。您需要为RAM角色添加操作权限,确保OOS服务能够操作OOS模版中涉及的资源。
- 报错信息:Forbidden.RAM message: User not authorized to operate on the specified resource, or
this API doesn't support RAM.
解决方案:请检查是否为RAM角色OOSServiceRole添加了相应的权限,例如步骤一中的示例权限。您需要为RAM角色添加操作权限,确保OOS服务能够操作OOS模版中涉及的资源。
- 报错信息:LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken
and lifecycleActionId you provided does not match any in process lifecycle action.
解决方案:请评估生命周期挂钩的超时时间,确保在超时时间内可以执行完OOS模板中定义的运维任务。