本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
允许将 DB2 日志直接存档到 IBM Db2 数据库中的 Amazon S3
Ambarish Satarkar,Amazon Web Services
摘要
此模式描述了如何在不使用暂存区域的情况下使用亚马逊简单存储服务 (Amazon S3) 作为 IBM Db2 生成的存档日志的目录存储。
你可以为 logarchm eth1 和 logarchmeth 2logarchmeth1参数为从当前日志路径存档的日志指定主要目标。借助此功能,您可以直接存档和检索来自 Amazon S3 的事务日志,而无需使用暂存区。
Amazon S3
先决条件和限制
先决条件
活跃 AWS 账户的.
在亚马逊弹性计算云 (Amazon EC2) 实例上运行的 IBM Db2 数据库。
AWS Command Line Interface (AWS CLI) 已安装
libcurl
和 libxml2 安装在 Db2 实例 上。 EC2
限制
只有 Db2 11.5.7
或更高版本允许将日志直接存档到 Amazon S3 存储。 有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性,请参阅按地区划分的AWS 服务
。有关特定终端节点,请参阅服务终端节点和配额,然后选择服务的链接。 在所有配置中,Amazon S3 都存在以下限制:
AWS Key Management Service (AWS KMS) 不支持。
AWS 不支持基于角色AWS Identity and Access Management ((IAM)) 或基于令牌的AWS Security Token Service ((AWS STS)) 证书。
产品版本
AWS CLI 版本 2 或更高版本
IBM Db2 11.5.7 或更高版本
Linux SUSE Linux 企业服务器 (SLES) 11 或更高版本
红帽企业 Linux (RHEL) 6 或更高版本
Windows Server 2008 R2、2012 (R2)、2016 或 2019
架构
下图显示了此模式的组件和工作流程。

上的架构 AWS Cloud 包括以下内容:
虚拟私有云 (VPC) — AWS Cloud 在逻辑上隔离的资源启动部分。
可用区 — 通过在内部的隔离数据中心运行 Db2 LUW(Linux、Unix、Windows)工作负载来提供高可用性。 AWS 区域
公有子网-通过 NAT 网关为管理员提供 RDP(远程桌面协议)访问权限和互联网连接。
私有子网-托管 Db2 LUW 数据库。Db2 LUW 实例使用参数进行
LOGARCHMETH1配置。该参数通过网关终端节点将数据库日志存档文件直接写入 Amazon S3 路径。
以下内容 AWS 服务 提供支持:
Amazon S3 — 用作 Db2 日志存档文件的持久、可扩展的存储位置。
Amazon Elastic File System (Amazon EFS) — 提供一个共享的、完全托管的文件系统,Db2 可以将其用于数据库备份和暂存。在日志文件存档到 Amazon S3 之前,Db2 还可以使用 Amazon EFS 作为日志文件的挂载点。
Amazon CloudWatch — 收集和监控来自 Db2 和底层 EC2 实例的指标、日志和事件。您可以使用 CloudWatch 创建警报、仪表板以及对性能或可用性问题的自动响应。
自动化和扩缩
这种模式提供了一种用于存储 Db2 日志存档备份的全自动解决方案。
您可以使用相同的 Amazon S3 存储桶来启用多个 Db2 数据库的日志存档。
工具
AWS 服务
Amazon CloudWatch 可帮助您实时监控您的 AWS 资源和运行的应用程序 AWS 的指标。
AWS Command Line Interface (AWS CLI) 是一个开源工具,可帮助您 AWS 服务 通过命令行外壳中的命令进行交互。
亚马逊弹性计算云 (Amazon EC2) 在中提供可扩展的计算容量 AWS Cloud。您可以根据需要启动任意数量的虚拟服务器,并快速扩展或缩减它们。
Amazon Elastic File System(Amazon EFS)可帮助您在 AWS Cloud中创建和配置共享文件系统。
AWS IAM Identity Center帮助您集中管理对所有应用程序 AWS 账户 和云应用程序的单点登录 (SSO) 访问权限。
Amazon Simple Storage Service (Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。
Amazon Virtual Private Cloud(亚马逊 VPC)可帮助您将 AWS 资源启动到您定义的虚拟网络中。该虚拟网络类似于您在数据中心中运行的传统网络,并具有使用 AWS的可扩展基础设施的优势。
其他工具
最佳实践
操作说明
| Task | 描述 | 所需技能 |
|---|---|---|
设置 AWS CLI. | 要下载并安装 AWS CLI,请使用以下命令:
| AWS 系统管理员、AWS 管理员 |
配置 AWS CLI。 | 要配置 AWS CLI,请使用以下命令:
| AWS 系统管理员、AWS 管理员 |
创建 IAM 用户。 | 要创建一个 IAM 用户以便稍后用于与 Amazon S3 的 Db2 数据库连接,请使用以下命令:
以下是该命令的示例:
警告此场景需要 IAM 用户具有编程访问权限和长期凭证,这会带来安全风险。为了降低这种风险,我们建议您仅向这些用户提供他们执行任务所需的权限,并在不再需要这些用户时将其删除。必要时可以更新访问密钥。有关更多信息,请参阅 IAM 文档中的AWS 安全证书和管理 IAM 用户的访问密钥。 | AWS 系统管理员 |
创建 Amazon S3 存储桶。 | 要创建用于存储数据库备份的 Amazon S3 存储桶,请使用以下命令:
以下是示例 命令。
| AWS 系统管理员 |
向 IAM 用户授权。 | 要授权新创建的 IAM 用户拥有 Amazon S3 权限,请使用以下步骤:
| AWS 系统管理员、AWS 管理员 |
创建访问密钥。 | 要生成访问密钥以编程方式从 DB2 实例访问 Amazon S3,请使用以下命令:
以下是该命令的示例:
警告此场景需要 IAM 用户具有编程访问权限和长期凭证,这会带来安全风险。为了降低这种风险,我们建议您仅向这些用户提供他们执行任务所需的权限,并在不再需要这些用户时将其删除。必要时可以更新访问密钥。有关更多信息,请参阅 IAM 文档中的AWS 安全证书和管理 IAM 用户的访问密钥。 | AWS 系统管理员 |
创建 PKCS 密钥库。 | 要创建 PKCS 密钥库来存储密钥并创建私有访问密钥以将数据传输到 Amazon S3,请使用以下命令:
| AWS 系统管理员 |
配置 DB2 为使用密钥库。 | DB2 要配置为使用带有
| AWS 系统管理员 |
创建 DB2 存储访问别名。 | 存储访问别名指定要使用的 Amazon S3 存储桶。它还提供连接详细信息,例如以加密格式存储在本地密钥库中的用户名和密码。有关更多信息,请参阅 IBM Db2 文档中的目录存储访问命令 要创建存储访问别名,请使用以下语法:
以下是一个示例:
| AWS 系统管理员 |
| Task | 描述 | 所需技能 |
|---|---|---|
更新 | 要使用之前定义的存储访问别名,请使用以下命令更新
要将日志与其他文件分开,请指定将日志保存在 S3 存储桶 以下是一个示例:
您应该会看到以下消息: | AWS 系统管理员 |
重新启动 DB2。 | 重新配置 DB2 实例以进行日志存档后,请重新启动该实例。 但是,如果 | AWS 管理员、AWS 系统管理员 |
| Task | 描述 | 所需技能 |
|---|---|---|
查看 Amazon S3 中的存档日志。 | 此时,您的数据库已完全配置为将事务日志直接存档到 Amazon S3 存储。要确认配置,请开始在数据库上执行事务活动以开始占用(和存档)日志空间。然后,查看 Amazon S3 中的存档日志。 | AWS 管理员、AWS 系统管理员 |
在中检查存档日志配置 | 在 Amazon S3 中查看存档日志后,请在 DB2 诊断日志中查找以下消息
此消息确认已关闭的 DB2 事务日志文件正在存档到(远程)Amazon S3 存储。 | AWS 系统管理员 |
相关资源
AWS 服务文档
AWS 安全证书(IAM 文档)
授予最低权限(IAM 文档)
管理 IAM 用户的访问密钥(IAM 文档)
IAM 中的安全最佳实践(IAM 文档)
IBM 资源