AWS CloudFormation -- 自动挂载 EFS

问题描述

我正在尝试创建一个 CF 脚本,该脚本创建一个 EC2,然后自动挂载一个 EFS。这是模板的相关部分。我发现没有加载软件包:amazon-efs-utils、nfs-utils。 因此,如果执行 mount 命令,它将失败。 我已经验证我的另一个堆栈有我需要的东西并且输出变量是正确的: !ImportValue dmp356-efs-EFSId

如果我登录到我的新实例并手动执行这些步骤,它工作正常,我可以在 EFS 中看到我的文件。自然地,我怀疑我的 CF 脚本在某些方面是错误的,尽管它会验证我是否使用“aws cloudformation validate-template ...”并且它以成功的结论部署。正如我所说,我可以登录新实例,它不会回滚。

Resources:
  TestHost:
    Type: AWS::EC2::Instance
    Metadata:
      AWS::CloudFormation::Init:
        configSets:
          MountConfig:
            - setup
            - mount
        setup:
          packages:
            yum:
              amazon-efs-utils: []
              nfs-utils: []
          commands:
            01_createdir:
              command:
                "mkdir /nfs"
        mount:
          commands:
            01_mount:
              command: !Sub
                - mount -t efs ${EFS_ID} /nfs
                - { EFS_ID: !ImportValue dmp356-efs-EFSId }
            02_mount:
              command:
                "chown ec2-user.ec2-user /nfs"

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)