![](/img/trans.png)
[英]Creating Multiple AWS EBS volumes and attach it to an instance using Terraform
[英]Creating multiple EBS volumes using AWS EC2_instance module
計數索引在 ebs_block_device 中不起作用,關於如何使其起作用的任何建議? 這是我正在使用的代碼示例。 作為輸出,它只創建計數中的第一個驅動器。
module "ec2_instance" {
source = "terraform-aws-modules/ec2-instance/aws"
version = "~> 3.0"
count = "${var.count_ec2}"
name = "${var.name}${count.index + 1 }"
ami = var.ami
instance_type = var.instance_type
key_name = var.key_name
monitoring = true
vpc_security_group_ids = [var.security_id]
subnet_id = var.subnet_id
root_block_device = [
{
volume_type = var.root_drive_type
volume_size = var.root_drive_size
encrypted = true
kms_key_id = var.kms_key
}
]
ebs_block_device = [
{
count = "${var.count_drives}"
device_name = "${element(var.ebs_devices_names, count.index)}"
volume_type = var.ebs_drives_type
volume_size = "${element(var.ebs_devices_size, count.index)}"
encrypted = true
delete_on_termination = false
kms_key_id = var.kms_key
},
]
count<\/code>是
ebs_block_device<\/code>的無效參數。
如果要創建多個 ebs 卷,則必須使用for 循環<\/strong>將它們全部列出:
ebs_block_device = [for index in var.count_drives:
{
device_name = "${element(var.ebs_devices_names, index)}"
volume_type = var.ebs_drives_type
volume_size = "${element(var.ebs_devices_size, index)}"
encrypted = true
delete_on_termination = false
kms_key_id = var.kms_key
}
]
以下是為 ebs_block_device 設置循環的建議,如果添加的 ebs_block_device 等於或大於為 var.volume_count 配置的值,循環將停止。
dynamic "ebs_block_device" {
for_each = {
for k,v in var.id : k => v
if k < var.volume_count
}
content {
device_name = "/dev/sd${ebs_block_device.value}"
volume_type = var.volume_type
volume_size = var.volume_size
delete_on_termination = var.delete_on_termination
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.