首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >让terraform忽略停止实例的"associate_public_ip_address“状态

让terraform忽略停止实例的"associate_public_ip_address“状态
EN

Stack Overflow用户
提问于 2018-09-26 05:55:40
回答 1查看 6.1K关注 0票数 6

我有一个带有vpc、公共子网、路由和安全组的简单AWS部署。运行terraform apply将启动一个AWS实例,并且将该实例配置为关联公共IP。在创建了实例之后,我运行了terraform plan,它正确地说,所有东西都是最新的。到目前为止没有问题。

我们有一个管理节点,如果该实例作为一种节省成本的措施被使用一段时间,它将关闭该实例。

问题是:一旦该实例被关闭,当我运行terraform plan时,aws提供程序会看到所有配置正确的东西,但是由于公共IP已经释放,associate_public_ip_address的值不再匹配在terraform信任中配置的内容,因此terraform希望删除和重新创建该实例:

associate_public_ip_address: "false" => "true" (forces new resource)

有没有办法让terraform忽略这一个参数?

这个问题与https://github.com/hashicorp/terraform/issues/7262略为相关。但是在我的例子中,我不想设置期望的状态,我只想告诉terraform忽略这个参数,因为现在它没有关联是可以的,只要它被配置为在启动时被关联。

(我在写这个问题时就想到了这一点:我还没有尝试配置子网来自动关联在其中启动的实例的公共ip。可以想象的是,通过使子网自动完成该操作,并从"aws_instance“中删除选项,我可能可以使terraform不注意到我怀疑它的value...but。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-26 10:20:17

您可以使用生命周期块忽略某些属性更改

使用它,资源最初是使用为该属性提供的值创建的。在随后的计划、应用等时,Terraform将忽略对该属性的更改。

如果我们在生命周期块中添加一个忽略的associate_public_ip_address,停止的实例将不再触发新的资源。

请注意,如果您更改需要新实例的任何其他参数,则停止的实例将被终止并替换。

基于实例示例代码的示例:

代码语言:javascript
运行
AI代码解释
复制
provider "aws" {
  region = "us-west-2"
}

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }

  owners = ["099720109477"] # Canonical account ID
}

resource "aws_instance" "web" {
  ami           = "${data.aws_ami.ubuntu.id}"
  instance_type = "t2.micro"
  associate_public_ip_address = "true"
  tags {
    Name = "HelloWorld"
  }

  lifecycle {
    ignore_changes = ["associate_public_ip_address"]
  }
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52519463

复制
相关文章
如何使用Java代码访问HDFS.docx
在开发Hadoop应用时,需要用到hadoop-client API来访问HDFS并进行本地调试。本篇文章则主要讲述如何使用Java代码访问Kerberos和非Kerberos环境下HDFS服务。
Fayson
2018/03/29
1.9K0
如何使用Java代码访问HDFS.docx
如何使用Scala代码访问Kerberos环境的HDFS
前面Fayson介绍了《如何使用Java API访问HDFS为目录设置配额》,随着开发语言的多样性,也有基于Scala语言进行开发,本篇文章主要介绍如何使用Scala代码访问Kerberos环境的HDFS。
Fayson
2018/11/16
2K0
如何使用Java代码访问CDH的Solr服务
CDH集群使用的Solr版本为4.10.3,Java开发中会经常使用到solrj客户端包访问Solr集群。本篇文章主要讲述如何使用Java代码访问Kerberos和非Kerberos环境下的Solr集群。
Fayson
2018/03/29
3.5K1
如何使用Java代码访问CDH的Solr服务
WordPress使用腾讯云CDN配置如何实现https访问?
WordPress使用腾讯云CDN配置如何实现https访问? 最近有很多站长朋友问腾讯云CDN配置如何实现https访问?下面小编赵一八笔记以WordPress模板为例,希望能够帮到大家。 一.腾讯
用户7261497
2020/12/03
4.7K0
WordPress使用腾讯云CDN配置如何实现https访问?
如何使用Java代码访问Kerberos环境下的Kudu
前面Fayson介绍了《如何使用Java API访问CDH的Kudu》,文章是在非安全环境下实现,随着对集群安全要求的提高,在Kerberos环境下的使用API访问Kudu也会有一些变化,本篇文章Fayson主要介绍如何使用Java代码访问Kerberos环境下的Kudu。
Fayson
2018/11/16
3K0
Angular 应用的外壳
你首先需要使用 Angular CLI 来创建一个初始化的应用。随后,你将对你已经初始化的应用进行修改来让你构建出 Tour of Heroes app(英雄指南) 这个应用。
HoneyMoose
2019/05/22
1.1K0
使用公钥访问码云
命令:ssh-keygen -t rsa -C "youremail@youremail.com" 例如:ssh-keygen -t rsa -C "wanwan5856@163.com" 注解: Enter file in which to save the key 输入保存秘钥的文件 直接enter即可 Enter passphrase (empty for no passphrase) 输入密码 直接enter即可 此时查看.ssh目录下可看到新增的一对秘钥id_rsa和id_rsa.pub
用户6362579
2019/09/29
1K0
使用python访问云原生etcd
腾讯云云原生 etcd(Tencent Etcd Service,TES)是针对云原生服务场景进行优化的 etcd 托管解决方案,由腾讯云容器团队提供,全面支持开源的 etcd 分布式存储能力,为用户提供高稳定、可观测、免运维的云原生 etcd 服务。
聂伟星
2022/04/14
2.2K0
如何利用云优化加快网站访问
云计算最近成为几乎所有行业的基本业务工具。大多数公司领导人已经注意到云计算及其作用,同时也注意到那些可以优化云计算的方法。总而言之,云计算,曾经的奢侈品如今已经是各行各业的必需品。
Techeek
2018/01/10
2.6K0
如何使用java代码通过JDBC访问Sentry环境下的Hive
在前面的文章Fayson介绍了《如何使用java代码通过JDBC连接Hive(附github源码)》、《如何使用java代码通过JDBC连接Impala(附Github源码)》和《如何使用Java访问集成OpenLDAP并启用Sentry的Impala和Hive》,关于Hive和Impala如何启用Sentry可以参考Fayson前面的文章《如何在CDH启用Kerberos的情况下安装及使用Sentry(一)》,《如何在CDH启用Kerberos的情况下安装及使用Sentry(二)》和《如何在CDH未启用认证的情况下安装及使用Sentry》,在集群只启用了Sentry的情况下如何访问?本篇文章主要介绍在集群只启用了Sentry后使用Java通过JDBC访问的区别以及在beeline命令行如何访问。
Fayson
2018/03/29
2.4K0
如何使用java代码通过JDBC访问Sentry环境下的Hive
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 内容概述 1.环境准备 2.示例代码编写及说明 3.代码测试 测试环境 1.CM和CDH版本为5.13.1 2.CentOS6.5 3.Impala JDBC驱动版本2.5.41.1061 前置条件 1.集群未启用Kerberos 2.集群已启用Sentry 2.环境准备 1.创建Java工
企鹅号小编
2018/02/06
1.3K0
如何使用java代码通过JDBC访问Sentry环境下的Hive
C# 使用dynamic类型来访问JObject对象
dynamic是C#里面的动态类型,可在未知类型的情况访问对应的属性,非常灵活和方便。
Mr. Wei
2018/04/16
1.6K0
C# 使用dynamic类型来访问JObject对象
C#使用反射特性构建访问者模式
代码出自《c#3.0设计模式》 两个结构的对象 class Element { public Element Next { get; set; } public Element Part { get; set; } public Element() { } public Element(Element next) { Next = next; } } cl
liulun
2022/05/09
2520
Visual studio C# 代码使用 NotNull
我们经常看到有代码使用 NotNull 特性,这时如果我们输入可空参数,Resharper 就会告诉我们,输入了空参数。
林德熙
2018/09/18
5.4K4
Visual studio C# 代码使用 NotNull
Visual studio C# 代码使用 NotNull
我们经常看到有代码使用 NotNull 特性,这时如果我们输入可空参数,Resharper 就会告诉我们,输入了空参数。
林德熙
2022/08/04
1.8K0
Visual studio C# 代码使用 NotNull
如何在 C# 平台调用云开发?
苏震巍,云开发Linker计划成员,《微信开发深度解析》作者、Senparc.Weixin 微信 SDK 作者、微软最有价值专家(MVP)、盛派网络创始人兼首席架构师、微软 Ignite 技术大会讲师、从事软件及互联网研发已有26年,发布了中国第一个HTML5商业应用,主持了众多大型项目的架构、开发和集成,对物联网、大数据和人工智能相关技术有深入的实践和理解,已为30余家世界 500 强企业提供解决方案和技术支持。
腾讯云开发TCB
2019/12/31
1.9K0
C#中如何使用Dapper
Dapper是.NET下轻量级ORM,和Entity Framework或Nhibnate不同,它是半自动化的。Dapper它只有一个代码文件,并且完全开源。我们可以将它放在项目的任何位置来实现数据到对象的ORM操作,它具备体积小且速度快的特点。使用ORM的好处是增、删、改会很快,不用自己写sql语句,并且程序中大量的从数据库中读数据然后创建model,并为model字段赋值,这些ORM都可以替我们完成。ORM给开发带来便利的同时,性能也是一个不得不考虑的问题。一般ORM的性能和原生sql相比性能都差了不少,但Dapper性能还不错,与DbHelperSQL相比性能高出很多。
喵叔
2021/12/19
1.4K0
点击加载更多

相似问题

tableView编辑模式-iPhone

22

编辑表,如iPhone邮件

22

在QML TableView中,点击编辑数据(如excel)

213

iPhone - TableView编辑,并仍然能够选择

11

在iphone中编辑tableview崩溃应用程序?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文