关于在 UNIX 类似系统上配置 Terraform

要使用 Terraform 创建 Oracle Cloud Infrastructure 组件,必须下载并安装 Terraform。您还将下载 Terraform 模块,以创建要使用的配置文件,从而创建所需的基础结构组件。

安装 Terraform 并存储 Teraform 模块的系统可以在内部部署环境或云中。为方便起见,我们将此称为本地系统或本地主机。

在运行 Terraform 之前:

  • 生成允许您访问计算实例的 SSH 密钥对

  • 生成用于验证 Terraform 所执行的 API 调用的 API 签名密钥

  • 设置 Terraform 用于验证访问和执行计划的环境变量

完成这些步骤后,您可以应用 Terraform 配置文件在 Oracle Cloud Infrastructure 上创建基础结构组件。

安装 Terraform

在类似 UNIX 或 Linux 系统(包括 Oracle Linux)上,您可以通过下载并提取适用于您的操作系统的 Terraform 软件包来安装 Terraform。

  1. 转至 https://www.terraform.io/downloads.html
  2. 根据操作系统下载相应的软件包。
  3. 将软件包提取到路径 /usr/local/bin/
    您可以将 Terraform 提取到本地主机上的任何其他目录。确保目录包含在 PATH 变量中。
    Terraform 已安装并可供使用。
  4. 验证安装。
    terraform -v

    此时将显示 Terraform 版本,如以下示例所示:

    Terraform v0.12.18

生成访问堡垒主机的 SSH 密钥对

您可以使用 SSH 安全地访问 Oracle Cloud 中的计算实例。在本地主机上生成 SSH 密钥对。创建时将 SSH 公共密钥添加到堡垒主机。使用 SSH 连接到堡垒主机时,请提供私钥以验证访问。

使用 ssh-keygen 实用程序生成 SSH 密钥对。请勿为 SSH 密钥设置密码短语。

  • 在终端窗口中,输入以下命令:
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa 指定应使用 RSA 算法生成密钥

    • -N "" 指定要与此密钥关联的密码短语。不要在报价之间输入任何内容。创建密钥时没有密码短语。

    • -b 2048 指定您要生成 2048 位密钥。此值为默认值,也是建议的最小值。

    • -C "key_name" 指定此密钥对的名称。

    • -f path/root_name 指定保存密钥的位置以及公钥和私钥的根名称。公共密钥将 .pub 附加到根名称。

将生成 SSH 密钥对并将其保存在您指定的位置。

指出位置。

生成访问专用实例的 SSH 密钥对

您可以使用堡垒主机创建 SSH 连接,以计算没有公共 IP 地址且不允许通过公共互联网访问的实例。作为安全的最佳做法,为堡垒主机和专用实例生成单独的 SSH 密钥对。

在本地主机上使用 ssh-keygen 生成 SSH 密钥对。

记下保存 SSH 密钥的位置。

生成 API 登录密钥

必须在增强隐私的邮件 (PEM) 格式中提供 RSA 密钥对,以便 Terraform 能够使用 Oracle Cloud Infrastructure 进行验证。请注意,此 API 签名密钥与用于访问实例的 SSH 密钥对不同。可以使用 OpenSSL 生成 API 签名密钥。

  1. 在主目录中创建隐藏的子目录以存储 PEM 密钥。
    mkdir ~/.oci
  2. 生成私有密钥(大小:2048 位或更高)。
    openssl genrsa -out ~/.oci/key_name.pem 2048
  3. 更改私有密钥文件的权限,以确保只有您可以读取密钥。
    chmod go-rwx ~/.oci/key_name.pem
  4. 为私钥生成公钥。
    openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
可以在所选的任何目录中存储密钥。

指出位置。

使用控制台上载 API 签名密钥

生成 API 签名密钥后,您必须在 Oracle Cloud Infrastructure 中上载关联用户的公钥。第一次上载 API 签名密钥时,必须使用 Web 控制台。随后,您还可以使用该 API 上载 API 密钥。

  1. 登录 Oracle Cloud Infrastructure 控制台。
  2. 从“服务”菜单中,选择身份,然后选择用户
  3. 用户页上,单击要为其上载密钥的用户。
  4. 在用户详细信息页面上,单击添加公共密钥
  5. ~/.oci/key_name_public.pem 文件复制公钥值,并将其粘贴在 PUBLIC KEY 字段中。
  6. 单击添加
    将上载密钥并显示其指纹。
  7. 复制指纹。以后需要。