Добавление пользовательских данных#

При добавлении пользовательских данных следует обратить внимание на:

  • Пользовательские данные рассматриваются как 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.