Получить UserData и сохранить его в текстовом файле - PullRequest
0 голосов
/ 18 апреля 2020

Я работаю над сценарием, где мне нужно сохранить экземпляр ec2 UserData и сохранить его в текстовом файле.

Условие 1. Я не хочу входить в каждый экземпляр и извлекать его оттуда как экземпляр возможно, не в состоянии «работает». Поэтому мне нужно сделать это без входа в систему для экземпляра ec2

Условие 2. Мне нужно сделать это из сценария powershell.

Я нашел командлеты powershell "(Get-EC2InstanceAttribute -InstanceId $ tid -Attribute userData) .UserData", где $ tid - это идентификатор экземпляра. но я не знаю формат вывода этой команды. AWS CLI также предоставляет такой формат.

1 Ответ

2 голосов
/ 18 апреля 2020

Странный формат, который вы получаете: base64 кодирование пользовательских данных.

Не могу помочь с powershell, но если это поможет, в linux вы может получить удобочитаемые данные пользователя следующим образом:

user_data=$(aws ec2 describe-instance-attribute \
            --instance-id i-xxxxxxxxxxxxxx \
            --attribute userData \
            --query 'UserData' \
            --output text)

base64 -d <<< ${user_data}

Нечто подобное должно быть выполнимо в Windows.

...