terraform相关内容

AWS上具有Terraform的多个可用性区域

我正在使用的VPC具有3个逻辑层:Web,App和DB。对于每个层,每个可用性区域中都有一个子网。我正在使用的区域中共有6个子网。 我正在尝试使用模块和 count 参数,但我不知道如何告诉terraform使用App层的两个子网。我的另一个限制是使用静态IP地址(或使用具有确定性的私有名称的方式) 我在玩弄资源 资源“ aws_instance”“ app_server” { ..

Terraform:用于多租户的状态管理

由于我们正在评估Terraform以(部分地)替代多租户SaaS的Ansible调配过程,因此我们能够处理基础架构变更(添加/删除),从而意识到Terraform的便利性,性能和可靠性。 我们的应用程序是多租户SaaS,我们为客户提供单独的实例-在Ansible中,我们拥有拥有动态库存(与EC2动态库存完全相同)。我们浏览了许多Terraform书籍/教程和最佳做法,其中许多建议多环境状态应 ..
发布时间:2020-06-04 00:37:29 其他开发

使用一个terraform库存到另一个terraform脚本

我正在尝试为AWS CloudWatch警报编写一个单独的Terraform脚本,除了创建AWS实例之外,我想使用不同的Terraform脚本的Terraform清单来构建AWS实例。如何访问一个Terraform脚本的清单并使用它 谢谢! 解决方案 如果您使用的是远程状态,则有可能。您将必须使用根级别的输出来公开您想要的值能够从第二个Terraform状态访问(在您的示例中, aw ..
发布时间:2020-06-03 23:54:56 其他开发

Terraform:将CloudFormation模板写入磁盘

我们将Terraform与供应商提供的CloudFormation模板一起使用。 一切正常,除了对模板进行更改时。 Terraform不会向您显示更改内容,因为所有内容都包含在模板中。 我想知道Terraform是否可以将渲染的CloudFormation模板写到磁盘上,我们可以在理论上使用AWS本机CloudFormation创建一个更改集以尝试查看更改。 Terraform是否可以写出任 ..

我可以使用Terraform更新现有的EC2实例吗

是否可以编辑现有资源示例:具有terraform模板的ec2实例。 例:我有一个使用AWS控制台创建的ec2实例,我可以使用terraform模板中的实例ID添加该ec2实例来添加新的安全组。我知道这无法通过云形成来完成。目前,我可以使用Ansible做到这一点,但我看不到使用terraform或cloudformation做到这一点的方法。 解决方案 是的,您可以!但是,您随后必须使用 ..

Terraform-为变量指定多个可能的值

CloudFormation提供了用于参数的AllowedValues,它指示该参数的可能值可以来自此列表。如何使用Terraform变量实现这一目标?列表的变量类型不提供此功能。因此,如果我希望变量仅具有两个可能的值,那么如何使用Terraform来实现这一点。我要复制的CloudFormation脚本是: “ ParameterName”:{ “ Description”:“ desc” ..

Terraform S3存储桶创建原因未获授权

问题 创建S3存储桶需要什么AWS权限,这会导致ec2/DescribeAccountAttributes和s3/CreateBucket禁用HTTP/1.1 403.或如何在AWS方面获取更多信息以进行进一步的故障排除. 向用户帐户添加了对EC2和S3的所有权限,但没有解决问题. 注意 如果我拥有帐户所有者的所有权限(使用其他帐户),则不会发生这种情况. 问题 ..
发布时间:2020-05-26 19:10:40 其他开发

在OVH的Openstack上使用Terraform创建专用网络

我正在尝试使用Terraform在OVH的公有云上部署一些Openstack实例.关键是(目前)在两个网络上有两个实例.每个实例都应该有一个外部IP地址(这不是问题)和一个专用网络上的内部IP地址(这会给我带来麻烦). 我的Terraform文件是: resource "openstack_compute_keypair_v2" "keypair" { provider = " ..
发布时间:2020-05-21 18:31:43 其他开发

尝试获取多个实例的IP地址时Terraform停顿了吗?

所以我正在使用terraform配置ec2实例和openstack实例.我试图引用正在创建的实例的IP地址,因为我需要运行使用它们的命令(以设置领事).但是,在添加对这些变量的引用后,terraform会停顿下来,并且在运行terraform apply或terraform plan之后绝对不起作用: 以下是我要运行的资源块示例: resource "aws_instance" "co ..
发布时间:2020-05-21 18:31:00 其他开发

Terraform 0.12嵌套循环

我正在尝试使用Terraform 0.12的新功能来实现嵌套循环,以便遍历AWS IAM用户,每个用户都可以附加一个或多个策略.用于表示此列表的变量的类型为map(list(string)),看起来像这样: { "user 1" = [ "policy1", "policy2" ], "user 2" = [ "policy1" ] } 通过keys()可以很容易地获得要创建的用 ..
发布时间:2020-05-17 01:39:38 其他开发

正则表达式模式以匹配terraform模块代码

我正在尝试使用正则表达式来匹配terraform模块并将注释添加到该行的开头.我不能仅将正则表达式用于模块块.请注意,某些行确实会在其他块(如资源)上重复.想法是扫描模块块并对其进行注释.任何帮助将不胜感激.花了很多时间跳动想法... module my module { name = myaws version = 1.0 source = terraform.mycompany.com ..
发布时间:2020-05-13 18:41:08 Python

为客户帐户配置Terraform(工作区,模块等)最佳实践?

我需要在AWS中创建和管理多个客户环境,并且希望利用Terraform部署所有必要的资源.除了用于访问其中一台服务器的URL外,每个客户环境都基本相同. 我整理了一个Terraform配置,该配置可为给定客户部署所有资源.但是...如何采用相同的配置并将其应用到下一个客户,而无需复制整个Terraform目录并为每个客户复制该目录. (我可以有100个) 我听说过工作空间和模块,或两者 ..
发布时间:2020-05-10 20:46:34 其他开发

我如何在Terraform中建立地图列表

我想在Terraform中建立一个地图列表.有没有能让我做到的手术. 例如:我想构建结构(来自aws_instance.test.*.private_ip) addresses = [ { address = private_ip-1 }, { address = private_ip-2 } ... ] 解决方案 很抱歉,如果这 ..
发布时间:2020-05-04 05:13:05 其他开发

Terraform:如何在具有名称空间的Google Cloud(GKE)上创建Kubernetes集群?

我正在寻找可以执行以下操作的示例: 通过Terraform的 google_container_cluster 在GKE上创建Kubernetes集群a> ...,并继续在其中创建名称空间,我想通过 kubernetes_namespace 我不确定的是如何连接新创建的集群和名称空间定义.例如,添加google_container_node_pool时,我可以做类似cluster = ..