Skip to Content

什麼是 Terraform Import?

Terraform 匯入是 Terraform 工具包中的重要指令。它能讓使用者在 Terraform 管理下導入現有基礎架構,這對於將 Terraform 整合到現有環境而言至關重要,而不需要從頭開始重建基礎架構。

在本文章中,我們將深入探討 Terraform 進口、其重要性,以及如何有效運用它來自動化並提升基礎架構管理的一致性。

了解 Terraform 匯入

Terraform 匯入可讓您取得在 Terraform 之外建立的資源,並加以管理。此程序涉及將現有基礎架構資源對應至對應的 Terraform 配置。如此一來,Terraform 便可追蹤這些資源的狀態,包括其屬性和關係,並搭配 Terraform 程式碼中明確定義的資源來管理。

此程序提供各種優點,包括:

  • 無縫整合:Terraform 匯入可讓您將現有基礎架構整合到 Terraform 工作流程中,而不需要從頭開始重建所有項目。在接管現有環境或將工作負載遷移至新平台時,這特別有用。您可以逐步匯入資源,確保對持續作業的干擾降到最低。
  • 整合式管理:一旦匯入,所有基礎架構資源都可以透過 Terraform 的配置檔案進行管理。如此一來,就不必在管理基礎架構不同部分的獨立工具或手動流程之間切換。
  • 一致性:Terraform 執行了一套宣告性的基礎架構管理方法。透過匯入現有資源,您可以確保使用 Terraform 配置,以一致的方式定義和管理所有資源。這可改善維護性、減少錯誤,並簡化基礎架構變更。舉例來說,想像管理手動配置的虛擬機(VM)和 Terraform 建立的 VM 的混合。匯入現有的 VM 可確保所有 VM 都得到一致定義,讓您可以利用 Terraform 功能,如版本控制和自動化配置。

開始使用 Terraform 匯入

Terraform 匯入可讓您在 Terraform 管理下導入現有基礎架構,而不必重新建立資源。本簡短教學課程將引導您使用 Terraform 匯入來管理現有的 AWS EC2 執行個體。本指南結束後,您將了解如何將資源匯入 Terraform 並有效管理。

先決條件

開始前,請確保您有以下幾點:

  1. 已安裝 Terraform :從 Terraform 官方網站下載並安裝 Terraform
  2. 已安裝 AWS CLI:使用適當的憑證安裝並設定 AWS CLI
  3. 現有 AWS EC2 執行個體:現有的 EC2 實例要匯入 Terraform 管理。
  4.  

步驟 1:設定您的 Terraform 配置

首先,為您的 Terraform 專案建立一個目錄,並瀏覽至其中。然後,建立一個名為 main.tf 的新檔案:

$ mkdir terraform-import-tutorial
 $ cd terraform-import-tutorial
 $ touch main.tf

步驟 2:寫入 Terraform 組態

在 main.tf 檔案中,定義您要匯入的供應商和資源。在本教學中,我們會使用 AWS EC2 執行個體。

provider "aws" {
 region = "us-west-2"
 }
 resource "aws_instance" "example" {
 # The configuration will be filled in after importing the instance.
 }

步驟 3:初始化 Terraform

在使用 Terraform 之前,請使用必要的外掛程式初始化您的工作目錄:

$ terraform init

步驟 4:識別要匯入的 EC2 執行個體

找到您要匯入的 EC2 執行個體 ID。您可以在 AWS 管理主控台或使用 AWS CLI 找到。例如,假設實例 ID 為 i-1234567890abcdef0

步驟 5:匯入 EC2 執行個體

使用 terraform 匯入指令,將現有的 EC2 執行個體匯入 Terraform。在人機介面中執行以下指令:

$ terraform import aws_instance.example i-1234567890abcdef0

此命令讓 Terraform 將資源 aws_instance.example 與現有的 EC2 執行個體 i-1234567890abcdef0 建立關聯。

步驟 6:驗證匯入

匯入後,Terraform 將使用匯入資源的相關資訊更新狀態檔案。然而,您的 main.tf 檔案仍不完整。若要填寫組態,請使用 terraform show 命令來檢查匯入的資源,並相應地更新 main.tf:

$ terraform show

您將看到匯入的資源詳細資料。更新 main.tf 以符合資源的實際配置。以下是其外觀的範例:

provider "aws" {
 region = "us-west-2"
 }
 resource "aws_instance" "example" {
 ami           = "ami-0c55b159cbfafe1f0"  # Replace with your instance's AMI ID
 instance_type = "t2.micro"                # Replace with your instance type
 key_name      = "my-key-pair"             # Replace with your key pair name
 # Additional attributes as per the `terraform show` output
 }

步驟 7:套用設定變更

現在您的配置檔案準確反映了匯入的資源,您可以使用 Terraform 進行管理。執行 terraform 計劃,查看計劃的行動:

$ terraform plan

如果一切看起來都不錯,請應用變更:

$ terraform apply

步驟 8:管理您的基礎架構

您現在可以使用 Terraform 管理匯入的資源。例如,您可以在 main.tf 中更新實例類型或其他屬性,並使用 terraform 套用變更。

使用匯入資源時的考量

雖然 Terraform 匯入提供了管理現有基礎架構的強大方法,但要記住一些關鍵考量因素:

  • 組態比對:Terraform 仰賴其配置來管理資源。匯入資源時,請確保 Terraform 配置準確反映現有資源的屬性。任何設定與實際資源不符,都可能導致匯入或後續管理期間發生意外行為或錯誤。
  • 狀態管理:Terraform 會將基礎架構的狀態儲存到狀態檔案中,包括匯入的資源。此檔案對於 Terraform 追蹤資源並管理其生命週期至關重要。以下是確保狀態管理適當的方法:
    • 保護狀態檔案:狀態檔案包含基礎架構資源的敏感資訊。實施適當的安全措施,以保護資料免遭未經授權的存取。考慮將狀態檔案儲存在安全的位置,例如 Terraform Cloud 或 Terraform Enterprise 等專用後端。
    • 定期備份:定期備份您的州檔案,以防意外刪除或損毀資料遺失。備份可讓您在需要時還原狀態。

管理進口資源的最佳做法

遵循這些最佳作法可確保您有效管理匯入的資源,以及 Terraform 程式碼中所定義的資源:

  1. 進口後驗證:成功匯入後,請確認匯入的資源在Terraform狀態中的屬性與實際資源的設定相符。使用 terraform show 命令來檢查匯入的資源,並將其與從雲端供應商的控制台或 API 獲得的資源詳細資料進行比較。
  2. 設定更新:匯入後,可在 Terraform 之外修改資源。更新 Terraform 配置很重要,以反映資源屬性的任何變更。這可確保 Terraform 能準確呈現您的基礎架構,並允許您使用 Terraform 有效管理資源。
  3. 進口文件:為匯入的資源保留清晰的文件。本文件應詳述:
    • 匯入的資源類型(例如 AWS EC2 執行個體)
    • 匯入資源的識別碼(例如實例 ID)
    • 匯入過程中採取的步驟
    • 任何與進口相關的特定考量或注意事項    

結論

Terraform 匯入彌補了現有基礎架構與 Terraform 管理能力之間的差距。它可讓您無縫整合整個基礎架構堆疊,不論建立方式為何。這種統一的方法可降低複雜性、提高能見度,並簡化基礎架構管理。

隨著基礎架構的發展,儲存系統成為關鍵考量。探索 Pure Storage 解決方案,如用於容器化工作負載Portworx®,以及用於雲端部署的 Pure Cloud Block Store,以優化與 Terraform 的儲存管理。這樣的組合可確保現代化應用程式的高效率、可擴充基礎架構。

03/2025
Rancher Kubernetes Engine 2 on VMware with Portworx
Gain consistent experience across public cloud, on- premises, hybrid cloud, or edge architecture with Rancher Kubernetes Engine (RKE2) on VMware with Portworx.
參考架構
33 頁

瀏覽重要資訊與活動

精神領袖
創新競賽

儲存創新最前線的產業領導者最新深度資訊與觀點。

了解更多資訊
分析報告
規劃高度網路彈性的未來

了解協作策略,完整運用網路安全投資,並確保迅速回應與復原。

閱讀報告
資源
儲存設備的未來:AI 紀元的新準則

了解 AI 等新挑戰如何促成資料儲存需求轉型,需要嶄新思維與現代化做法才能成功。

下載電子書
資源
不再購買儲存,擁抱平台體驗

探索企業級儲存平台需求、元件與選用流程。

閱讀報告
聯繫我們
問題或建議

如對Pure的產品或認證,有任何的疑問或建議,歡迎與我們聯繫!

預約試用

預約現場示範,親眼看看 Pure 如何幫助您將資料轉化為強大的成果。 

聯絡我們:886-2-3725-7989

媒體:pr@purestorage.com

 

Pure Storage總部

34F, Taipei Nanshan Plaza,

No. 100, Songren Road,

Xinyi District,

Taipei City 110016

Taiwan (R.O.C.)

800-379-7873 (一般資訊)

info@purestorage.com

關閉
您的瀏覽器已不受支援!

較舊版的瀏覽器通常存在安全風險。為讓您使用我們網站時得到最佳體驗,請更新為這些最新瀏覽器其中一個。