创建多个 AWS Lightsail 实例时,是否可以在 userData 中获取 instanceName?

创建多个 AWS Lightsail 实例时,是否可以在 userData 中获取 instanceName?

我使用python apiboto3来管理Lightsail实例的创建,并将创建的节点链接到salt-master,以下是部分代码:

boot_script='''
curl -L https://bootstrap.saltstack.com -o install_salt.sh
sh install_salt.sh -P
sed -i 's/#master: salt/master: salt.my-domain.com/' /etc/salt/minion
rm -f /etc/salt/minion_id
'''

def main(args):
    client = boto3.client('lightsail')
    client.create_instances(
        instanceNames=[
            'test-01',
            'test-02',
            'test-03',
        ],
        availabilityZone='eu-west-2a',
        blueprintId='amazon_linux_2017_03_1_1',
        bundleId='nano_1_0',
        userData=boot_script,
        keyPairName='salt_master'
    )

那么,如何通过 userData 将 hostname 设置为其 instanceName 的值?或者还有其他解决方案吗?

谢谢。

相关内容