Создать подсеть
Подсети создаются в облачных сетях. Созданная подсеть размещается в одной из зон доступности. К подсети можно подключить ресурсы из той же зоны, где находится подсеть.
-
В консоли управления
перейдите в каталог, где требуется создать подсеть. -
В списке сервисов выберите Virtual Private Cloud.
-
На панели слева выберите
Подсети. -
Справа сверху нажмите Создать.
-
В поле Имя укажите название подсети. Требования к названию:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) В поле Описание добавьте описание.
-
В поле Зона выберите зону доступности из выпадающего списка.
-
В поле Сеть укажите облачную сеть. Она должна быть создана заранее.
-
В поле CIDR введите IP-адрес и маску подсети.
Подробнее про диапазоны IP-адресов в подсетях читайте в разделе Облачные сети и подсети.
Если нужно указать еще один или несколько CIDR, нажмите Добавить CIDR. -
(Опционально) Задайте Настройки DHCP. Для этого:
- В поле Доменное имя укажите домен DNS для поиска неквалифицированных имен.
- В поле Серверы доменных имен нажмите Добавить сервер доменных имен и укажите адрес вашего DNS-сервера. Можно указать несколько DNS-серверов.
- В поле NTP-серверы нажмите Добавить NTP-сервер и укажите адрес вашего NTP-сервера. Можно указать несколько NTP-серверов.
-
Нажмите Создать подсеть.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать подсеть:
-
Посмотрите описание команды CLI для создания подсети:
yc vpc subnet create --help
-
Получите список облачных сетей в требуемом каталоге:
yc vpc network list --folder-id b1g6ci08ma55********
Результат:
+----------------------+----------------+ | ID | NAME | +----------------------+----------------+ | enpavfmgapum******** | test-network-1 | | enplom7a98s1******** | default | +----------------------+----------------+
-
Выберите
NAME
илиID
требуемой облачной сети. Создайте подсеть в каталоге по умолчанию:yc vpc subnet create \ --name test-subnet-1 \ --description "My test subnet" \ --network-id enplom7a98s1******** \ --zone ru-central1-a \ --range 192.168.0.0/24
Где:
--network-id
— идентификатор облачной сети. Также можно выбрать облачную сеть, указав ее имя с помощью флага--network-name
. При создании подсети указывается имя облачной сети, в которой создается подсеть, и CIDR.--zone
— зона доступности, в которой создается подсеть. Если флаг не указан, подсеть будет создана в зоне доступности по умолчанию.--range
— список внутренних IPv4-адресов, определенных для данной подсети. Например,10.0.0.0/22
или192.168.0.0/16
. Адреса должны быть уникальными внутри сети. Минимальный размер подсети — /28, а максимальный размер подсети — /16. Поддерживается только IPv4.
Требования к названию подсети:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
yc vpc subnet create \ --name test-subnet-1 \ --description "My test subnet" \ --network-name test-network-1 \ --zone ru-central1-a \ --range 192.168.0.0/24
Флаги
--name
и--description
необязательные — можно создать подсеть без имени и описания и обращаться к ней по идентификатору. -
Получите список всех подсетей в каталоге по умолчанию:
yc vpc subnet list
Результат:
+----------------------+-----------------------+------------------------+ | ID | NAME | ... | RANGE | +----------------------+-----------------------+------------------------+ ... | e2l0psbfoloe******** | test-subnet-1 | ... | [192.168.0.0/24] | ... +----------------------+-----------------------+-----+------------------+
Получите тот же список с большим количеством деталей в формате YAML:
yc vpc subnet list --format yaml
Результат:
... - id: e2l0psbfoloe******** folder_id: b1g6ci08ma55******** created_at: "2018-10-24T12:25:58Z" name: test-subnet-1 description: My test subnet network_id: enplom7a98s1******** zone_id: ru-central1-a v4_cidr_blocks: - 192.168.0.0/24 ...
Terraform
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры подсети:
-
name
— имя подсети. Требования к имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
description
— описание подсети. -
v4_cidr_blocks
— список IPv4-адресов, откуда или куда будет поступать трафик. Например,10.0.0.0/22
или192.168.0.0/16
. Адреса должны быть уникальными внутри сети. Минимальный размер подсети —/28
, а максимальный размер подсети —/16
. Поддерживается только IPv4. -
zone
— зона доступности. -
network_id
— идентификатор сети, в которой создается подсеть.
Пример структуры конфигурационного файла:
resource "yandex_vpc_subnet" "lab-subnet-a" { name = "<имя_подсети>" description = "<описание_подсети>" v4_cidr_blocks = ["<IPv4-адрес>"] zone = "<зона_доступности>" network_id = "<идентификатор_сети>" }
Чтобы добавить, изменить или удалить подсеть, используйте ресурс
yandex_vpc_subnet
с указанием на сеть в полеnetwork_id
(см. пример).Более подробную информацию о параметрах ресурса
yandex_vpc_subnet
в Terraform см. в документации провайдера . -
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
или с помощью команд CLI:yc vpc subnet list
-
Чтобы создать подсеть, воспользуйтесь методом REST API create для ресурса Subnet или вызовом gRPC API SubnetService/Create и передайте в запросе:
- Идентификатор каталога, в котором будет размещена подсеть, в параметре
folderId
. - Идентификатор сети, в которой будет размещена подсеть, в параметре
networkId
. - Идентификатор зоны доступности, в которой будет размещена подсеть, в параметре
zoneId
. - Список внутренних IPv4-адресов, определенных для данной подсети, в массиве
v4CidrBlocks[]
. Например,10.0.0.0/22
или192.168.0.0/16
. Адреса должны быть уникальными внутри сети. Минимальный размер подсети —/28
, а максимальный размер подсети —/16
. Поддерживается только IPv4.
Чтобы узнать идентификатор подсети, воспользуйтесь методом REST API list для ресурса Subnet или вызовом gRPC API SubnetService/List и передайте в запросе идентификатор каталога в параметре folderId
.
О том, как узнать идентификатор каталога, читайте в разделе Получение идентификатора каталога.
Примеры
Создайте подсеть с именем и описанием в выбранном каталоге:
yc vpc subnet create \
--name test-subnet-1 \
--description "My test subnet" \
--folder-id b1g6ci08ma55******** \
--network-id enplom7a98s1******** \
--zone ru-central1-a \
--range 192.168.0.0/24
Создайте подсеть с настройками DHCP:
yc vpc subnet create \
--name test-subnet-1 \
--description "My test subnet" \
--folder-id b1g6ci08ma55******** \
--network-id enplom7a98s1******** \
--zone ru-central1-a \
--range 192.168.0.0/24 \
--domain-name test.domain \
--domain-name-server 192.168.0.100 \
--ntp-server 192.168.0.101
-
Опишите в конфигурационном файле параметры ресурса
yandex_vpc_subnet
:resource "yandex_vpc_network" "lab-net" { name = "network-1" description = "My first network" } 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}" }
Более подробную информацию о параметрах ресурсов в Terraform см. в документации провайдера
. -
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов: введите в терминал слово
yes
и нажмите Enter.После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
или с помощью команд CLI:yc vpc subnet list
-