我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
使用 亚马逊云科技 Systems Manager 文档在 Amazon RDS 定制版 Oracle 中自动执行任务
您可能需要修改 RDS Custom for Oracle 实例的默认配置以满足各种要求,例如启用数据库功能或选项、更改
在这篇文章中,我们将介绍如何使用
解决方案概述
A
使用 SSM 文档可以帮助大规模提高运营效率,减少与手动干预相关的错误,并自动执行部署和配置任务。此外,您可以与同一区域内的特定 亚马逊云科技 账户共享 SSM 文档。也可以在运行时对它们进行标记和引用。使用这种方法,您可以优化和扩展跨多个账户的多个 RDS 自定义实例的部署。SSM 文档也可以成为状态管理器中 SSM 关联的一部分。
在这篇文章中,我们演示了两种场景:
- 创建并运行 SSM 文档,在 RDS Custom for Oracle 数据库实例上进行操作系统级别的更改,并跨账户共享 SSM 文档
- 创建并运行 SSM 文档,在 RDS 自定义适用于 Oracle 的数据库实例上进行数据库级别的更改
先决条件
要继续阅读这篇文章,您需要两个 RDS Custom for Oracle 数据库实例:一个在 亚马逊云科技 账户 A 中,另一个在账户 B 中。有关说明,请参阅
创建并运行 SSM 文档,以便在 RDS 自定义适用于 Oracle 的数据库实例上进行操作系统级别的更改
为了开始探索我们的第一个用例,我们首先在账户 A 中创建一个 SSM 文档来创建操作系统用户。完成以下步骤:
- 在系统管理器控制台上,选择导航窗格 中的 文档 。
- 在 “ 所有文档 ” 选项卡上的 “ 创建文档 ” 菜单上,选择 “ 自动化 ” 。
输入文档的名称(例如,RdsCustom-Add-Os-User)。
- 转到编辑器选项卡并输入以下内容以添加名为
testss
m 的操作系统用户。
在本文档中,我们通过 API 调用获取实例 ID 和数据库 ID,然后运行 shell 脚本来添加操作系统用户。
- 选择 “ 创建自动化 ” 。
您创建的文档显示在 “ 文档 ” 页面的 “ 我 所有 ” 选项卡上。
现在,您可以在 亚马逊云科技 账户 A 中的 RDS 自定义实例上运行 SSM 文档。
- 在 “ 文档 ” 页面上,选择要运行的文档,然后选择 “ 执行自动化 ” 。
- 选择 “ 简单执行 ” 。
如果您想在多个 账户和区域中运行,还可以选择多 账户和区域。
- 在 输入参数 下 ,输入
dbinStance
ID 的值。 - 选择 “ 执行 ” 。
您可以监控运行详细信息以及步骤 ID、编号、开始和结束时间以及状态,如以下屏幕截图所示。
- 要进行验证,请登录 RDS 自定义实例的底层
亚马逊弹性计算云 (Amazon EC2) 实例并检查操作系统用户。
现在,我们可以与账户 B 共享 SSM 文档。组织开发自己的文档并跨账户共享的能力非常重要。例如,DevOps 或 SecOps 小组可以开发、创建和验证文档,并在不同账户之间共享这些文档。
- 选择文档
Rdscustom-Add-Os-User
, 然后在 “ 操作 ” 菜单上选择 “修改权限”。
- 在 “ 修改权限 ” 下 ,选择 “ 私人 ”, 然后输入要与之共享文档的账号。
- 选择 “ 保存” 。
- 在 亚马逊云科技 账户 B 中运行相同的 SSM 文档。
- 要进行验证,请切换到账户 B,然后在 Systems Manager 控制台的 文档 页面上,导航到 “ 与我 共享 ” 选项卡。
您应该在此选项卡上看到与该帐户共享的所有文档。
- 按照相同的步骤(从步骤 6 开始)在账户 B 中运行 SSM 文档。
创建并运行 SSM 文档,对适用于 Oracle 的 RDS 自定义数据库实例数据库进行数据库级别的更改
要探索此用例,请完成以下步骤:
- 在系统管理器控制台上,选择导航窗格 中的 文档 。
- 在 “ 所有文档 ” 选项卡上的 “ 创建文档 ” 菜单上,选择 “ 自动化 ” 。
- 输入文档的名称(例如,
rdsCustom
Changedbparam)。 - 转到编辑器选项卡并输入以下内容以更改数据库参数并重新启动数据库。
在本文档中,我们使用 API 调用来暂停 RDS 自定义自动化并获取数据库 ID 和实例 ID。然后我们使用 r unComman
d 并运行 shell 脚本来更改数据库参数(将名为 job_queue_
processes 的 Oracle 数据库参数设置为 200) 并重新启动数据库。最后,我们使用 API 来恢复自定义数据库自动化。
- 选择 “ 创建自动化 ” 。
您创建的文档显示在 “ 文档 ” 页面的 “ 我 所有 ” 选项卡上。
让我们先完成两次验证,然后再在账户 A 中的 RDS 自定义实例上运行 SSM 文档。
-
检查实例 dbcust2 中数据库参数
job_queue_process 的值。
如以下屏幕截图所示,它当前设置为 50。
- 验证 RDS 自定义实例是否启用了自动化。
- 选择要运行的文档,然后选择 “ 执行自动化 ” 。
- 选择 “ 简单执行 ” 。
- 在 输入参数 下 ,输入
dbinStance
ID 的值。 - 选择 “ 执行 ” 。
您可以监控运行详细信息以及步骤 ID、编号、开始和结束时间以及状态。以下屏幕截图显示暂停自定义自动化的第一步已完成,第 2 步正在进行中。
- 验证自定义实例上的自动化已暂停,该实例是通过 SSM 文档触发的。
SSM 文档中的所有步骤现已完成。
- 要进行验证,请登录 RDS 自定义实例的底层 EC2 实例并检查
job_queue_p
rocess 参数。
跨多个区域和账户运行系统管理器自动化
您可以跨多个 亚马逊云科技 区域和 亚马逊云科技 账户运行系统管理器自动化。在多个区域和账户或组织单位中运行自动化可以减少管理您的 亚马逊云科技 资源所需的时间,同时增强计算环境的安全性。
当您跨多个区域和账户运行自动化时,您可以使用标签或 亚马逊云科技 资源组的名称来定位资源。资源组必须存在于每个目标账户和区域中,并且每个目标账户和区域中的资源组名称必须相同。
有关更多信息,请参阅
摘要
在这篇文章中,我们展示了如何使用 SSM 文档在 RDS Custom for Oracle 数据库实例中自动执行实例后创建任务。SSM 文档可以在 亚马逊云科技 账户之间共享,也可以在运行时标记和引用。将 SSM 文档与 RDS 自定义一起使用有助于优化和扩展跨多个账户的多个 RDS 自定义实例的部署。
要了解有关 Amazon RDS 自定义和使用 SSM 实现自动化的更多信息,请参阅以下资源:
-
使用适用于 Oracle 的亚马逊 RDS 定制版 -
亚马逊云科技 系统管理器文档 -
创建 SSM 文档 -
共享 SSM 文档
在评论部分分享你的想法。
作者简介
Yamuna Palasamudram 是亚马逊 网络服务的高级数据库专家解决方案架构师。她在 亚马逊云科技 RDS 团队工作,专注于像 Oracle 这样的商用数据库引擎。她喜欢与客户合作,帮助设计、部署和优化 亚马逊云科技 上的关系数据库工作负载。
Nitin Saxena 是亚马逊网络服务 RDS 数据库管理商业引擎的高级数据库工程师。他专注于甲骨文 RDS 和 RDS Custom for Oracle 等服务。他喜欢在 RDS、Oracle 和 RDS Custom 上设计和开发新功能以解决客户问题。
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。