Amazon web services AWS Cloudformation在EC2实例中修改resolv.conf

Amazon web services AWS Cloudformation在EC2实例中修改resolv.conf,amazon-web-services,amazon-ec2,dns,amazon-cloudformation,Amazon Web Services,Amazon Ec2,Dns,Amazon Cloudformation,我想在EC2实例启动时向/etc/resolv.conf文件中添加一个自定义搜索条目 我使用Cloudformation来配置我的服务器。AWS已经用一个搜索条目填充了该文件,因此我只想在此行中添加第二个条目,如下所示: search myCompany.com region.compute.internal 使用cloudformation实现此目的的最佳方法是什么?使用用户数据参数:该参数将在启动时对实例进行所有必要的修改。在CloudFormation脚本中的实例定义中,添加如下内容:

我想在EC2实例启动时向/etc/resolv.conf文件中添加一个自定义搜索条目

我使用Cloudformation来配置我的服务器。AWS已经用一个搜索条目填充了该文件,因此我只想在此行中添加第二个条目,如下所示:

search myCompany.com region.compute.internal

使用cloudformation实现此目的的最佳方法是什么?

使用用户数据参数:该参数将在启动时对实例进行所有必要的修改。在CloudFormation脚本中的实例定义中,添加如下内容:

  MyEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      UserData:
        Fn::Base64: !Sub |
          #!/bin/bash
          echo "search myCompany.com region.compute.internal" >> /etc/resolv.conf

问题是“region.compute.internal”的内容来自AWS,我真的不想在scriptouch中编写它!这是一个可以从脚本中的源资源中提取的变量吗?它是可以导出的另一个堆栈中的变量吗?据我所知不是。AWS自动创建resolv.conf文件的内容。我认为所有EC2实例都有ITAHH Ok,所以您希望使用aws dns,那么
${aws::Region}.compute.internal
呢?这将自动为您提供部署堆栈的区域是的,这可以工作,但感觉有点脆弱。我想知道是否有更“正式”的方式来做这件事:)