準備啟動設定基礎架構資源

安裝 Terraform 並產生必要的金鑰,以便在 Oracle Cloud 中建立基礎架構資源。

開始之前

在開始在 Oracle Cloud Infrastructure 中建立資源之前,請確定您具有下列事項:

  • Oracle Cloud 租用戶的證明資料。

  • 具備可在其中建立及管理資源的區間。
  • 具有下列軟體與網際網路存取權的電腦:

    • 產生 API 簽署金鑰的公用程式。

      大多數的 Unix 系統均具有 openssl。在 Windows 上,您可以使用 Git 基本節點。

    • 產生 SSH 金鑰組的公用程式。

      大多數的 Unix 系統均具有 ssh-keygen。在 Windows 系統中,您可以使用 PuTTY。

    • Web 瀏覽器。

  • 基本瞭解 Terraform。

    請至少閱讀 https://www.terraform.io/intro/的簡介。

安裝地點

「區域」是有效套用與管理 Terraform 模組的第三方工具。您可以使用單一的 Terragrunt 作業,以正確的順序部署在所有模組中定義的資源,而不是使用 Terraform 個別套用模組。

若要下載並安裝「區域」,請依照 https://github.com/gruntwork-io/terragrunt#install-terragrunt 中的指示進行。

注意:

若您使用 brew 安裝 Terragrunt 於 Linux 或 macOS,即會自動安裝 Terraform 作為其中一個相依項目。您不需要安裝 Terraform。

安裝 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

產生 API 簽署金鑰

若要啟用 Terraform 以使用 Oracle Cloud Infrastructure 進行認證,您必須以優先存放的郵件 (PEM) 格式提供 RSA 金鑰。此金鑰與用來存取運算執行處理的 SSH 金鑰不同。

使用 OpenSSL 來產生 API 簽章金鑰。
  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/oci_api_key_public.pem 檔案複製公用金鑰值,然後貼到 PUBLIC KEY 欄位。
  6. 按一下新增
    就會上傳金鑰並顯示其指紋。
  7. 複製指紋。您稍後需要。

產生基本主機的 SSH 金鑰組

SSH 金鑰組可用來啟用對執行處理的安全存取。您會在本機主機上產生金鑰組。Terraform 模組接著將公開金鑰新增至消費主機。當您連線至 bastion 主機時,您可以提供私密金鑰來認證存取權。

  • 使用 ssh-keygen 公用程式並產生 SSH 金鑰組。請勿設定金鑰組的密碼詞組。
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa:指定應使用 RSA 演算法產生金鑰組

    • -N "":指定要與此金鑰組關聯的密碼詞組。請勿在引號中輸入任何內容。建立不含密碼詞組的金鑰組。

    • -b 2048:指定您要產生 2048 位元的金鑰。此值是預設值 (與建議的最小值)。

    • -C "key_name":指定金鑰組的名稱。

    • -f path/root_name:指定儲存金鑰組的目錄,以及公用與私密金鑰的根名稱。公用金鑰已經將 .pub 附加至根名稱。

SSH 金鑰組會產生並儲存在您指定的目錄中。記下金鑰檔案的完整路徑與名稱。

產生專用執行處理的 SSH 金鑰組

使用種子主機可讓 SSH 轉送給沒有公用 IP 位址的執行處理。若要透過基礎主機安全地存取此類私人執行處理,您可以使用 SSH 金鑰組。為安全最佳作法,此索引鍵組不應與用於基礎主機的索引鍵組相同。

  • 使用 ssh-keygen 公用程式並產生 SSH 金鑰組。請勿設定金鑰組的密碼詞組。
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa:指定應使用 RSA 演算法產生金鑰組

    • -N "":指定要與此金鑰組關聯的密碼詞組。請勿在引號中輸入任何內容。建立不含密碼詞組的金鑰組。

    • -b 2048:指定您要產生 2048 位元的金鑰。此值是預設值 (與建議的最小值)。

    • -C "key_name":指定金鑰組的名稱。

    • -f path/root_name:指定儲存金鑰組的目錄,以及公用與私密金鑰的根名稱。公用金鑰已經將 .pub 附加至根名稱。

SSH 金鑰組會產生並儲存在您指定的目錄中。記下金鑰檔案的完整路徑與名稱。