Словник для Cloud Networking: VPC, Subnet, Peering і NAT пояснено
Освоєння лексики хмарних мереж англійською мовою — VPC, підмережа, CIDR, NAT, парування, групи безпеки і таблиці маршрутів — з чіткими визначеннями і прикладними реченнями.
У хмарних мережах є словник, який щільний, повний акронімів і легко зловживати ним. Сказати « підмережа не може дістатися до інтернету через таблицю маршрутів » вимагає від вас правильного розуміння і вимовляння цілого ряду слів. У цьому довіднику описано основні слова, що використовуються у хмарних мережах, з прикладами речень, які ви можете використовувати під час викликів і у документації з розробки.
Контейнер: VPC
- ** VPC (Virtual Private Cloud) ** — ваша ізольована приватна мережа у хмарі. Скажи “V-P-C”. “Ми запускаємо все всередині одного VPC на середовище.”
- region — географічне розташування (наприклад, eu- central- 1). * « VPC знаходиться у регіоні Франкфурт. » *
- ** зона доступності (AZ) ** — ізольований центр даних в межах регіону. * “Ми розділилися на підмережі по трьох AZ для стійкості.” *
VPC є межею. Все остальное живет внутри.
«Ми маємо один VPC на середовище, кожен з яких охоплює три зони доступності в регіоні Франкфурта»
Розрізняють: гіпертекстові та гіпертекстові
- ** subnet ** — частина адресного простору VPC. * « Покласти базу даних у приватну підмережу. » *
- ** публічна підмережа ** — має маршрут до інтернету. * « Балансувальник навантаження знаходиться у публічній підмережі. » *
- private subnet — без прямого маршруту до Інтернету. « Сервери програм працюють у приватних підмережах. »
- ** CIDR блок ** — діапазон IP, записаний як
10.0.0.0/16. Скажіть « ten dot oh dot oh dot oh slash sixteen » або « a /16 ». « VPC є /16; кожна підмережа є /24. » - ** адресний простір / діапазон IP ** — набір адрес. * « Ми вичерпували адресний простір. » *
- ** to carve up / to subdivide ** — розділити діапазон. * « Ми розділили / 16 на вісім підмереж / 20. » *
Розрізнення ** публічного проти приватного ** є найважливішим у хмарних мережах — не забувайте про це.
Вхід і вихід: ворота
- ** internet gateway (IGW) ** — дозволяє VPC спілкуватися з загальнодоступним інтернетом. * « Публічні підмережі маршрутизуються через шлюз інтернету. » *
- ** Шлюз NAT ** — надає змогу * приватним * підмережам зв’ язуватися з Інтернетом, але не бути доступними з нього. Скажіть “NAT” (римується з “cat”). “Приватні підмережі використовують NAT-шлюз для вихідного трафіку.”
- egress / outbound — вихідний трафік. « Ми дозволяємо вихід тільки до реєстру пакунків. »
- ** ingress / inbound ** — вхідний трафік. * « Вхід обмежено балансуванням навантаження. » *
Класичний шаблон, в одному реченні:
«Сервери додатків в приватній підмережі досягають інтернету для вихідних викликів через NAT-шлюз, але нічого в інтернеті не може досягти їх безпосередньо»
** NAT ** (Network Address Translation) — це термін, який люди найчастіше не розуміють. Це дозволяє багатьом приватним машинам спільно використовувати один публічний IP-адреса тільки для вихідного трафіку.
Направлення руху: таблиці маршрутів
- ** таблиця маршрутів ** — правила для маршрутизації трафіку. * « Таблиця маршрутів надсилає 0. 0. 0. 0/ 0 до шлюзового пристрою NAT ». *
- ** route ** — одне правило. * « Немає маршруту до інтернету з цієї підмережі. » *
- default route —
0.0.0.0/0, перехоплювач. “Типовий маршрут показує на IGW.” - ** to associate ** — приєднує таблицю маршрутів до підмережі. * « Приєднайте приватну таблицю маршрутів до цих підмереж ». *
- ** blackhole ** — трафік, який не має куди йти. * « Цей маршрут є чорною дірою — шлюз було вилучено. » *
«Транспорт не виходить, тому що таблиця маршрутів підмережі не має стандартного маршруту — це фактично тупик.»
З’єднання мереж: спільне користування і далі
- Перетворення VPC на парний — пряме приватне з’ єднання між двома VPC. “Ми перетворили VPC даних на парний з VPC програми.”
- ** транзитний шлюз ** — концентратор, що з’ єднує багато VPC і локальну мережу. * « Всі VPC під’ єднані до транзитного шлюзового об’ єкта. » *
- ** to peer ** — з’ єднати дві мережі. * « Чи можемо ми з’ єднатися з їх VPC? » *
- ** не- транзитивний ** — підключення не з’ єднується. Якщо A має парний зв’язок з B і B з C, A все ще не може досягти C. “Перинг не транзитивний, тому нам потрібен прямий зв’язок.”
- VPN — зашифрований тунель, часто до on-prem. “On-prem з’єднується через site-to-site VPN.”
- ** Direct Connect / виділене з’ єднання ** — приватна фізична лінія до хмари.
- private endpoint / PrivateLink — приватний доступ до хмарної служби без інтернету. “We hit S3 over a private endpoint.”
Факт, що peering є не-транситивним підриває багато команд — варто сказати вголос в оглядах дизайну.
Контроль доступу: брандмауери
- ** група безпеки ** — брандмауер з можливістю перегляду стану на ресурсі. * « Відкрити порт 443 у групі безпеки. » *
- ** stateful ** — автоматично дозволяється повернення трафіку. * “Групи безпеки мають статус, отже, ви визначаєте правила лише для вхідних повідомлень.” *
- ** NACL (network ACL) ** — брандмауер без стану на рівні підмережі. Скажи “к-а-к-ул” або “Н-А-К-Л”. * “НАКЛ блокує ефемерні порти.” *
- ** stateless ** — ви повинні дозволити обидва напрямки. * “NACLs не мають стану — не забувайте про правило повернення.” *
- ** правило дозволу / заборони ** — * « На цьому порту існує правило заборони ». *
- ** діапазон портів / ефемерні порти ** — порти високого рівня, які клієнти використовуватимуть для відповідей. * « Список NACL знижує діапазон ефемерних портів. » *
Stateful (група безпеки) проти stateless (NACL) є класичним інтерв’ю та зневадження відмінності.
Імена та адреси: DNS
- Розв’язування DNS — перетворення імен в IP-адреси. “DNS не розв’язується всередині VPC.”
- ** private DNS / private hosted zone ** — внутрішні назви. * « Служба має приватну назву DNS. » *
- public IP / private IP — « У нього є лише приватний IP, отже, він не доступний ззовні. »
- ** Еластичний / статичний IP ** — фіксована публічна адреса. * « Шлюз NAT має статичний IP ». *
Фрази для перегляду дизайну або інциденту
- “Це в приватній підмережі без NAT, тому не може дістатися реєстру.”
- “Группа безопасности блокирует входящий сигнал на 5432.”
-
- “Перегляд запущено, але в таблиці маршрутів немає маршруту повернення.” *
- “Ми вичерпували адресний простір — нам потрібен більший CIDR.”
- “Це має бути через PrivateLink, а не через публічний інтернет.”
- “Чорна діра трафіку — маршрут вказує на вилучений шлюз.”
Поширені помилки
- ** Плутанина між IGW і NAT. ** IGW = двосторонній інтернет для * публічних * підмереж; NAT = тільки вихідний для * приватних * підмереж.
- ** Використовуйте « підмережа », якщо маєте на увазі « VPC ». ** VPC — це вся мережа; підмережі — це її частини.
- Забуваючи про парування є неперехідним. A→B і B→C не дає A→C.
- ** Неправильне поєднання груп безпеки і списків NACL. ** Групи безпеки мають стан і відносяться до ресурсів; списки NACL не мають стану і відносяться до підмереж.
- ** Ігнорування таблиці маршрутів. ** Для з’ єднання потрібні * як* правило брандмауера, так і * маршрут.
Ключевые вещи
- VPC є межею; підмережі (публічні/приватні) розділяють її; CIDR визначає діапазони.
- ** IGW ** = інтернет для громадських підмереж; ** NAT ** = тільки вихідний для приватних підмереж.
- ** Таблиці маршрутів ** визначають напрямок руху — якщо немає маршруту, немає з’ єднання.
- ** Піеринг ** не є транзитивним; скористайтеся ** транзитним шлюзом ** або ** PrivateLink ** для отримання додаткової інформації.
- ** Групи безпеки ** мають стан на ресурс; ** NACL ** не мають стану на підмережу.
Завдяки цьому словнику ви зможете діагностувати проблеми з’ єднання і проектувати мережі з впевненістю у будь- якій хмарі.
На практиці: Навігація комунікаційні виклики
Будьмо чесними - коли ви вивчаєте професійну англійську, особливо в швидко розвивається світі хмарних мереж, сам обсяг спеціалізованих термінів може здатися приголомшливим. Це не просто про те, щоб знати * що * щось є; це про розуміння * як * ефективно обговорювати це з вашою командою, і це часто залежить від точної фрази. Поширеною проблемою для розробників з неангломовного середовища не обов’язково розуміння самих технічних визначення, а скоріше те, як носії мови спілкуються з цими поняттями - особливо навколо неоднозначності або потенційних непорозумінь.
Розглянемо такий сценарій: ви переглядаєте запит на збирання (PR), надісланий колегою, який нещодавно приєднався до команди. У PR вводиться нова підмережа у VPC і міститься коментар на зразок « Реалізовано шлюз NAT для вихідного доступу ». Як рецензент, ви можете інстинктивно позначити цю подію як потребуючу пояснення. Однак, ваш колега може сприйняти це як критику, якщо висловити її беззастережно. Замість того, щоб сказати: «Це налаштування NAT неясно - що це за обґрунтування?» (що може відчуватися обвинувальним), більш конструктивним підходом було б: «Чи можемо ми обговорити рішення про використання NAT-шлюзів тут? Я просто намагаюся зрозуміти ширшу мережеву стратегію і переконатися, що вона відповідає нашим вимогам безпеки. Можливо, ми могли б дослідити альтернативні варіанти, якщо вони пропонують кращу продуктивність або економічність. » Це змінює фокус з * вас * судити їхню роботу на * спільне вирішення проблем *.
Інша поширена ситуація виникає в розмовах Slack під час обговорення маршрутизації. Молодший розробник може сказати: « У мене проблеми з отриманням трафіку до підмережі бази даних ». Хоча це технічно вірно, але це не дає повної картини. Докладніше пояснення — « Я підтвердив, що таблиця маршрутів на екземплярі веб- сервера * включає * маршрут призначення для блоку CIDR бази даних, але я підозрюю, що може бути проблема з правилами групи безпеки, які дозволяють трафік з веб- серверів до підмережі бази даних » — надає контекст і негайно направляє зусилля по усуненню несправностей. Ключовим є передбачення потенційних питань або областей заплутаності на основі досвіду та рівня досвіду вашого колеги. Пам’ятайте, чітке спілкування будує довіру і прискорює вирішення проблем.
Нарешті, при написанні описів PR, уникайте надмірно технічного жаргону, якщо це можливо, особливо для більшої аудиторії. Замість « Налаштовано однорангове з’ єднання VPC з оновленнями таблиці маршрутів », спробуйте « Встановлено з’ єднання мережі між середовищами розробки і тестування за допомогою однорангового з’ єднання VPC для спрощення тестування ». Цей варіант є більш доступним і чітко описує мету зміни.
Ось приклад того, як ви можете використовувати terraform для створення простої підмережі:
resource "aws_subnet" "example" {
cidr_block = "10.0.2.0/24"
availability_zone = "us-east-1a"
vpc_id = "vpc-xxxxxxxxxxxxxxxxx" # Replace with your VPC ID
tags = {
Name = "Development Subnet"
}
}
Цей базовий код Terraform демонструє фундаментальну концепцію блоку CIDR підмережі, який є ключовим для розуміння мережевої адресації і маршрутизації.