问题标签 [terraform-provider-azure]

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.

0 投票
1 回答
1031 浏览

azure - TERRAFORM 如何在子网上设置 count.index 以检索 network_security_group_id

我觉得我的逻辑很糟糕!

我正在尝试将我的 Azure 网络组关联到我的子网

这是我的安全组配置

从这里count.index我试图导入

但我无法 network_security_group_id使用 [count.index] 或地图进行访问。

对于地球化专家来说,这将非常容易。

请在这里帮忙,

0 投票
1 回答
399 浏览

azure - 您如何处理用于 Azure VM 的 Terraform 中有多个 storage_os_disk 块?

我目前正在使用 Terraform 在 Microsoft Azure 中启动 VM。我需要在 VM 上有 4 个不同的磁盘驱动程序。

为了在 AWS 中启动它,我使用ebs_block_device了它,这似乎storage_os_disk是 Azure 的等价物。

在我看到的示例中,似乎只storage_os_disk允许一个块?这个对吗?如果是这样,您建议如何处理我需要的四个驱动程序?

0 投票
2 回答
7849 浏览

azure - 如何在 terraform 中继承/传递变量

我对 Terraform 很陌生,并且在模块/子目录之间传递变量时遇到了一些问题。

我有一个像这样的结构:

我在根目录中的 main.tf 如下所示:

在网络目录中,我想为 vm 创建网络接口。因此网络接口取决于子网 ID。vm(我想在计算中使用模板创建)取决于网络接口 ID。

在根目录的 data.tf 中,我输出了子网 ID:

如何在 network/main.tf 中使用该输出/变量,以便配置网络接口?

network/main.tf 看起来像:

另外,由于依赖项是由 main.tf 创建的,因此此依赖项会起作用吗?!

0 投票
1 回答
829 浏览

azure - 关于 Azure (Terraform) 中虚拟机“计划”的问题

我是 Azure 和 Terraform 的新手,但我从离开我组织的人那里继承了一组 Terraform 配置和模块。我的任务是将项目的 VM 更改为 CIS 强化版本,这需要我向我们的 VM 供应模块之一添加“计划”块:

由于该模块是通用的(即,可供具有无计划和需要计划的虚拟机的项目使用),我需要了解更多关于这个“计划”块的信息。

  • 它是什么,我在哪里可以阅读更多关于它的信息?(对于 Google 来说,这似乎是一件困难的事情;例如,“azure virtual machine plan”会产生定价信息。)
  • 为不一定需要它的虚拟机保留该块是否合适?

到目前为止,我看到的唯一文档是Terraform 关于 block 的少量信息。它没有提供太多信息(甚至没有提供参数名称),而且我不知道如何将 Terraform 构造与 Azure 交叉引用。

0 投票
1 回答
1447 浏览

terraform - 如何通过 terraform 检索 Azure 规模集的 VM 专用 IP 地址?

我想知道如何使用 Terraform-provider-azurerm 检索规模集 VM 的私有 IP 地址。我认为没有资源或数据资源直接返回VM IP。

我尝试的一个选项是通过模板资源生成 shellscript。

然后运行 ​​terraform 生成 sh。

但是这种方法离目标太远了,我确实想在 terraform 中使用私有 IP,而不是在 terraform 之外。

有没有人有更好的想法?

编辑 2018/11/2

我已经通过外部数据资源完成了。

0 投票
1 回答
2268 浏览

azure-storage - 使用 Terraform 添加存储虚拟网络规则

有没有办法像 Azure SQL 一样将虚拟网络规则添加到存储帐户?有azurerm_sql_virtual_network_rule但似乎没有存储帐户的等效项。

0 投票
2 回答
4075 浏览

terraform - 排除 Terraform 模块中的资源

我有一个我构建的 Terraform 模块,它将模块的两个实例部署到一个单独的区域。在这个模块中有一个密钥库。我只希望密钥保管库出现在两个区域之一中。

这是我的模块:

这是我的 main.tf

我想排除第二个区域/位置中的密钥保管库。

Terraform 似乎不支持 if/else 所以我不确定我的选择是什么。

0 投票
1 回答
280 浏览

azure-web-app-service - 错误:azurerm_app_service.ci_rg:资源重复多次

我正在尝试在同一资源组中部署 2 个不同的 Azure 应用程序。

这些 Azure 应用程序被定义为存储在 Azure 容器注册表中的 docker 镜像(我之前在其中推送了这些 docker 镜像)。

我无法同时部署它们,因为我认为我定义它们的方式有问题,因为 Terraform 期望只找到一个azurerm_app_service,但我不确定如何解决这个问题?

当我运行此命令时:terraform plan -var-file test.tfvars,然后我在输出中看到此消息:

如何定义“相同类型的 2 个不同资源”?

这是main.tf文件的内容(我在其中注入定义的变量和定义variables.tf的值test.tfvars):

编辑:

我不完全确定这个 Terraform 是如何工作的,但我认为这个标签azurerm_app_service是由“Terraform 的语法”所采用的。请参阅此处的文档:https ://www.terraform.io/docs/providers/azurerm/r/app_service.html 标题为azurerm_app_service. 所以我认为我无法改变这一点。

0 投票
2 回答
5215 浏览

azure - Azure Microsoft Monitoring Agent 无法使用 Terraform 进行预配

尝试使用 Terraform 将 MMA 代理安装为 VM 部署的一部分。我确信失败是由于我正在使用的扩展名的语法造成的,但我没有运气确定它应该是什么。代理安装但不会加入 Log Analytics 工作区。我将工作区 ID 和主键存储在 Key Vault 中,并在执行时将它们传递到 Terraform。从 VM 上的扩展日志来看,它似乎获得了正确的工作区 ID,但我无法判断它是否正确接收密钥。下面是我使用的 Terraform 语法:

以下是扩展日志文件之一中显示的内容:

0 投票
0 回答
583 浏览

azure - Terraform Azure 虚拟机扩展

我已经部署了一个 Windows VM 和扩展。我想对 VM 资源进行更改并应用它们。但是,即使虚拟机扩展资源已经运行,它也会再次执行。

有关解决此问题的任何提示?也许在要执行的命令前面有什么东西?