Один из самых сложных предметов.
VPC (виртуальное частное облако) - это то, как сеть работает в AWS. VPC - это как собственный центр обработки данных внутри AWS. VPC отделяет ресурсы от разных клиентов и разных проектов.
VPC специфичны для региона, и один VPC будет охватывать все зоны доступности в регионе. Вы можете сделать подсети из VPC, подсети относятся к зонам доступности.
Блоки CIDR
При создании VPC необходимо связать для него блок IPv4 CIDR. Блок CIDR должен содержать от 16 до 65 536 IP-адресов (маски сети / 28 и / 16 соответственно). Если вы видите вопрос о размерах блока CIDR, знайте, что он находится между / 28 и / 16. Вы можете прочитать мою статью об IP-адресации, если вам нужно напомнить о блоках CIDR.
Ваш блок CIDR должен находиться в диапазоне частных IP-адресов:
- 10.0.0.0–10.255.255.255, то есть CIDR 10.0.0.0/8
- 172.16.0.0–172.31.255.255, CIDR 172.16.0.0/12
- 192.168.0.0–192.168.255.255, CIDR 192.168.0.0/16
Вы можете добавить несколько блоков CIDR в свой VPC, но блоки CIDR не должны перекрываться. В VPC не может быть одновременно 10.0.0.0/28 и 10.0.0.1/28. Вы никогда не можете изменить диапазон существующего блока CIDR
Размер подсети
Когда вы разделяете IP-сеть на несколько частей, каждая часть называется подсетью. В подсетях есть блоки CIDR, которые являются подмножествами блока CIDR VPC.
Количество доступных IPv4-адресов в блоке CIDR вашей подсети не совсем то, что вы думаете.
В IPv4 / 24 мы ожидаем 256 адресов, 2 ^ (32–24) = 2⁸ = 256. Причина, по которой доступен только 251 адрес, заключается в том, что AWS резервирует некоторые IP-адреса для собственного использования.
5 пропущенных IP-адресов зарезервированы следующим образом:
- 172.31.80.0 используется как сетевой адрес
- 172.31.80.1 зарезервирован для маршрутизатора VPC
- 172.31.80.2 зарезервирован для DNS
- 172.31.80.3 зарезервирован AWS для использования в будущем.
- 172.31.80.255 - сетевой широковещательный адрес. AWS не поддерживает трансляцию, поэтому это зарезервировано.
Если в вопросе спрашивается, какие IP-адреса вы можете использовать, первые 4 IP-адреса зарезервированы, а также последний. Убедитесь, что вы можете переводить блоки CIDR в диапазоны IP-адресов.
Таблицы маршрутов
Таблицы маршрутов определяют, как сетевой трафик из подсетей или Интернета должен направляться в VPC. Каждая подсеть должна быть связана с таблицей маршрутов. Эта таблица маршрутизации будет направлять трафик в подсеть.
Пример
Вот таблица маршрутов для VPC с блоком CIDR 172.31.0.0/16.
В этой таблице маршрутов указано, что трафик к VPC (172.31.0.0/16) является локальным для VPC, а трафик в другом месте (0.0.0.0/0) идет на igw-d2b99dba (это интернет-шлюз , мы обсудим это позже).
Подразумеваемая маршрутизация
В начале этого раздела мы сказали, что каждая подсеть должна быть связана с таблицей маршрутов, но в нашей таблице маршрутов ничего не сказано ни о каких подсетях. Это объясняется следующим изображением:
При создании нового VPC создается основная таблица маршрутов. Вам не нужно явно связывать новую подсеть с таблицей маршрутов, существует автоматическая связь с основной таблицей маршрутов.
Вам не нужно явно определять маршруты для трафика между подсетями. VPC знает, в каких диапазонах существуют ваши подсети, и позаботится об этом за вас.
Таблица основных маршрутов
Предположим, у вас есть две подсети и две таблицы маршрутизации. Первоначально обе подсети имеют неявную связь с таблицей маршрутов A, основной таблицей маршрутов. Мы хотим, чтобы обе подсети были связаны с таблицей маршрутов B.
Мы можем создать явную связь между подсетью 2 и таблицей маршрутов B.
Мы можем изменить основную таблицу маршрутов с A на B, что обновит неявную ассоциацию подсети 1 с A на B.
Мы можем удалить явную связь между подсетью 2 и таблицей B, и она все равно будет иметь неявную связь с таблицей маршрутов.
Таблица маршрутов может быть связана с несколькими подсетями, но подсеть не может быть связана с несколькими таблицами маршрутов.
Заключение
Надеюсь, мои заметки будут вам полезны. Вы можете найти их на GitHub, я постараюсь быть хорошим сопровождающим.
Ссылки:
Как работает VPC, документация AWS
Документы по таблицам маршрутов
Больше контента на plainenglish.io