什么是模块

模块是一种以透明、易管理和可重复的方式打包资源配置,以便跨资源栈模板实现包含的方法。模块可以将常见服务配置和最佳实践封装为模块化、可自定义的构建基块,供您包含在资源栈模板中。

场景示例

模块可以帮助您将包含最佳实践、专家领域知识和可接受的指南(例如安全性、合规性、治理和行业法规)在内的资源配置纳入模板中,而无需深入了解资源实施的复杂性。

例如:网络领域专家可以创建一个包含遵守安全准则的内置安全组和入口、出口规则的模块。然后您可以将该模块纳入到模板中,以便在资源栈中预配置安全的网络基础架构,而无需花费时间了解清楚VPC、子网、安全组和网关的工作方式。此外,由于模块具有版本控制,如果安全指南随时间而发生变化,模块创建者可以创建包含这些更改的新版本模块。

功能优势

  • 可预测性:模块必须在ROS中创建后才能使用,您将模块纳入到模板中时,可以了解该模块能解析到哪些资源。

  • 可重用性:您可以在多个模板和账号中使用同一模块。

  • 可追溯性:ROS会跟踪资源栈中的哪些资源是从模块创建而成的。资源栈的资源、偏差、更改集中包含相关信息。

  • 可管理性:创建模块后,您可以通过ROS对其进行管理,例如版本控制。

模块分类

  • 公共模块

    公共模块是资源编排为您提供的可直接使用的模块。更多信息,请参见查看公共模块

  • 自定义模块

    自定义模块是通过控制台手动创建的模块。更多信息,请参见管理自定义模块

工作原理

当您启动资源栈操作时, ROS会生成一个已处理的模板,该模板将所有包含的模块解析为对应的资源。在实际执行资源栈操作之前,可以使用更改集预览要添加或更新的资源。

说明

您可以通过命名区分资源、数据源和模块。资源和数据源使用三段式命名约定,而模块使用四段式命名约定:MODULE::Organization::Service::Usecase

如果您使用一个包含资源和模块的模板创建资源栈。模板中包含一个单独的资源Resource1 和一个模块MODULE::Org::Service::ParentModuleMODULE::Org::Service::ParentModule模块中包含两个资源Resource2Resource3和一个嵌套模块MODULE::Org::Service::ChildModule。嵌套模块MODULE::Org::Service::ChildModule中包含一个资源Resource4。ROS会处理模板并将模块解析为对应的资源,最终创建的资源栈中包含四个资源:Resource1Resource2Resource3Resource4

EDB72C70-B443-4536-959F-ACC65DDD82C3.png