關於在 Windows 系統上設定 Terraform
若要使用 Terraform 來建立 Oracle Cloud Infrastructure 元件,您必須下載並安裝 Terraform。您也會下載 Terraform 模組,以建立將用來建立所需基礎架構元件的組態檔。
您安裝 Terraform 和儲存 Teraform 模組的系統可以位於企業內部或雲端。為了方便起見,我們將指明本機系統或您的本機主機。
在您執行 Terraform 之前:
-
產生可讓您存取 Compute 執行處理的 SSH 金鑰組
-
產生用來認證 TerraForm 所做之 API 呼叫的 API 簽章金鑰
-
設定 Terraform 用來認證存取與執行其計畫的環境變數
完成這些步驟後,您可以套用 Terraform 組態檔,在 Oracle Cloud Infrastructure 上建立基礎架構元件。
產生供存取以群組為基礎之主機的 SSH 金鑰組
SSH 金鑰組可用來安全地存取在公用子網路中建立的執行處理。您需要在本機主機上產生 SSH 金鑰組。然後,Terraform 模組會將 SSH 公用金鑰新增至基礎主機。當您需要透過公用網際網路連線至基礎主機時,您需要提供 SSH 私密金鑰來認證存取。
您可以使用 PuTTYgen 來產生 SSH 金鑰組。請勿為您的 SSH 金鑰設定密碼詞組。
產生 SSH 金鑰組以存取其他執行處理
原始主機是用來啟用 SSH 轉送至其他沒有公用 IP 位址且不允許透過公用網際網路存取的執行處理。若要從基礎主機安全存取其他執行處理,您需要使用 SSH 金鑰組,此金鑰組是儲存在私密子網路執行處理的公用金鑰,與儲存在您本機機器上的私密金鑰相符。
用來啟用從基本主機到其他執行處理存取的 SSH 金鑰組必須使用公用程式 (例如 OpenSSL 或 ssh-keygen。
) 產生。您不能使用 Windows 使用 PuTTY 產生的 SSH 金鑰組,因為 Oracle Linux 或其他 UNIX 類似作業系統不支援 PuTTY 所使用的.ppk
格式。請記住,基本主機會將 SSH 流量轉送至其他執行處理,使用 Oracle Linux 影像。
產生 API 簽署金鑰
您必須提供 Privacy Enhanced Mail (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 主控台」。
- 按一下識別,然後按一下使用者。
- 按一下您要新增 API 簽章金鑰的使用者。
- 在使用者詳細資訊頁面中,按一下新增公共金鑰。
- 在您的本機系統上,啟動 Git Bash。瀏覽至您儲存 API 簽章金鑰組的資料夾。
- 若要複製公用金鑰,請輸入:
cat。/key_name_public.pem。
公用金鑰值隨即顯示。複製此值,包括-----BEGIN PUBLIC KEY-----
和-----END PUBLIC KEY-----。
行 - 在主控台中,貼上公共金鑰值並按一下新增。