Изменить подсеть
После создания подсети вы можете изменить ее имя, описание и настройки DCHP.
- В консоли управления
перейдите в каталог, где требуется изменить подсеть. - В списке сервисов выберите Virtual Private Cloud.
- На панели слева выберите
Подсети. - Нажмите
в строке нужной подсети и выберите Редактировать. - Внесите нужные изменения.
- Нажмите Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для обновления параметров подсети:
yc vpc subnet update --help
-
Получите список всех подсетей в каталоге по умолчанию:
yc vpc subnet list
Результат:
+----------------------+-----------------------+----------------------+ | ID | NAME | ... | +----------------------+-----------------------+----------------------+ ... | e2l2prrbkbim******** | test-subnet-1 | ... | ... +----------------------+-----------------------+----------------------+
-
Выберите идентификатор (
ID
) или имя (NAME
) нужной подсети. -
Измените параметры подсети, например:
yc vpc subnet update e2l2prrbkbim******** \ --new-name test-subnet-renamed \ --labels new_label=test_label
Результат:
id: e2l2prrbkbim******** folder_id: b1g6ci08ma55******** created_at: "2018-10-24T13:54:10Z" name: test-subnet-renamed description: My test subnet labels: new_label: test_label network_id: enplom7a98s1******** zone_id: ru-central1-a v4_cidr_blocks: - 192.168.0.0/24
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
-
Откройте файл конфигурации Terraform и измените фрагмент с описанием подсети:
... resource "yandex_vpc_subnet" "lab-subnet-a" { name = "subnet-1" description = "My first subnet" v4_cidr_blocks = ["10.2.0.0/16"] zone = "ru-central1-a" network_id = "${yandex_vpc_network.lab-net.id}" } ...
Более подробную информацию о параметрах ресурса
yandex_vpc_subnet
в Terraform см. в документации провайдера . -
Проверьте конфигурацию командой:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминал слово
yes
и нажмите Enter.Проверить изменение подсети можно в консоли управления
или с помощью команды CLI:yc vpc subnet get <имя_подсети>
Чтобы изменить подсеть, воспользуйтесь методом REST API update для ресурса Subnet или вызовом gRPC API SubnetService/Update и передайте в запросе:
-
Идентификатор изменяемой подсети в параметре
subnetId
.Чтобы узнать идентификатор подсети, воспользуйтесь методом REST API list для ресурса Subnet или вызовом gRPC API SubnetService/List и передайте в запросе идентификатор каталога в параметре
folderId
.О том, как узнать идентификатор каталога, читайте в разделе Получение идентификатора каталога.
-
Новые настройки подсети по необходимости:
- имя в параметре
name
; - описание в параметре
description
; - метки подсети в параметре
labels
; - идентификатор таблицы маршрутизации в параметре
routeTableId
; - настройки DHCP в параметре
dhcpOptions
.
- имя в параметре
-
Список настроек, которые необходимо изменить, в параметре
updateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Примеры
Изменение подсети с использованием флага имени
Можно изменять подсеть, используя ее имя вместо идентификатора:
yc vpc subnet update test-subnet-1 \
--new-name test-subnet-renamed \
--labels new_label=test_label
Результат:
id: e2l2prrbkbim********
folder_id: b1g6ci08ma55********
created_at: "2018-10-24T13:54:10Z"
name: test-subnet-renamed
description: My test subnet
labels:
new_label: test_label
network_id: enplom7a98s1********
zone_id: ru-central1-a
v4_cidr_blocks:
- 192.168.0.0/24
Идентификатор и имя подсети можно передавать не только как позиционный аргумент, но и с помощью флагов --id
и --name
:
yc vpc network update \
--id enpavfmgapum******** \
--new-name test-network-renamed \
--labels new_label=test_label
yc vpc network update \
--name test-network-1 \
--new-name test-network-renamed \
--labels new_label=test_label