Изменить внутренний IP-адрес виртуальной машины
После создания ВМ вы можете изменить внутренние IP-адреса ее сетевых интерфейсов.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для обновления внутреннего IP-адреса сетевого интерфейса ВМ:
yc compute instance update-network-interface --help -
Получите список ВМ в каталоге по умолчанию:
yc compute instance listРезультат:
+----------------------+-----------------+---------------+---------+----------------------+ | ID | NAME | ZONE ID | STATUS | DESCRIPTION | +----------------------+-----------------+---------------+---------+----------------------+ | fhm0b28lgfp4******** | first-instance | kz1-a | RUNNING | my first vm via CLI | | fhm9gk85nj7g******** | second-instance | kz1-a | RUNNING | my second vm via CLI | +----------------------+-----------------+---------------+---------+----------------------+ -
Выберите идентификатор (
ID) нужной ВМ. -
Остановите выбранную ВМ.
-
Получите список сетевых интерфейсов выбранной ВМ, указав ее идентификатор:
yc compute instance get <идентификатор_ВМ>Результат:
... network_interfaces: - index: "0" mac_address: d0:0d:24:**:**:** subnet_id: e2lpp96bvvgp******** primary_v4_address: address: 192.168.2.23 one_to_one_nat: address: 158.160.**.*** ip_version: IPV4 - index: "1" mac_address: d0:1d:24:**:**:** subnet_id: e2lrucutusnd******** primary_v4_address: address: 192.168.1.32 - index: "2" mac_address: d0:2d:24:**:**:** subnet_id: e2lv9c6aek1d******** primary_v4_address: address: 192.168.4.26 ...Сохраните значение поля
index— номер сетевого интерфейса, для которого требуется изменить внутренний IP-адрес. -
Измените внутренний IP-адрес выбранного сетевого интерфейса ВМ:
yc compute instance update-network-interface \ --id <идентификатор_ВМ> \ --ipv4-address <внутренний_IP-адрес> \ --network-interface-index <номер_сетевого_интерфейса>Где:
--id— идентификатор виртуальной машины.--ipv4-address— внутренний IP-адрес. Задайте новый IP-адрес или введитеauto, чтобы присвоить новый адрес автоматически.--network-interface-index— сохраненный ранее номер сетевого интерфейса ВМ.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Чтобы изменить внутренний IP-адрес сетевого интерфейса ВМ, добавьте параметр
ip_addressв блокnetwork_interfaceнужного сетевого интерфейса в конфигурации ресурсаyandex_compute_instance:resource "yandex_compute_instance" "vm-1" { ... network_interface { ... ip_address = "<внутренний_IP-адрес>" } }Более подробную информацию о параметрах ресурса
yandex_compute_instanceсм. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
. -
Чтобы изменить внутренний IP-адрес сетевого интерфейса ВМ, воспользуйтесь методом REST API updateNetworkInterface для ресурса Instance или вызовом gRPC API InstanceService/PrimaryAddress.