地形 是由 HashiCorp 開發的基礎設施即代碼平台。 您可以簡單地按照 HashiCorp 配置語言 (HCL) 以人類可讀的格式編寫代碼並部署它以在雲中獲取基礎設施。 谷歌、亞馬遜、阿里巴巴等許多雲提供商都支持 Terraform。
在本文中,我們將 安裝 最新版本 地形 在 Ubuntu 上。 我們正在 Ubuntu 20.04 上執行 terraform 安裝,但是您可以在所有 Linux 平台上執行相同的過程。
另外,學習如何 使用地形 用簡單的 example 通過啟動 ec2 實例並創建 s3 存儲桶。
在 Ubuntu 20.04 上安裝 terraform
下載 Terrafrom 的最新版本。 在撰寫本文時,最新版本是 0.14.3 。
$ wget https://releases.hashicorp.com/terraform/0.14.3/terraform_0.14.3_linux_amd64.zip
現在,解壓縮下載文件。
$ sudo apt install zip -y
$ sudo unzip terraform_0.14.3_linux_amd64.zip
這將輸出一個 terraform 文件,只需將其移動到 /usr/local/bin/ 即可執行命令。
$ sudo mv terraform /usr/local/bin/
檢查版本
$ terraform version
如何使用地形
讓我們通過基本示例來解釋如何使用 terraform。
啟動 ec2 實例並創建一個 s3 存儲桶
我想創建一個文件夾並在其中執行所有操作。
$ mkdir aws && cd aws
創建一個 配置文件 用於具有擴展名 ‘tf’ 的 terraform
vi configuration.tf
現在您需要提供以下信息:
- 供應商: Cloud 提供商,在我們的案例中為 AWS
- 訪問、密鑰:訪問 AWS 資源
- 區域:您要配置基礎設施的區域。 我正在俄勒岡州這樣做。
在代碼的第二個塊上定義 AWS 實例,即 ami(檢查 amazon EC2 AMI 定位器 )、實例類型和標籤。
以下代碼的最後一部分將創建名為“bucket-launched-using-terrafrom-20210106”的 s3 存儲桶。 請記住,存儲桶名稱在 AWS 上必須是唯一的。
將以下內容複製粘貼到文件 configuration.tf 文件中。 提供您自己的訪問權限、密鑰、區域、存儲桶名稱。
#Define keys and region
provider "aws" {
access_key = "YOUR-ACCESS-KEY"
secret_key = "YOUR-SECRET-KEY"
region = "us-west-2"
}
#Define ec2 instance
resource "aws_instance" "instance1" {
ami = "ami-089668cd321f3cf82"
instance_type = "t2.micro"
tags = {
Name = "ubuntu-20.04"
}
}
#Define s3 bucket
resource "aws_s3_bucket" "bucket1" {
bucket = "bucket-launched-using-terrafrom-20210106"
acl = "private" # or can be "public-read"
tags = {
Name = "Bucket"
Environment = "Production"
}
}
現在,初始化、計劃和執行您的代碼。 初始化地形 將進行必要的配置,計劃就像您看到實際會發生什麼一樣。 它還會找出您的語法錯誤。 並且,最終應用意味著您將在雲中部署代碼。 讓我們一一執行下面的命令。
初始化 terraform 將進行必要的配置。 因此,執行以下命令,
$ terraform init
計劃就像你看到現實中會發生什麼。 它還會找出您的語法錯誤。
$ terraform plan
申請意味著你會 部署 雲中的代碼。 只需執行命令即可完成,
$ terraform apply
它會要求您確認。 只需輸入“是”並按回車鍵。 在幾秒鐘內,您的基礎設施將準備就緒。
您現在可以登錄 AWS 控制台並轉到服務 ec2。 您會發現 ec2 已啟動。

同樣,轉到 s3 並蒐索您的存儲桶。

破壞基礎設施
如果你想 破壞 上面的基礎設施,你可以簡單地輸入“terraform destroy”。
$ terraform destroy
它要求您確認,只需說“是”並按回車鍵。 您在上面創建的 ec2 實例和 s3 存儲桶應從您的 AWS 賬戶中刪除。 您可以通過登錄 AWS 控制台進行驗證。
移除地形
如果你想 消除 terraform 您可以簡單地刪除保存在 /usr/local/bin/ 的“terraform”文件
$ sudo rm -f /usr/local/bin/terraform
此外,您可以清理已初始化 terraform 的目錄。 在我們的例子中,我們可以刪除文件夾“aws”的所有內容。
相關閱讀:
- 如何使用 Terraform 將文件上傳到 S3
- 配置 AWS EC2 Cloud 實例
結論
本文簡單地指導您安裝 terraform,啟動 ec2 實例,並使用它創建 s3 存儲桶。 我們還向您展示瞭如何破壞由 terraform 創建的基礎設施。