Кратко:
- Метаданные связаны с каждой виртуальной машиной в Compute Cloud.
- Метаданные включают идентификатор, название, описание, список дисков и сетевых интерфейсов.
- Дополнительные метаданные могут быть определены при создании или изменении виртуальной машины.
- Сервис метаданных доступен из любой виртуальной машины по адресу http://169.254.169.254.
- Метаданные могут быть получены и использованы для настройки машины или софта.
- Сервис метаданных возвращает метаданные в форматах Google Compute Engine и Amazon EC2.
- В Linux используется агент cloud-init, в Windows - Cloudbase-Init.
- Метаданные могут быть переданы при создании и изменении виртуальной машины с помощью Yandex Cloud CLI.
Сервис метаданных и cloud-init
С каждой ВМ в Compute Cloud связаны метаданные. Метаданные — это идентификатор, название и описание ВМ, список подключённых к ней дисков и сетевых интерфейсов, привязанные к ВМ сервисные аккаунты. Кроме того, вы можете определять дополнительные метаданные и указывать их, когда создаёте или изменяете ВМ.
Получайте метаданные изнутри ВМ с помощью сервиса метаданных (он доступен из любой ВМ по адресу http://169.254.169.254) и используйте их для настройки машины или софта на ней. Например, укажите через метаданные, в каком режиме запуститься приложению на сервере: в отладочном или в боевом. Меняйте режим, не заходя на сервер, просто меняя значение в сервисе метаданных.
Сервис возвращает метаданные в двух форматах: Google Compute Engine или Amazon EC2.
Помните, что в Yandex Cloud поддерживаются не все поля этих форматов.
В ВМ на базе Linux для работы с метаданными, как правило, используется агент cloud-init, в машинах с Windows — Cloudbase-Init. Но вы можете отправить запрос в сервис метаданных и самостоятельно — с помощью любого HTTP-клиента.
Вы можете передать метаданные при создании и изменении ВМ. Чаще всего это делается с помощью консольной утилиты Yandex Cloud CLI, о которой мы подробно расскажем позже.
Указывайте метаданные в CLI в одном из трёх параметров:
--metadata
принимает список пар «ключ=значение», разделённых запятой, например:--metadata foo1=bar,foo2=baz
.--metadata-from-file
читает метаданные из файла, например:--metadata-from-file key=path/to/file
. Этот метод удобен, чтобы передавать длинные метаданные.--ssh-key
— специальный тип метаданных для хранения публичного SSH-ключа. Доступен только для ВМ на Linux, где его читает агент cloud-init.
Чтобы получить метаданные ВМ от Yandex Cloud, вы можете использовать интерфейс командной строки Yandex Cloud (CLI) или API. Пошаговое руководство по использованию CLI для решения этой задачи приведено в документации. С кратким введением в использование CLI для работы с ВМ вы познакомитесь в одной из следующих тем этого курса.
Пример использования метаданных для создания новой ВМ мы рассмотрим в одной из дальнейших практических работ.
👉 Поздравляем, вы завершили тему «Виртуальные машины»
В этой теме вы узнали, как создавать и настраивать виртуальные машины, как подключаться к ним по протоколу SSH, в каких случаях лучше использовать прерываемые ВМ. В следующей теме вы подробнее познакомитесь с концепциями дисков, снимков и образов в облачной среде и научитесь их создавать.