關於在類似 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–bit 金鑰。此值為預設值,也是最小建議值。

    • -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. 複製指紋。您稍後將會需要該名稱。