部署云拓扑

为此数据库迁移方法部署云拓扑时,数据库版本必须与源数据库相同,并且补丁程序版本应与源数据库相同(或更高)。

收集预配拓扑所需的信息

在配置 Terraform 模块之前,最好收集预配备用数据库所需的信息。

terraform.tfvars 文件中输入以下信息以创建堡垒数据库体系结构:
  • 主 VCN 的 CIDR 块
  • VCN 的 DNS 标签
  • 堡垒服务器的计算配置
  • 数据库系统显示名称
  • 数据库名
  • 数据库服务器的计算配置
  • 数据库的数据库管理员口令
  • 要在堡垒主机上设置为授权密钥的公共 SSH 密钥的路径
  • 用于访问堡垒主机的私有 SSH 密钥的路径
  1. 确定要创建的虚拟云网络 (virtual cloud network, VCN) 的大小和 CIDR 块,以及 VCN 的 DNS 标签。
  2. 确定要用于堡垒主机和 VM DB 系统的计算配置。
    请参阅计算配置
  3. 验证租户的服务限制是否可以容纳要创建的所有资源。
  4. 确定数据库系统显示名称。例如,ActiveDBSystem。
  5. 确定内部部署数据库的名称。
    OCI 中备用数据库的名称必须与主内部部署数据库的名称相同。
  6. 获取数据库的数据库管理员口令。
  7. 保存公共 SSH 密钥的路径。
  8. 坐标私有 SSH 密钥的路径。

部署 VM 数据库和底层拓扑

GitHub 上提供了用于部署目标云拓扑的 Terraform 代码。您可以使用代码预配所需的网络资源、堡垒服务器的计算实例和虚拟机数据库系统。

  1. 转至 GitHub
  2. 将代码下载到本地计算机。
  3. 完成 README 中的先决条件步骤。
  4. 使用 Terraform CLI 应用配置。

创建资源

terraform.tfvars 文件中设置变量后,使用 Terraform CLI 部署在 Terraform 配置中定义的资源。

Terraform 存储状态信息以跟踪托管基础结构资源、将部署的资源映射到配置、跟踪元数据和提高大型基础结构部署的性能。

默认情况下,terraform.tfstate 文件存储在本地主机上。在 IT 环境中,此缺省行为不是最佳的,在此环境中,多个用户需要创建和销毁给定配置中定义的资源。要控制在多用户环境中部署和管理资源,请将 Terraform 状态文件存储在 Oracle Cloud Infrastructure Object Storage 中,并在所有用户之间共享状态文件和锁定文件。

在开始之前,请确保本地计算机具有 Internet 访问。如果本地计算机位于防火墙后面,请使用适当的代理以允许 Terraform 访问 Internet。
  1. 在安装 Terraform 的计算机上,转到包含 terraform.tfvars 文件的目录。
  2. 通过运行以下命令设置环境变量:
    source ./env-vars
  3. 通过运行以下命令来初始化 Terraform:
    terraform init
    该命令将下载 oci 提供程序插件并设置目录供 Terraform 使用。
  4. 确认配置的语法没有错误:
    terraform validate
  5. 如果存在语法错误,请修复错误,然后重复上一步。
    要调试问题,可以配置事件记录:
    • 使用 TF_LOG 环境变量设置日志级别。支持的日志级别包括 TRACEDEBUGINFOWARNERRORTRACE 级别是最详细的。
    • 使用 TF_LOG_PATH 环境变量设置日志文件路径。
  6. 复查配置中定义的资源。
    terraform plan
    输出显示应用此配置时执行的所有操作的详细信息以及以下示例中所示的概要。
    Plan: 14 to add, 0 to change, 0 to destroy.

    注意:

    消息中的数字 14 就是一个示例。实际数字取决于您在 Terraform 配置中定义的设置。
  7. 如果要进行任何更改,请编辑配置,验证配置并复核修订后的计划。
  8. 创建资源:
    terraform apply
  9. Do you want to perform these actions? 提示符下,输入 yes
    当 Terraform 创建每个资源时,它将显示操作的状态。

    创建所有资源时,将显示消息 Apply complete 以及添加、更改和销毁的资源数。