Руководство по сетевым технологиям AWS.

Привет читателям,
Когда мы начинаем изучать AWS, первое, что мы должны изучить, это концепции сетевого взаимодействия. Как только вы откроете учетную запись AWS, вам придется создать свое сетевое пространство или вы можете использовать VPC по умолчанию.

Если вам нужна практическая работа с этими сервисами, вы можете открыть бесплатный уровень учетной записи в AWS и изучить множество продуктов, не потратив ни копейки. Некоторые услуги являются платными, и их тарифы сильно варьируются в зависимости от конкретного региона.

ПРИМЕЧАНИЕ: В этой статье NAT-шлюз является платным. Тем не менее, я бы посоветовал вам использовать AWS ESTIMATE и для других услуг.

В этой статье вы поймете основные сетевые концепции: VPC, подсети (частные, публичные), CIDR, Elastic IP, таблица маршрутизации, NAT-шлюз, интернет-шлюз, группа безопасности, NaCl.

Это будет наш конечный результат

Что такое VPC?

VPC — это способ логического разделения ресурсов при работе в AWS. Вы будете создавать ресурсы внутри VPC, поэтому они не будут доступны извне, пока мы не дадим разрешение. Эти ресурсы могут взаимодействовать только с ресурсами данного VPC.

Для создания VPC мы будем использовать шаблоны мастера VPC. Мы используем шаблон, который создаст для нас VPC с частной и публичной подсетью (об этом будет рассказано через некоторое время).

Перейдите к пункту Launch VPC Wizard:

VPC Creation:

Если вы видите изображение выше, VPC требует диапазон IP-адресов. Этот диапазон настраивается с помощью CIDR. В примере мы будем использовать 10.0.0.0/16 (это означает 65531 уникальный адрес), который может быть использован для множества ресурсов AWS.

Вы можете использовать этот CIDR-калькулятор для расчета диапазона IP-адресов.

Что такое подсеть?

Подсеть — это меньшая часть сети. Мы создаем различные подсети на основе наших сетевых правил и потребностей наших зон доступности.
В нашем примере мы создадим 2 подсети: частную и публичную.

Трафик публичной подсети направляется на интернет-шлюз, чтобы ресурсы этой подсети были доступны из интернета. Она всегда будет иметь публичный IP для связи

Пользователи Интернета → dev.to → публичный IP

Частная подсеть не имеет маршрута к интернет-шлюзу.

Пример: Сервер нашего сайта, который должен быть доступен через интернет, поэтому он будет находиться в публичной подсети. Наши серверы баз данных будут находиться в частной подсети, которая не должна быть доступна через интернет.

В примере мы даем 251 IP-адрес обеим подсетям и зоне доступности us-east-1. Вы можете выбирать в зависимости от потребности в ресурсах и их доступности.

Вы можете выбрать разные зоны доступности для разных подсетей.

Что такое интернет-шлюз?

Ресурс AWS, предоставляющий доступ подсети к публичному интернету. Мы выбрали шаблон публичной подсети, поэтому AWS создаст его для нас и прикрепит к публичной подсети.
Вы можете прикрепить интернет-шлюз к любой подсети, и она станет публичной подсетью. Не пытайтесь прикрепить шлюз к вашим серверам баз данных 😜. Это может вызвать проблемы с безопасностью ваших серверов баз данных.

Что такое шлюз NAT или экземпляр NAT?

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

Пример: Серверы баз данных нуждаются в исправлениях и им необходимо загрузить некоторые пакеты из Интернета. В этом случае нам придется использовать NAT-шлюз. Он всегда будет иметь публичный IP для связи с интернетом.
Мы также можем использовать экземпляры NAT. Нам просто нужно подключить его к нашей частной подсети. Тогда ресурсы частной подсети будут общаться с Интернетом через NAT-шлюз.

Мы должны выбрать публичную подсеть во время создания NAT шлюза. Каждый NAT-шлюз создается в определенной зоне доступности и реализуется с избыточностью в этой зоне.
Несколько частных подсетей зоны доступности могут совместно использовать этот шлюз NAT.

Если зона доступности NAT выйдет из строя, другие ресурсы зоны доступности потеряют доступ в Интернет. В идеале, мы должны создать NAT для каждой зоны доступности, а ресурсы использовать шлюз NAT в той же зоне доступности.

**

Что такое таблица маршрутизации?

**
Таблица маршрутизации — это то, что решает, как трафик проходит между подсетями. Таблица маршрутизации должна быть создана для того, чтобы определить, куда службы могут получить доступ.

Присоединение интернет-шлюза, присоединение NAT-шлюза, переходный шлюз — все это входит в таблицу маршрутизации для определения правил маршрутизации.

Всякий раз, когда мы создаем VPC, AWS создает для нас основную таблицу маршрутов по умолчанию. Если нам нужно создать частную подсеть и прикрепить NAT-шлюз, мы должны создать пользовательскую таблицу маршрутизации и прикрепить ее к определенной подсети.

В нашем примере мы используем шаблон публичной/частной подсети, AWS создаст 2 таблицы маршрутизации

для нас. Одна — основная таблица маршрутизации, а другая — пользовательская таблица маршрутизации.

Вы можете перейти в любую подсеть и проверить, какая таблица маршрутизации прикреплена к этой подсети.
В нашем примере перейдите к публичной подсети и проверьте таблицу маршрутизации:

*Выберите публичную подсеть → Прокрутите до конца → Найдите столбец таблицы маршрутизации.
*

Вы увидите, что для доступа в интернет используется главная таблица маршрутизации и маршрут интернет-шлюза. Идентификатор интернет-шлюза может быть другим.

Вы также можете проверить таблицу маршрутов частной подсети. Перейдите в частную подсеть, она будет использовать пользовательскую таблицу маршрутизации и использовать NAT для доступа в интернет. Всякий раз, когда частной подсети понадобится доступ в интернет,

мы должны будем добавить NAT в таблицу маршрутизации подсети.

Если вам нужна пользовательская маршрутизация для ваших подсетей, вам придется создать пользовательскую таблицу маршрутизации и прикрепить ее к определенной подсети.

**

Что такое Elastic IP?

**
Эластичные IP-адреса используются AWS для управления динамическими облачными вычислительными службами. Всякий раз, когда мы создаем экземпляры в публичной подсети, они получают различные публичные IP-адреса. Если нам нужен публичный IP-адрес, который необходимо зафиксировать для какой-то цели, мы должны выделить Elastic IP.

Пример:
Мы используем Elastic IP для создания NAT-шлюза.
Нам нужно взаимодействовать с API сторонних разработчиков, и они могут разрешить только фиксированное количество публичных IP от клиента. В этом случае нам придется выделить Elastic IP и назначить его ресурсу.

Теперь мы переходим к части безопасности VPC:

Что такое группа безопасности?

Группа безопасности — это набор сетевых правил, которые применяются к ресурсу. Группа безопасности отвечает за определение того, какой трафик (на основе порта и протокола) может входить или выходить из определенных ресурсов.

Предположим, вы хотите дать разрешение определенным IP-адресам на доступ к ресурсу через определенный порт. Вам нужно создать группу безопасности с таким разрешением и прикрепить ее к ресурсу. Несколько ресурсов могут использовать одну и ту же группу безопасности.

Входящие правила → Правила входящего трафика ресурса

Исходящие правила → Правила исходящего трафика ресурса

Перейдите к любой группе безопасности → Входящие правила (Правила входящего трафика)

На этом изображении выше мы выбрали только 3 порта для входящего трафика. Для экземпляров базы данных вы откроете определенный порт только для ограниченного числа IP-адресов. Все эти правила входят в группу безопасности.

Что такое NACL?

Сетевые ACL контролируют входящий и исходящий трафик для ваших подсетей.

Это правила по умолчанию, которые поставляются с NACL по умолчанию:

Если нам нужно разрешить доступ к определенному IP-адресу или определенному порту на уровне подсети, мы должны использовать NACL.

В соответствии с документацией AWS:
Мы рекомендуем редко использовать сетевые ACL по следующим причинам: они могут быть сложными в управлении, они не имеют статического характера, каждый IP-адрес должен быть явно открыт в каждом (входящем/исходящем) направлении, и они влияют на всю подсеть.

На приборной панели VPC вы увидите и другие службы, такие как VPN, конечные точки, служба конечных точек, переходный шлюз, пиринг VPC, которые мы не рассматривали в этой статье. Если вы хотите узнать больше об этих службах, дайте мне знать. Я постараюсь написать и о них.

Заключение:

Это было много. Надеюсь, вы смогли понять эти сетевые концепции. Теперь вы можете легко создавать инфраструктуру в AWS с помощью этих знаний.
Большое спасибо за прочтение. Дайте мне знать, если вы нашли это полезным. Это будет мотивировать меня писать больше статей.

Оцените статью
devanswers.ru
Добавить комментарий