指令:terraform init
provider "aws" {
access_key = "ACCESS_KEY_HERE"
secret_key = "SECRET_KEY_HERE"
region = "ap-northeast-1"
}
resource "aws_instance" "example" {
ami = "ami-0689a2637ab83e607"
instance_type = "t2.micro"
}
指令:terraform plan -out=sample_plan
-out
:計畫檔案產生「路徑」。
指令:terraform apply sample_plan
失敗了:上面有提到權限是之前給packer使用的(Policy for Packer),雖然失敗了,但是去EC2的Console(AWS管理介面),發現機器有建立起來的。(這邊需要了解更多,才能跟大家回饋)
之前提到Terraform會執行incremental Plan,所以它不讓再執行已經執行過的計畫。如果你產生的計畫名稱一樣的話,它會認為沒有「新的改變」,再執行也沒有任何改變。
從以上過程我們可以發現,為了達到「增量計畫」,terraform會控制狀態(state),至於state如何「同步」,那就是另一個課題了。
待續…