Кратко:

  • Виртуальные серверы используют виртуальные сети для связи друг с другом.
  • Виртуальные машины и базы данных в одной облачной сети видят друг друга, а в разных сетях - нет.
  • Для соединения нескольких виртуальных машин нужно создать облачную сеть.
  • Можно выбрать диапазон IP-адресов для каждой подсети.
  • Допустимая длина префикса варьируется от /16 до /28.
  • Внутренние IP-адреса не меняются в течение всего времени существования облачного ресурса.
  • Можно выдать виртуальной машине или базе данных публичный IP-адрес для обмена данными с интернетом и другими облачными сетями.

Виртуальные сети, подсети, IP-адресация

Сети и подсети

Физические серверы в дата-центрах соединяются друг с другом с помощью сети. Виртуальным серверам тоже нужно общаться друг с другом, поэтому для них поверх физической сети построена своя, виртуальная сеть. Она гарантирует, что нужные виртуальные машины смогут передавать данные друг другу, выходить в интернет и подключаться к базам данных, при этом владельцы «соседних» виртуальных машин не смогут увидеть этот трафик или повлиять на него.
Чтобы соединить несколько виртуальных машин, нужно создать облачную сеть. Ресурсы типа виртуальных машин и баз данных, находящиеся в одной облачной сети, по умолчанию «видят» друг друга, а находящиеся в разных сетях — нет. Кроме облачной сети, надо создать ещё и подсети — подмножество сети в конкретной зоне доступности. По умолчанию создаётся по одной подсети для каждой зоны, но вы можете этим управлять, если захотите.

IP-адреса

При создании подсети вы можете выбрать, какие IP-адреса будут выдаваться устройствам в этой подсети. Для этого можно выбрать любой диапазон адресов, вложенный в один из следующих: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Это не случайные диапазоны: они зафиксированы в стандарте RFC1918 как немаршрутизируемые в интернете и используются только в локальных сетях.
Стоит учесть, что:
  • Допустимая длина префикса варьируется от /16 до /28. Подсеть 10.0.0.0/17 создать можно, а 10.0.0.0/15 или 10.0.0.0/29 — нет.
  • Первые два адреса подсети выделяются под шлюз (x.x.x.1 для маски сети /24) и DNS-сервер (x.x.x.2 для маски сети /24). Использовать их для виртуальных машин или других ресурсов не получится.
  • Внутри одной облачной сети диапазоны IP-адресов всех подсетей не должны пересекаться. В то же время подсети разных облачных сетей могут пересекаться по IP-адресам, ведь две разные сети изолированы друг от друга.
  • В Yandex Cloud пока используются только IPv4-адреса. Поддержка IPv6 планируется в будущем.
Внутренние IP-адреса не меняются в течение всего времени существования облачного ресурса. При создании виртуальной машины или другого ресурса их можно задать вручную, или они будут выбраны автоматически в выбранной подсети.
Кроме внутреннего адреса, вы можете выдать виртуальной машине или базе данных также и публичный IP-адрес. Он будет уже принадлежать маршрутизируемому диапазону (например 130.193.32.0/19), и благодаря этому адресу облачные ресурсы могут обмениваться данными с интернетом и с ресурсами из других облачных сетей. Публичные адреса сопоставляются с внутренними адресами ресурсов с помощью так называемого one-to-one NAT, т. е. одному внешнему адресу соответствует один ресурс в конкретной облачной сети. Подробнее о публичных адресах вы узнаете на одном из следующих уроков.