Terraform入門 - 3. 變更基礎設施

weixin_33766168發表於2019-02-15

在上個頁面,你使用Terraform建立了你第一個基礎設施:一個EC2例項。在本頁,我們將變更那個資源,並瞭解Terraform如何處理變更。

基礎設施在持續發展,Terraform的建立就是為了管理和實施這些變更。當你修改配置檔案時,Terraform構建一個變更必要的執行計劃來達到你的期望狀態。

使用Terraform變更基礎設施,你不僅可以版本控制你的配置也可以版本控制你的狀態,所以你可以看到你的基礎設施時如何隨著時間發展變化。

配置

讓我們修改例項的ami。在你的配置檔案中編輯 aws_instance.example資源,將它改成如下所示:

resource "aws_instance" "example" {
  ami           = "ami-b374d5a5"
  instance_type = "t2.micro"
}
注意:EC2經典使用者請使用 ami-656be372 AMI 和 t1.micro型別。

我們將AMI從Ubuntu 16.04 LTS改成了Ubuntu 16.10。Terraform配置意味著做如此變更。你也可以刪除該資源,Terraform知道將要銷燬老資源。

應用變更

改完配置以後,再次執行 terraform apply來檢視Terraform將如何應用該變更到當前資源。

$ terraform apply
# ...

-/+ aws_instance.example
    ami:                      "ami-2757f631" => "ami-b374d5a5" (forces new resource)
    availability_zone:        "us-east-1a" => "<computed>"
    ebs_block_device.#:       "0" => "<computed>"
    ephemeral_block_device.#: "0" => "<computed>"
    instance_state:           "running" => "<computed>"
    instance_type:            "t2.micro" => "t2.micro"
    private_dns:              "ip-172-31-17-94.ec2.internal" => "<computed>"
    private_ip:               "172.31.17.94" => "<computed>"
    public_dns:               "ec2-54-82-183-4.compute-1.amazonaws.com" => "<computed>"
    public_ip:                "54.82.183.4" => "<computed>"
    subnet_id:                "subnet-1497024d" => "<computed>"
    vpc_security_group_ids.#: "1" => "<computed>"

下一步

<!-- more -->

<!--//
硬啃官方文件產物,若有不妥之處,歡迎指正,請以官方文件為準!
//-->

相關文章