问题标签 [infrastructure-as-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
terraform - 在 Terraform 中,如何在目录中运行特定的 *.tf 文件?
使用 Terraform 0.12.6
我有一个包含多个*.tf
文件的目录,例如,product1.tf
等product2.tf
。我如何执行terraform plan
并随后执行terraform apply
某个 *.tf 文件?我希望这将是一个-target
选项,但我阅读了文档并没有看到提到这一点。
amazon-cloudformation - 如何在从控制台构建的现有服务上执行基础架构代码?
发展迅速,我们已经从面板创建了一些 AWS 服务,但现在我们需要返回并在 CloudFormation 下获取它们。我正在寻找有关如何在 CloudFormation 中获取这些现有项目的方向。举个简单的例子,我们有一个从面板创建的安全组,其他服务正在使用该安全组 ID。因此,当我们需要进行更改时,无需修改 CloudFormation。如何在不创建新的安全组/安全组 ID 的情况下为该安全组创建 CloudFormation 模板并将其显示在 CloudFormation 中,以便我们可以使用代码对其进行管理?现在,我在这个问题中使用这个安全组作为示例来了解如何从概念上解决这个问题。我也想为其他服务(如 RDS、Fargate、S3 等)执行此操作... 遵循从面板创建的模型,然后跟进并放置代码以支持它。我不是在寻找处理安全组示例的答案——目前,我们只是为此管理 CF 中的规则并使用 sg ID 来应用它们。我希望我的要求很明确,并感谢您提供的任何指导。
示例中使用的安全组是一个真实情况,我们无法找到将 CloudFormation 置于现有安全组后面的方法。我们正在处理这种特定情况,方法是仅使用具有安全组 ID 作为参数的 CloudFormation 模板并在 SCM 中管理安全组的规则。
我正在寻找一种从面板创建的方法,然后跟进并放置代码以支持它而不影响现有的服务/ID。
amazon-web-services - 基础架构代码是否应该与应用程序代码存储在同一个存储库中?
我正在建立一个支持 WebApp 的基础设施。我的一个存储库拥有所有网络基础设施(VPC、子网、NAT、堡垒等)。WebApp 有一个 Route 53 + ALB + AutoScalling 组 + EC2 实例。所有这些都在 Cloudformation 模板中编码。我的问题是 WebApp Cloudformation 模板是否应该与应用程序存储在同一个存储库中?有没有关于如何分离基础设施和应用程序代码的最佳实践?
typescript - 如何使用 pulumi 为谷歌云功能设置特定入口点
目前我开始使用 pulumi 作为 IaC 工具,同时我也在使用 TypeScript。对于带有 HTTP 触发器的谷歌云功能,有人知道如何设置具有特定名称的骨灰盒吗?我正在创建一个新函数,如下所示。
我使用以下代码作为参考:https ://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/gcp/cloudfunctions
这是我的代码:
对接该代码总是在我最初设置的字符串的末尾添加一些字符来创建骨灰盒。IE:
https://<region-projectname>.cloudfunctions.net/functionName-43db05f
我想要那个骨灰盒
https://<region-projectname>.cloudfunctions.net/functionName
azure - ARM 模板部署无用的错误,包括“域名'...' 请求无效。不支持资源标签。”
很抱歉试图得到“以 1 的价格获得 2 个答案”;)但我无法弄清楚部署 ARM 模板时发生的以下错误。
错误一:
对于我的资源
错误2:
对于我的资源
amazon-web-services - 检查 CloudFormation 是否已部署 AWS 资源
我是大型 AWS 部署的新手,其中大部分内容是通过 CloudFormation 部署的(有些是通过 Terraform 部署的)。但总有一些情况是手动部署而不是通过代码部署的。是否有可靠的方法来快速确定部署中已经存在的资源(例如 EC2 实例)是通过 IaC 部署还是手动部署?现在,特定于 CloudFormation 的答案就足够了。
手动检查数百个 CloudFormation 堆栈并查找资源不是一种选择。
json - How do you dynamically create an AWS IAM policy document with a variable number of resource blocks using terraform?
In my current terraform configuration I am using a static JSON file and importing into terraform using the file function to create an AWS IAM policy.
Terraform code:
AWS IAM Policy definition in JSON file (policy.json):
My goal is to use a list of account numbers stored in a terraform variable and use that to dynamically build the aws_iam_policy resource in terraform. My first idea was to try and use the terraform jsonencode function. However, it looks like there might be a way to implement this using the new terraform dynamic expressions foreach loop.
The sticking point seems to be appending a variable number of resource blocks in the IAM policy.
Pseudo code below:
Any help is appreciated.
Best, Andrew
google-cloud-platform - 如何备份整个 GCP 项目(包括服务和基础设施配置,如子网、防火墙规则等)
我们正在评估备份整个谷歌云项目的选项。所有可能以某种方式丢失的东西都应该被保存。什么是备份和恢复网络、子网、路由等的好方法?
需要明确的是:我们的范围不仅是计算引擎磁盘或存储桶之类的数据和文件,而且还包括整个“如何将所有内容放在一起”-描述 gcp 项目的基础架构和服务的所有代码和配置(尽可能)。当然,我们可以简单地保存所有创建资源的代码(例如,通过部署管理器或 gcloud sdk),但我们也希望能够尽可能好地覆盖某人手动/通过 gui 配置的内容。
使用 gcloud sdk 递归提取数据(例如gcloud compute networks ... list/describe
用于网络配置)可能是一种选择,但也许有人已经找到了更好的解决方案?
输出应该足够详细,以便能够恢复 gcp 项目中的特定资源(更好:所有包含资源)(例如,通过部署管理器)。
感谢所有建设性的想法!
amazon-cloudformation - 模板(即基础设施即代码)相对于 API 调用的优势
我正在尝试设置一个模块来在云中部署资源(它可以是任何云提供商)。我没有看到使用模板(即部署管理器)而不是直接 API 调用的优势:
使用模板创建 VM:
使用 API 调用创建 VM:
有人可以向我解释使用模板有什么好处吗?
google-cloud-platform - 如何使用 terraform 停止 GCP 虚拟机实例
我是 Terraform 的新手。如何使用 terraform 停止 GCP vm 实例?我尝试过更改 vm 实例的状态,它可用于 AWS,但找不到为 GCP 执行此操作的方法。