当前位置: 首页 > news >正文

Terraform入门 - 3. 变更基础设施

在上个页面,你使用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 -->

<!--//
硬啃官方文档产物,若有不妥之处,欢迎指正,请以官方文档为准!
//-->

相关文章:

  • 【刷算法】LeetCode-26.删除排序数组中的重复项
  • SpiderData 2019年2月16日 DApp数据排行榜
  • matlab-基础 矩阵 同时修改多个元素
  • micropython esp8266 烧录
  • SOFAMosn配置模型
  • GPU编程(五): 利用好shared memory
  • Systemd曝3漏洞,大部分Linux将受到***
  • VM虚拟机中fedora28 无法使用中文输入法问题
  • js常用通用函数(++++验证)
  • Spring Boot MyBatis配置多种数据库
  • 简单基于spring的redis配置(单机和集群模式)
  • 关于字符编码你应该知道的事情
  • 微信小程序--------语音识别(前端自己也能玩)
  • IoC组件Unity再续~根据类型字符串动态生产对象
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • [Vue CLI 3] 配置解析之 css.extract
  • leetcode386. Lexicographical Numbers
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • node和express搭建代理服务器(源码)
  • QQ浏览器x5内核的兼容性问题
  • rabbitmq延迟消息示例
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 区块链共识机制优缺点对比都是什么
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用putty远程连接linux
  • 协程
  • 用element的upload组件实现多图片上传和压缩
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​比特币大跌的 2 个原因
  • # 计算机视觉入门
  • #pragma multi_compile #pragma shader_feature
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (十八)三元表达式和列表解析
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (原創) 物件導向與老子思想 (OO)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • ****Linux下Mysql的安装和配置
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net 简单实现MD5
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET委托:一个关于C#的睡前故事
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • .skip() 和 .only() 的使用
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [\u4e00-\u9fa5] //匹配中文字符
  • [].slice.call()将类数组转化为真正的数组
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [AR]Vumark(下一代条形码)
  • [CSS]中子元素在父元素中居中