Yandex Cloud
August 25, 2022

Динамический адрес --> Статический адрес и обратно

Часто возникает ситуация, когда создали ВМ, приделали к ней всю логику, а потом поняли, что перезагрузке он может потеряться. В этой ситуации можно превратить динамический адрес в статический. Адрес тогда не потеряется.

Данный мануал является продолжением для https://teletype.in/@cameda/ntq8QNHIsG1

Посмотрим какой адрес сейчас используется у данной ВМ:

yc compute instance get fhm6opbofkt2tvlovq7r --format=json | jq -r '.network_interfaces' | grep address
    "mac_address": "d0:0d:6c:65:78:7d",
    "primary_v4_address": {
      "address": "10.128.0.9",
        "address": "84.201.158.60"

Но по данному выводу неясно статический он или динамический. Мы можем только сказать, что адрес есть.

Посмотрим тогда, какие адреса в принципе есть в фолдере:

yc vpc address list
+----------------------+------+----------------+----------+-------+
|          ID          | NAME |    ADDRESS     | RESERVED | USED  |
+----------------------+------+----------------+----------+-------+
| e9bbso61a9cboibhnmiq |      | 84.201.158.60  | false    | true  |
+----------------------+------+----------------+----------+-------+

В данном примере есть только один адрес, но в реальной жизни адресов может быть очень много.
По выводу мы точно сможем сказать, что адрес ВМ 84.201.158.60 не зарезервирован т.е. является динамическим и он используется. Нам понадобится его идентификатор.

А теперь мы его зарезервируем:

yc vpc address update --reserved=true e9bbso61a9cboibhnmiq

Посмотрим ещё раз на вывод. Адрес теперь статический:

yc vpc address list
+----------------------+------+----------------+----------+-------+
|          ID          | NAME |    ADDRESS     | RESERVED | USED  |
+----------------------+------+----------------+----------+-------+
| e9bbso61a9cboibhnmiq |      | 84.201.158.60  | true     | true  |
+----------------------+------+----------------+----------+-------+

Есть и обратная операция статический адрес --> динамический адрес:

yc vpc address update --reserved=false e9bbso61a9cboibhnmiq

Результат:

yc vpc address list
+----------------------+------+----------------+----------+-------+
|          ID          | NAME |    ADDRESS     | RESERVED | USED  |
+----------------------+------+----------------+----------+-------+
| e9bbso61a9cboibhnmiq |      | 84.201.158.60  | false    | true  |
+----------------------+------+----------------+----------+-------+

Полезные ссылки:

https://cloud.yandex.ru/docs/vpc/operations/set-static-ip