准备预配基础结构资源

安装 Terraform 并生成在 Oracle Cloud 中创建基础结构资源所需的关键字。

安装 Terraform

Terraform 是可用于高效预配和管理 Oracle Cloud Infrastructure 中的资源的第三方工具。

在包括 Oracle Linux 在内的 UNIX 类似 Linux 系统中,您可以通过下载和提取操作系统的 Terraform 程序包来安装 Terraform。
  1. 转到 https://releases.hashicorp.com/terraform/
  2. 找到 Terraform 0.13.x 的最高版本,然后单击它。
  3. 根据您的操作系统,找到并下载相应的软件包。
  4. 将软件包提取到路径 /usr/local/bin/
    您可以将 Terraform 提取到本地主机上的任何其他目录。请确保 PATH 变量中包含该目录。
    Terraform 已安装并已准备就绪,可供使用。
  5. 验证安装。
    terraform -v

    显示 Terraform 版本。

生成 API 签名密钥

要使 Terraform 能够使用 Oracle Cloud Infrastructure 进行验证,必须以 privacy-enhanced mail (PEM)格式提供 RSA 密钥。此密钥与您用于访问计算实例的 SSH 密钥不同。

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

记下地点。

上载 API 签名密钥

生成 API 签名密钥后,将适当用户的公共密钥上载到 Oracle Cloud Infrastructure 中。

  1. 登录 Oracle Cloud Infrastructure Web 控制台。
  2. 从服务菜单中,选择身份,然后选择用户
  3. 在“户”页上,单击计划在 Terraform 配置中指定的用户。
  4. 在用户详细信息页上,单击添加公共密钥
  5. 复制以前创建的 oci_api_key_public.pem 文件中的公共密钥值,并将其粘贴到 PUBLIC KEY 字段中。
  6. 单击添加
    将上载密钥并显示其指纹。
  7. 复制指纹。您稍后需要。

在类似 Unix 的系统上生成 SSH 密钥

使用 SSH 密钥可以实现对计算实例的安全访问。请为基础主机和拓扑中的任何其他主机使用单独的密钥对。

在本地主机上生成所需的密钥对。然后,Terraform 模块将公共密钥添加到计算实例。连接到计算实例时,您需要提供适当的私有密钥来验证访问权限。
在类似 Unix 的系统上,使用 ssh-keygen 生成所需的 SSH 密钥对。
ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
  • -t rsa:指定应使用 RSA 算法生成密钥对

  • -N "":指定不带密码短语生成密钥对。

  • -b 2048:指定您希望生成 204 个 8 位的密钥。此值为默认值(以及建议的最小值)。

  • -C "key_name":密钥对的名称。

  • -f path/root_name:保存密钥对的目录和公共密钥和私有密钥的根名称。

    公共密钥在根名称后附加了 .pub

将生成 SSH 密钥对并将其保存在您指定的目录中。

记下关键文件的完整路径和名称。

在 Windows 上生成 SSH 密钥

使用 PuTTYgen 生成所需的 SSH 密钥对。

  1. 启动 PuTTYgen。
  2. 接受默认密钥类型 SSH-2 RSA,如果未设置,则将生成的密钥中的位数设置为 2048。
  3. 单击生成,然后围绕空白区域移动鼠标以生成随机。
    此时将生成密钥,其值显示在公共密钥下,用于粘贴到 OpenSSH authorized_keys 文件中。
  4. 单击保存私有密钥
    系统将提示您确认是否要保存密钥而不使用密码短语。

    单击是。

    您可以将密钥存储在任意位置。但为简单起见,请将其存储在 Terraform 模块所在的文件夹中。
  5. 接下来,要保存公共密钥,请选择公共密钥中出现的所有生成的密钥以粘贴到 OpenSSH authorized_keys 文件字段中,复制该密钥,然后将其粘贴到文本文件中。
    将此文件保存在私有密钥所在的位置。不要使用保存公钥按钮,因为它不会以 OpenSSH 格式保存密钥。
记下关键文件的完整路径和名称。