關於在 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 公開金鑰新增至防禦主機。當您需要透過公用網際網路連線至防禦主機時,請提供 SSH 私密金鑰以認證存取權。
您可以使用 PuTTYgen 來產生 SSH 金鑰組。請勿設定 SSH 金鑰的密碼詞組。
產生 SSH 金鑰組以存取其他執行處理
防禦主機是用來啟用 SSH 轉送至沒有公用 IP 位址但不允許透過公用網際網路存取的其他執行處理。若要安全地從防禦主機存取其他執行處理,請使用 SSH 金鑰組,其中儲存在專用子網路之執行處理上的公用金鑰與儲存在本機機器上的私密金鑰相符。
用來從防禦主機存取其他執行處理的 SSH 金鑰組必須使用 OpenSSL 或 SSH-keygen。等公用程式產生。您無法使用在 Windows 上使用 PuTTY 產生的 SSH 金鑰組,因為 Oracle Linux 或其他 UNIX 作業系統不支援 PuTTY 使用的.ppk 格式。請記住,防禦主機 (將 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 主控台。
- 按一下識別,然後按一下使用者。
- 按一下您要為其新增 API 簽章金鑰的使用者。
- 在使用者詳細資料頁面上,按一下新增公開金鑰。
- 在本機系統上,啟動 Git Bash。瀏覽至您儲存 API 簽章金鑰組的資料夾。
- 若要複製公開金鑰,請輸入:
cat ./key_name_public.pem.公開金鑰值隨即顯示。複製此值,包括-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----。行 - 在主控台中貼上公開金鑰值,然後按一下新增。