Добавление пользовательских данных
In this article:
Добавление пользовательских данных#
При добавлении пользовательских данных следует обратить внимание на:
Пользовательские данные рассматриваются как opaque data: что отдано, то получено обратно. Вычислительная среда читает и пишет метаданные в любое время в течение времени жизни экземпляра.
Максимальный размер пользовательских данных — 16 KB. Это ограничение для данных в исходном формате, не закодированных в 64-разрядный код.
Пользовательские данные должны быть закодированы в 64-разрядный код перед передачей в API. Инструменты командной строки EC2 выполняют перекодировку в 64-разрядный код.
Через пользовательские данные в экземпляр могут быть переданы настройки
cloud-init
.
Cloud-init#
Cloud-init позволяет производить настройку экземпляра на его старте.
Для этого необходимо передать инструкции для cloud-init
в атрибут user-data в формате YAML.
cloud-init
доступен в большинстве современных операционных систем Linux и FreeBSD.
Разбиение дисков с использованием cloud-init
#
Примечание
Вы можете использовать cloud-init
версии 0.7.9 или старше для автоматического создания разделов дисков экземпляра.
user-data
#cloud-config
merge_how: "dict(recurse_array)+list(recurse_list,recurse_str)+str()"
cloud_init_modules:
- disk_setup
disk_setup:
ebs2:
table_type: 'mbr'
layout:
- [66, 83]
- [33, 82]
overwrite: true
В приведённом выше примере используются следующие настройки:
merge_how — Опция необходима для применения настроек, переданных в user-data.
cloud_init_modules — Список используемых модулей
cloud-init
.disk_setup — Модуль предоставляет возможность разбиения диска на разделы.
ebs2 — Имя блочного устройства, ассоциированного с дополнительным EBS-диском.
table_type — Опция определяет тип раздела. Возможны типы разделов
mbr
илиgpt
.layout — Опция определяет то, каким образом будут размечены разделы.
overwrite — Если
true
, проверки на наличие ранее существовавших разделов и файловых систем будут проигнорированы.
Примечание
Дополнительную информацию по модулю disk_setup
можно получить в официальной документации cloud-init.