注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
QuickStart Oracle Database@Azure 以及 Terraform 或 OpenTofu 模块
简介
Oracle Database@Azure 是在 Oracle Cloud Infrastructure (OCI) 上运行的 Oracle Database 服务,在 Microsoft 数据中心共存,让您能够以最快的速度连接到 Azure 资源来使用 Oracle Database 服务。多云入门涉及在 OCI 和 Microsoft Azure 门户之间导航的多个步骤。本教程介绍了如何利用 Terraform 或 OpenTofu 模块和模板的参考实施来简化预配流程,这些模块和模板位于适用于 Microsoft Azure 的 OCI 多云登录区域的 GitHub 存储库中: terraform-OCI-multicloud-azure 。
预配流程
完成服务购买后,您可以使用 Terraform 或 OpenTofu 开始简化预配流程。
组织必须在 Azure 环境中执行多个步骤来购买、配置和使用服务。根据组织的 Azure 配置、策略和过程,您可以使用下图中概述的部分或所有步骤。下图展示了 Terraform 或 OpenTofu 简化预配过程的机会,消除了在 Azure Portal 和 OCI 控制台中执行的手动步骤。
要快速开始使用 Terraform 模板和模块,通常您必须完成这些高级任务。
目标
- 使用 Terraform 或 OpenTofu 模块快速启动 Oracle Database@Azure
先决条件
- 确保您的环境已安装必要的软件。除了 Terraform 或 OpenTofu 和 Azure/OCI CLI 之外,您还需要 Python 来执行目前 Terraform 提供程序不支持的操作。
任务 1:分叉并克隆 GitHub 系统信息库
克隆 terraform-oci-multicloud-azure 系统信息库并导航到相应的模板目录以开始。或者,您可以先分叉它,以便您稍后将副本与我们的最新更新同步,也可以选择通过拉取请求提供更新。
任务 2:初始化 Terraform
在终端中运行 terraform init
或 tofu init
以设置本地 Terraform 环境。此外,您还可以参阅 Terraform 、 OCI 或 Azure 中的文档来配置具有远程状态的 Terraform。
任务 3:配置所需的 Terraform 变量
每个模板目录都包含一个 terraform.tfvars.template
文件,使您能够轻松地填充所需的输入变量。您可以利用它来构建自己的变量定义文件(例如 terraform.tfvars
),也可以使用其他方法(例如,带有 TF_VAR_
前缀的环境变量或带有 -var
参数的 terraform CLI)来设置所需的变量。
任务 4:向 Azure 和 OCI 进行验证
某些 terraform 模板同时使用 OCI 和 Azure terraform 提供程序,在预配之前必须登录到每个环境。
-
OCI 验证
OCI Terraform 提供程序支持多种验证方法。有关详细信息,请参阅配置提供程序。
我们建议使用 API 密钥验证配置 OCI Terraform 提供程序。有关详细信息,请参阅 API 密钥验证。
export TF_VAR_oci_tenancy_ocid="OCID of the OCI tenancy" export TF_VAR_oci_user_ocid="<OCID of the OCI user>" export TF_VAR_oci_private_key_path="<path (including filename) of the private key>" export TF_VAR_oci_fingerprint="<Key's fingerprint>"
您可以使用 OCI CLI 验证配置。
export OCI_CLI_TENANCY=$TF_VAR_oci_tenancy_ocid export OCI_CLI_USER=$TF_VAR_oci_user_ocid export OCI_CLI_FINGERPRINT=$TF_VAR_oci_fingerprint export OCI_CLI_KEY_FILE=$TF_VAR_oci_private_key_path oci iam tenancy get --tenancy-id $TF_VAR_oci_tenancy_ocid --output table --query "data.{Name:name, OCID:id}" --auth api_key
-
Azure 身份验证
您可以使用服务主体向 Azure 进行验证并使用 Azure CLI 进行验证。有关更多信息,请参见向 Azure 验证 Terraform 。
export ARM_CLIENT_ID="<service_principal_appid>" export ARM_CLIENT_SECRET="<service_principal_password>" export ARM_TENANT_ID="<azure_subscription_tenant_id>" export ARM_SUBSCRIPTION_ID="<azure_subscription_id>" az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET -t $ARM_TENANT_ID az account show -o table
任务 5:查看并应用 Terraform 计划
配置变量和验证后,运行 terraform plan
或 tofu plan
以查看更改。对计划感到满意后,请运行 terraform apply
或 tofu apply
来预配配置。
Terraform 模板
下表概述了可用的 Terraform 模板,介绍了模板的作用及其依赖的 Terraform 提供程序。您可以根据自己的情况单独使用它们,还可以使用 OCI Landing Zone 和 Azure Verified Modules (AVM) 进行进一步定制,以实现更复杂的设置。有关 Microsoft 和 HashiCorp 的 AzureRM 和 AzAPI 联合指导使用场景的详细信息,请参阅使用 AzureRM 和 AzAPI 提供程序解锁 Azure 的优秀功能。
Exadata 和 Autonomous Database
身份
后续步骤
本教程介绍了如何在预配 Oracle Database@Azure 服务中使用 Terraform 或 OpenTofu。有关 Oracle Database@Azure、自动化工作等的详细信息,请参阅“相关链接”部分。
如果您对我们的存储库创建 GitHub 问题或参与我们的 OCI 多云论坛,有任何功能或增强请求,请告知我们。我们渴望在每一步支持您的用例。
相关链接
确认
-
作者 — Steven Chan(OCI Multicloud 高级首席产品经理)
-
贡献者 — Anwar Belayachi(OCI Multicloud 高级首席解决方案架构师)、John Wargo(首席产品经理)、Partha Srinivasan(首席产品经理)、Wei Han(首席产品经理)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
QuickStart Oracle Database@Azure with Terraform or OpenTofu Modules
G13128-02
November 2024