Amazon web services 需要通过cloudformation模板根据区域向resolv.conf添加内容

Amazon web services 需要通过cloudformation模板根据区域向resolv.conf添加内容,amazon-web-services,amazon-ec2,aws-lambda,amazon-cloudformation,Amazon Web Services,Amazon Ec2,Aws Lambda,Amazon Cloudformation,我必须通过cloudformation模板根据区域选择更新resolv.conf中的内容 名称服务器0.0.0.0示例 以上内容需要根据地区添加到resolv.conf中如果我选择我们,那么名称服务器将不同,如果它是EU,那么它将不同 我需要如何在cloudformation模板中编写此条件 请帮我做这件事 谢谢我的建议是将其放在userdata中,并放置一个映射,将适当的区域映射到nameserver。差不多 UserData: Fn::Base64: !Sub - |

我必须通过cloudformation模板根据区域选择更新resolv.conf中的内容

名称服务器0.0.0.0示例

以上内容需要根据地区添加到resolv.conf中如果我选择我们,那么名称服务器将不同,如果它是EU,那么它将不同

我需要如何在cloudformation模板中编写此条件

请帮我做这件事


谢谢

我的建议是将其放在userdata中,并放置一个映射,将适当的区域映射到nameserver。差不多

UserData:
  Fn::Base64: !Sub 
      - |
        #!/bin/bash 
        nameserver=${nameserver}
        echo "nameserver $nameserver" >> /etc/resolvconf/resolv.conf.d/base
      - nameserver: !FindInMap
          - RegionMap
          - !Ref "AWS::Region"
          - nameserver

您需要在映射中声明RegionMap,以将每个区域映射到相应的名称服务器。

谢谢您提供的信息。${nameserver}这将从route53${nameserver}获取所有我的名称服务器这将从route53获取所有名称服务器。请在这方面帮助我。您需要在模板开头的地图中硬编码每个区域的所有名称服务器。映射:名称服务器:{us-east-1:[129.0.0.1129.0.0.3],eu-west-1:[129.100.0.1129.100.0.3],}在映射中,我对块映射进行了如下编码:在解析“”第341行第9列中的块映射时,它是否正确:Fn::Base64:!Sub^我收到了这个错误