【问题标题】:How to create EFS in Multi-AZ with Terraform如何使用 Terraform 在多可用区中创建 EFS
【发布时间】:2019-12-24 02:25:37
【问题描述】:

我在两个可用区启动了两个 EC2 实例,我需要使用 Terraform 在两个实例中安装 EFS。

resource "aws_efs_file_system" "magento-efs" {
   creation_token = "efs-demo"
   performance_mode = "generalPurpose"
   throughput_mode = "bursting"
   encrypted = "true"
 tags = {
     Name = "Magento-EFS"
   }
 }

resource "aws_efs_mount_target" "efs-mount" {
   file_system_id  = "${aws_efs_file_system.magento-efs.id}"
   subnet_id = "${aws_subnet.public_subnet.0.id}"
   security_groups = ["${aws_security_group.efs-sg.id}"]
}

使用上面的代码,我可以在 us-east-1a 中创建 EFS。我需要在 us-east-1a 和 us-east-1b 中都提供它。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 terraform amazon-efs multi-az


    【解决方案1】:

    您只需在 AZ us-east-1b 的子网中添加另一个挂载目标:

    resource "aws_efs_mount_target" "efs-mount-b" {
       file_system_id  = "${aws_efs_file_system.magento-efs.id}"
       subnet_id = "${aws_subnet.public_subnet.1.id}"
       security_groups = ["${aws_security_group.efs-sg.id}"]
    }
    

    更优雅(使用 count 取决于子网的数量):

    resource "aws_efs_mount_target" "efs-mount" {
       count = "length(aws_subnet.public_subnet.*.id)"
       file_system_id  = "${aws_efs_file_system.magento-efs.id}"
       subnet_id = "${element(aws_subnet.public_subnet.*.id, count.index)}"
       security_groups = ["${aws_security_group.efs-sg.id}"]
    }
    

    【讨论】:

    • 感谢您的回复,但在链接 imagizer.imageshack.com/img922/856/alRoep.png 中出现以下错误
    • 我可以使用上面的方法创建新目标。非常感谢您的及时帮助!!!
    • 很高兴您已修复它。随时纠正我代码中的错字。
    • 解决此威胁后,请使用复选标记标记问题。谢谢!
    • 我一定会做到的
    【解决方案2】:

    我使用 terraform 版本 0.14.10。这将起作用。

    resource "aws_efs_mount_target" "efs-mount-a" {
       file_system_id  = aws_efs_file_system.magento-efs.id
       subnet_id = aws_subnet.public_subnet.0.id
       security_groups = [aws_security_group.efs-sg.id]
    }
    
    resource "aws_efs_mount_target" "efs-mount-b" {
       file_system_id  = aws_efs_file_system.magento-efs.id
       subnet_id = aws_subnet.public_subnet.1.id
       security_groups = [aws_security_group.efs-sg.id]
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-02
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多