关于在 Windows 系统上配置 Terraform
要使用 Terraform 创建 Oracle Cloud Infrastructure 组件,必须下载和安装 Terraform。您还将下载 Terraform 模块,这些模块创建将使用的配置文件以创建所需的基础结构组件。
安装 Terraform 和存储 Teraform 模块的系统可以位于内部部署或云中。为了方便起见,我们将作为本地系统或本地主机参考它。
在运行 Terraform 之前:
-
生成用于允许您访问计算实例的 SSH 密钥对
-
生成用于验证由 Terraform 发出的 API 调用的 API 签名密钥
-
设置 Terraform 用于验证访问和执行其计划的环境变量
完成这些步骤后,即可应用 Terraform 配置文件以在 Oracle Cloud Infrastructure 上创建基础结构组件。
生成 SSH 密钥对以访问基础主机
SSH 密钥对用于安全地访问在公共子网中创建的实例。您可以在本地主机上生成 SSH 密钥对。通过 Terraform 模块,将 SSH 公共密钥添加到基础主机。如果需要通过公共 Internet 连接到基础主机,请提供 SSH 私有密钥以验证访问权限。
可以使用 PuTTYgen 生成 SSH 密钥对。请不要为 SSH 密钥设置密码短语。
生成 SSH 密钥对以访问其他实例
场所主机用于允许通过公共 IP 地址将 SSH 转发到不具有公共 IP 地址的其他实例,不允许通过公共 Internet 进行访问。要安全地从基础主机访问其他实例,可以使用 SSH 密钥对,其中专用子网的实例上存储的公共密钥与本地计算机上存储的私有密钥相匹配。
用于允许从基础主机到其他实例进行访问的 SSH 密钥对必须使用实用程序(例如 OpenSSL 或 ssh-keygen.
)生成。无法使用 PuTTY 生成的 SSH 密钥对 , 因为 PuTTY 使用的.ppk
格式在 Oracle Linux 或其他 UNIX 类似操作系统上不受支持。请记住,基本主机将 SSH 通信量转发到其他实例,使用 Oracle Linux 映像。
生成 API 签名密钥
必须以隐私增强的邮件(PEM)格式提供 RSA 密钥对以使用 Oracle Cloud Infrastructure 验证 Terraform 脚本。请注意,此 API 签名密钥与用于访问实例的 SSH 密钥对不同。可以使用 Git Bash 中的 OpenSSL 生成此密钥对。您应该已经在本地系统上安装了 Git Bash。
- 开始 Git Bash。
- 创建隐藏文件夹以存储 PEM 密钥。您可以将 PEM 密钥存储在任何位置,但为了简化起见,请在 Terraform 模块所在的文件夹下创建此文件夹。请确保记下存储密钥对的位置。导航到该位置,然后输入:
mkdir ./.oci
- 要创建 API 签名密钥,请输入:
openssl genrsa -out ./.oci/key_name.pem 2048
- 更改私有密钥的权限以确保只有您可以读取该私有密钥。输入:
chmod go-rwx ./.oci/key_name.pem
- 接下来,要为给定私有密钥生成公共密钥,请输入:
openssl rsa -pubout -in ./.oci/key_name.pem -out ./.oci/key_name_public.pem
使用控制台上载 API 签名密钥
在生成 API 签名密钥之后,您必须在 Oracle Cloud Infrastructure 中上载关联用户的公共密钥。首次上载 API 签名密钥时,必须使用控制台。之后,还可以使用 API 上载 API 密钥。
- 登录 Oracle Cloud Infrastructure Console。
- 单击身份,然后单击用户。
- 单击要为其添加 API 签名密钥的用户。
- 在“用户详细信息”页上,单击添加公共密钥。
- 在本地系统上,启动 Git Bash。导航到您存储 API 签名密钥对的文件夹。
- 要复制公共密钥,请输入:
cat ./key_name_public.pem.
。将显示公共密钥值。复制此值,包括行-----BEGIN PUBLIC KEY-----
和-----END PUBLIC KEY-----.
- 在控制台中,粘贴公钥值并单击添加。