Получить информацию о виртуальной машине
Вы можете получить основную информацию о каждой созданной вами виртуальной машине в консоли управления, на странице виртуальной машины. Чтобы получить детальную информацию вместе с пользовательскими метаданными, воспользуйтесь CLI или API.
Также основную информацию и метаданные можно получить изнутри виртуальной машины.
Получить информацию снаружи виртуальной машины
В разделе Compute Cloud, на странице Виртуальные машины, приводится список виртуальных машин в каталоге с краткой информацией о них.
Для получения подробной информации о виртуальной машине нажмите на строку с ее именем.
На вкладке:
- Обзор приводится общая информация о виртуальной машине, в том числе IP-адреса, присвоенные машине.
- Диски приводится информация о дисках, подключенных к виртуальной машине.
- Операции приводится список операций с виртуальной машиной и подключенными к ней ресурсами, например дисками.
- Мониторинг приводится информация о потреблении ресурсов на виртуальной машине. Эту информацию можно получить только в консоли управления или изнутри виртуальной машины.
- Последовательный порт приводится информация, которую виртуальная машина выводит в последовательный порт. Чтобы получить эту информацию через API или CLI воспользуйтесь инструкцией Получить вывод последовательного порта.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды для получения вывода последовательного порта:
$ yc compute instance get --help
-
Выберите виртуальную машину, например
first-instance
:$ yc compute instance list +----------------------+-----------------+---------------+---------+----------------------+ | ID | NAME | ZONE ID | STATUS | DESCRIPTION | +----------------------+-----------------+---------------+---------+----------------------+ | fhm0b28lgfp4tkoa3jl6 | first-instance | ru-central1-a | RUNNING | my first vm via CLI | | fhm9gk85nj7gcoji2f8s | second-instance | ru-central1-a | RUNNING | my second vm via CLI | +----------------------+-----------------+---------------+---------+----------------------+
-
Получите основную информацию о виртуальной машине:
$ yc compute instance get first-instance
Чтобы получить информацию о виртуальной машине вместе с метаданными, используйте флаг
--full
:$ yc compute instance get --full first-instance
Для получения основной информации о виртуальной машине используйте метод get для ресурса Instance.
Основная информация не включает пользовательские метаданные, которые были переданы при создании или изменении виртуальной машины. Чтобы получить информацию вместе с метаданными, укажите в параметрах view=FULL
.
Получить информацию изнутри виртуальной машины
Изнутри виртуальной машины сервис метаданных доступен по IP-адресу 169.254.169.254
.
На данный момент сервис метаданных Yandex.Cloud возвращает метаданные в форматах Google Compute Engine и Amazon EC2.
Google Compute Engine
Сервис метаданных Yandex.Cloud позволяет возвращать метаданные в формате Google Compute Engine.
HTTP-запрос
GET http://169.254.169.254/computeMetadata/v1/instance/
? alt=<json|text>
& recursive=<true|false>
& wait_for_change=<true|false>
& last_etag=<string>
& timeout_sec=<int>
Metadata-Flavor: Google
Параметр | Описание |
---|---|
alt |
Формат ответа (по умолчанию text ). |
recursive |
Если true , возвращает все значения по дереву рекурсивно. По умолчанию false . |
wait_for_change |
Если true , ответ будет возвращен только когда один из параметров метаданных изменится. По умолчанию false . |
last_etag |
Значение ETag из предыдущего ответа на аналогичный запрос. Используйте при wait_for_change="true" . |
timeout_sec |
Максимальное время ожидания запроса. Используйте при wait_for_change="true" . |
Примеры запросов
Узнать идентификатор виртуальной машины изнутри машины:
$ curl -H Metadata-Flavor:Google 169.254.169.254/computeMetadata/v1/instance/id
Получить метаданные в формате JSON:
$ curl -H Metadata-Flavor:Google 169.254.169.254/computeMetadata/v1/instance/?recursive=true
Получить метаданные в удобном для чтения формате. Воспользуйтесь утилитой jq:
$ curl -H Metadata-Flavor:Google 169.254.169.254/computeMetadata/v1/instance/?recursive=true | jq -r '.'
Список возвращаемых элементов
Список элементов, которые доступны по этому запросу.
Элемент | Описание |
---|---|
attributes/ |
Пользовательские метаданные, переданные при создании или изменении виртуальной машины в поле metadata . |
attributes/ssh-keys |
Список открытых SSH-ключей, переданных при создании виртуальной машины в поле metadata в значении ключа ssh-keys . |
description |
Текстовое описание, переданное при создании или изменении виртуальной машины. |
disks/ |
Диски, подключенные к виртуальной машине. |
hostname |
FQDN, назначенный виртуальной машине. |
id |
Идентификатор виртуальной машины. ID генерируется автоматически при создании виртуальной машины и уникален в пределах Yandex.Cloud. |
name |
Имя, переданное при создании или изменении виртуальной машины. |
networkInterfaces/ |
Сетевые интерфейсы, подключенные к виртуальной машине. |
service-accounts |
Сервисные аккаунты, привязанные к виртуальной машине. |
service-accounts/default/token |
IAM-токен привязанного сервисного аккаунта. |
Другие элементы, например project
, используются для обратной совместимости и остаются пустыми.
Amazon EC2
Сервис метаданных Yandex.Cloud позволяет возвращать метаданные в формате Amazon EC2.
При этом формат не поддерживает работу с пользовательскими полями метаданных.
HTTP-запрос
GET http://169.254.169.254/latest/meta-data/<элемент>
Параметр | Описание |
---|---|
<элемент> |
Путь к элементу, который вы хотите получить. Если элемент не задан, в ответе вернется список доступных элементов. |
Список возвращаемых элементов
Список элементов, которые доступны по этому запросу.
Примечание
В угловых скобках выделены параметры, которые необходимо заменить значениями. Например, вместо <mac>
следует подставить MAC-адрес сетевого интерфейса.
Элемент | Описание |
---|---|
hostname |
Имя хоста, присвоенное виртуальной машине. |
instance-id |
Идентификатор виртуальной машины. |
local-ipv4 |
Внутренний IPv4-адрес. |
local-hostname |
Имя хоста, присвоенное виртуальной машине. |
mac |
MAC-адрес сетевого интерфейса виртуальной машины. |
network/interfaces/macs/<mac>/ipv6s |
Внутренние IPv6-адреса, ассоциированные с сетевым интерфейсом. |
network/interfaces/macs/<mac>/local-hostname |
Имя хоста, ассоциированное с сетевым интерфейсом. |
network/interfaces/macs/<mac>/local-ipv4s |
Внутренние IPv4-адреса, ассоциированные с сетевым интерфейсом. |
network/interfaces/macs/<mac>/mac |
MAC-адрес сетевого интерфейса виртуальной машины. |
public-ipv4 |
Внешний IPv4-адрес. |
Примеры запросов
Получить внутренний IP-адрес изнутри виртуальной машины:
$ curl http://169.254.169.254/latest/meta-data/local-ipv4