AWS - VPC & Networking Basic Information
AWS Networking в двох словах
VPC містить мережевий CIDR, наприклад, 10.0.0.0/16 (з його таблицею маршрутизації та мережевим ACL).
Ця мережа VPC розділена на підмережі, тому підмережа безпосередньо пов'язана з VPC, таблицею маршрутизації та мережевим ACL.
Потім, мережеві інтерфейси, прикріплені до сервісів (наприклад, EC2 instances), підключені до підмереж з групами безпеки.
Таким чином, група безпеки обмежить відкриті порти мережевих інтерфейсів, що її використовують, незалежно від підмережі. А мережевий ACL буде обмежувати відкриті порти для всієї мережі.
Крім того, для доступу до Інтернету є кілька цікавих конфігурацій, які варто перевірити:
Підмережа може автоматично призначати публічні IPv4 адреси
Інстанс, створений у мережі, яка автоматично призначає IPv4 адреси, може отримати одну
Інтернет-шлюз повинен бути прикріплений до VPC
Ви також можете використовувати Egress-only internet gateways
Ви також можете мати NAT-шлюз у приватній підмережі, щоб мати можливість підключатися до зовнішніх сервісів з цієї приватної підмережі, але неможливо досягти їх ззовні.
NAT-шлюз може бути публічним (доступ до Інтернету) або приватним (доступ до інших VPC)
VPC
Amazon Virtual Private Cloud (Amazon VPC) дозволяє вам запускати ресурси AWS у віртуальній мережі, яку ви визначили. Ця віртуальна мережа матиме кілька підмереж, Інтернет-шлюзів для доступу до Інтернету, ACL, групи безпеки, IP-адреси...
Підмережі
Підмережі допомагають забезпечити вищий рівень безпеки. Логічне групування подібних ресурсів також допомагає підтримувати легкість управління вашою інфраструктурою.
Дійсні CIDR від /16 до /28.
Підмережа не може бути в різних зонах доступності одночасно.
AWS резервує перші три IP-адреси хостів кожної підмережі для внутрішнього використання AWS: перша адреса хоста використовується для маршрутизатора VPC. Друга адреса зарезервована для AWS DNS, а третя адреса зарезервована для майбутнього використання.
Підмережі, які мають прямий доступ до Інтернету, називаються публічними, тоді як приватні підмережі не мають такого доступу.
Таблиці маршрутизації
Таблиці маршрутизації визначають маршрутизацію трафіку для підмережі в VPC. Вони визначають, який мережевий трафік буде пересилатися в Інтернет або до VPN-з'єднання. Зазвичай ви знайдете доступ до:
Локальний VPC
NAT
Інтернет-шлюзи / Egress-only Internet gateways (необхідні для надання VPC доступу до Інтернету).
Щоб зробити підмережу публічною, вам потрібно створити та прикріпити Інтернет-шлюз до вашого VPC.
VPC endpoints (для доступу до S3 з приватних мереж)
На наступних зображеннях ви можете побачити різницю між типовою публічною мережею та приватною:
ACLs
Network Access Control Lists (ACLs): Мережеві ACL - це правила брандмауера, які контролюють вхідний та вихідний мережевий трафік до підмережі. Вони можуть використовуватися для дозволу або заборони трафіку до певних IP-адрес або діапазонів.
Найчастіше доступ дозволяється/забороняється за допомогою груп безпеки, але це єдиний спосіб повністю зупинити встановлені зворотні оболонки. Змінене правило в групах безпеки не зупиняє вже встановлені з'єднання.
Однак це стосується всієї підмережі, будьте обережні при забороні, оскільки необхідна функціональність може бути порушена.
Групи безпеки
Групи безпеки - це віртуальний брандмауер, який контролює вхідний та вихідний мережевий трафік до інстансів у VPC. Відношення 1 SG до M інстансів (зазвичай 1 до 1). Зазвичай це використовується для відкриття небезпечних портів в інстансах, таких як порт 22, наприклад:
Elastic IP Addresses
Elastic IP address - це статична IPv4 адреса, призначена для динамічного хмарного обчислення. Elastic IP address виділяється вашому обліковому запису AWS і залишається вашою, поки ви її не звільните. Використовуючи Elastic IP address, ви можете маскувати відмову інстансу або програмного забезпечення, швидко перенаправляючи адресу на інший інстанс у вашому обліковому записі.
З'єднання між підмережами
За замовчуванням, у всіх підмережах автоматичне призначення публічних IP-адрес вимкнено, але його можна увімкнути.
Локальний маршрут у таблиці маршрутизації дозволяє спілкування між підмережами VPC.
Якщо ви з'єднуєте підмережу з іншою підмережею, ви не можете отримати доступ до підмереж, підключених до іншої підмережі, вам потрібно створити з'єднання з ними безпосередньо. Це також стосується інтернет-шлюзів. Ви не можете пройти через з'єднання підмережі для доступу до Інтернету, вам потрібно призначити інтернет-шлюз вашій підмережі.
VPC Peering
VPC peering дозволяє вам підключити два або більше VPC разом, використовуючи IPV4 або IPV6, як якщо б вони були частиною однієї мережі.
Після встановлення з'єднання peer, ресурси в одному VPC можуть отримати доступ до ресурсів в іншому. З'єднання між VPC реалізується через існуючу інфраструктуру мережі AWS, тому воно є високодоступним без вузьких місць пропускної здатності. Оскільки з'єднання peer працюють як частина однієї мережі, є обмеження щодо діапазонів CIDR, які можна використовувати. Якщо у вас є перекриваючі або дублюючі діапазони CIDR для вашого VPC, то ви не зможете з'єднати VPC разом. Кожен AWS VPC буде спілкуватися лише зі своїм peer. Наприклад, якщо у вас є з'єднання peer між VPC 1 і VPC 2, і ще одне з'єднання між VPC 2 і VPC 3, як показано, то VPC 1 і 2 можуть спілкуватися один з одним безпосередньо, як і VPC 2 і VPC 3, однак, VPC 1 і VPC 3 не можуть. Ви не можете маршрутизувати через один VPC, щоб дістатися до іншого.
VPC Flow Logs
У вашому VPC потенційно можуть бути сотні або навіть тисячі ресурсів, які спілкуються між різними підмережами як публічними, так і приватними, а також між різними VPC через з'єднання VPC peering. VPC Flow Logs дозволяють вам захоплювати інформацію про IP-трафік, який проходить між мережевими інтерфейсами ваших ресурсів у вашому VPC.
На відміну від S3 access logs та CloudFront access logs, дані журналу, згенеровані VPC Flow Logs, не зберігаються в S3. Натомість, захоплені дані журналу надсилаються до CloudWatch logs.
Обмеження:
Якщо ви використовуєте з'єднання VPC peering, то ви зможете бачити журнали потоку лише для VPC peer, які знаходяться в одному обліковому записі.
Якщо ви все ще використовуєте ресурси в середовищі EC2-Classic, то, на жаль, ви не зможете отримати інформацію з їхніх інтерфейсів.
Після створення VPC Flow Log його не можна змінити. Щоб змінити конфігурацію VPC Flow Log, вам потрібно видалити його і створити новий.
Наступний трафік не контролюється і не захоплюється журналами. DHCP-трафік у VPC, трафік з інстансів, призначений для Amazon DNS Server.
Будь-який трафік, призначений для IP-адреси маршрутизатора за замовчуванням VPC, і трафік до і з наступних адрес, 169.254.169.254, який використовується для збору метаданих інстансу, і 169.254.169.123, який використовується для Amazon Time Sync Service.
Трафік, пов'язаний з активацією ліцензії Amazon Windows з Windows інстансу.
Трафік між інтерфейсом мережевого балансувальника навантаження і інтерфейсом кінцевої точки.
Для кожного мережевого інтерфейсу, який публікує дані до групи журналів CloudWatch, буде використовуватися окремий потік журналів. І в кожному з цих потоків будуть дані подій журналу потоку, які показують вміст записів журналу. Кожен з цих журналів захоплює дані протягом вікна приблизно 10-15 хвилин.
VPN
Основні компоненти AWS VPN
Customer Gateway:
Customer Gateway - це ресурс, який ви створюєте в AWS, щоб представляти вашу сторону VPN-з'єднання.
Це, по суті, фізичний пристрій або програмне забезпечення на вашій стороні з'єднання Site-to-Site VPN.
Ви надаєте інформацію про маршрутизацію та публічну IP-адресу вашого мережевого пристрою (наприклад, маршрутизатора або брандмауера) до AWS для створення Customer Gateway.
Це служить точкою відліку для налаштування VPN-з'єднання і не несе додаткових витрат.
Virtual Private Gateway:
Virtual Private Gateway (VPG) - це VPN-концентратор на стороні Amazon з'єднання Site-to-Site VPN.
Він прикріплений до вашого VPC і служить ціллю для вашого VPN-з'єднання.
VPG - це кінцева точка на стороні AWS для VPN-з'єднання.
Він обробляє безпечне спілкування між вашим VPC і вашою локальною мережею.
Site-to-Site VPN Connection:
Site-to-Site VPN-з'єднання з'єднує вашу локальну мережу з VPC через безпечний тунель IPsec VPN.
Цей тип з'єднання вимагає Customer Gateway і Virtual Private Gateway.
Використовується для безпечного, стабільного та постійного спілкування між вашим дата-центром або мережею та вашим середовищем AWS.
Зазвичай використовується для регулярних, довгострокових з'єднань і оплачується на основі обсягу даних, переданих через з'єднання.
Client VPN Endpoint:
Client VPN endpoint - це ресурс, який ви створюєте в AWS для увімкнення та управління сесіями клієнтського VPN.
Використовується для дозволу ок
Last updated