Brama internetowa i tabele routingu
Dołączą bramę internetową, aby umożliwić wychodzący dostęp do Internetu, oraz skonfigurują tabele routingu dla publicznych podsieci.
Brama internetowa i tabele routingu to bezpłatna lekcja AWS Solutions Architect na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AWS Solutions Architect, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Internet Gateway: drzwi VPC do internetu
Internet Gateway (IGW) to skalowany horyzontalnie, nadmiarowy i wysoce dostępny komponent VPC, który umożliwia komunikację między VPC a internetem. Wykonuje translację adresów sieciowych (NAT) dla instancji z publicznymi adresami IPv4 — podczas ruchu wychodzącego tłumaczy ich prywatny adres IP na Elastic IP lub automatycznie przypisany publiczny adres IP, a podczas ruchu przychodzącego odwraca tę translację. W jednej VPC można używać jednego IGW; dołączenie IGW do VPC nie zapewnia instancjom automatycznie dostępu do internetu — trzeba również zaktualizować tablice routingu i upewnić się, że instancje mają publiczne adresy IP.
# Create and attach an internet gateway
aws ec2 create-internet-gateway \
--tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=prod-igw}]'
aws ec2 attach-internet-gateway \
--internet-gateway-id igw-12345678 \
--vpc-id vpc-12345678Tablice routingu: kierowanie ruchu
Tablica routingu to zestaw reguł (tras) określających, dokąd kierowany jest ruch sieciowy z podsieci lub bramy. Każda VPC ma główną tablicę routingu, z której domyślnie korzystają wszystkie podsieci, chyba że jawnie powiążesz podsieć z inną tablicą routingu. Trasy mają miejsce docelowe (blok CIDR) i cel (local, internet gateway, NAT gateway, połączenie peeringowe itd.). Gdy wiele tras pasuje do miejsca docelowego pakietu, wybierana jest najbardziej szczegółowa trasa (najdłuższe dopasowanie prefiksu).
# Create a route table for public subnets
aws ec2 create-route-table \
--vpc-id vpc-12345678 \
--tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=public-rt}]'Udostępnianie podsieci publicznej
Podsieć jest publiczna, jeśli powiązana z nią tablica routingu zawiera trasę dla 0.0.0.0/0 (całego ruchu internetowego) wskazującą Internet Gateway. Aby utworzyć publiczną podsieć, wykonaj trzy kroki: (1) utwórz niestandardową tablicę routingu z trasą 0.0.0.0/0 → IGW; (2) powiąż tablicę routingu z podsiecią; oraz (3) włącz automatyczne przypisywanie publicznych adresów IPv4 w podsieci, aby uruchamiane w niej instancje automatycznie otrzymywały publiczny adres IP. Dopiero wszystkie trzy kroki razem tworzą działającą publiczną podsieć.
# Add internet route to the public route table
aws ec2 create-route \
--route-table-id rtb-12345678 \
--destination-cidr-block 0.0.0.0/0 \
--gateway-id igw-12345678
# Associate the route table with a public subnet
aws ec2 associate-route-table \
--route-table-id rtb-12345678 \
--subnet-id subnet-public-1a
# Enable auto-assign public IP for the subnet
aws ec2 modify-subnet-attribute \
--subnet-id subnet-public-1a \
--map-public-ip-on-launchTrasa lokalna
Każda tablica routingu automatycznie zawiera trasę lokalną (np. 10.0.0.0/16 → local), która umożliwia komunikację między wszystkimi zasobami w VPC. Tej trasy nie można usunąć ani zmodyfikować. Dzięki niej instancje w dowolnej podsieci VPC mogą komunikować się ze sobą za pomocą prywatnych adresów IP bez przechodzenia przez jakąkolwiek bramę. Trasa lokalna zawsze ma pierwszeństwo przed trasami niestandardowymi dla ruchu kierowanego do zakresu CIDR VPC.
# Describe the routes in a route table
aws ec2 describe-route-tables \
--route-table-ids rtb-12345678 \
--query 'RouteTables[0].Routes'
# Typical output shows:
# {DestinationCidrBlock: '10.0.0.0/16', GatewayId: 'local'}
# {DestinationCidrBlock: '0.0.0.0/0', GatewayId: 'igw-12345678'}Priorytet tras i najdłuższe dopasowanie prefiksu
Gdy pakiet może pasować do wielu tras w tablicy routingu, AWS wybiera trasę z najbardziej szczegółowym prefiksem (najdłuższym pasującym prefiksem). Przykład: jeśli istnieją trasy 10.0.0.0/8 → peering oraz 10.1.0.0/16 → VPN, pakiet kierowany do 10.1.0.5 pasuje do obu, ale trasa /16 jest bardziej szczegółowa (ma dłuższy prefiks) i zostaje wybrana. Jeśli trasy mają prefiksy o tej samej długości, pierwszeństwo mają bardziej szczegółowe typy bram: local > VGW propagated > static. Zrozumienie tej zasady jest ważne podczas projektowania złożonych sieci z dołączonymi połączeniami peeringowymi, VPN i DX.
IPv6 i bramy tylko do internetu
VPC obsługują bloki CIDR IPv6 (dostarczane przez Amazon /56) równolegle z IPv4. W przypadku dostępu IPv6 do internetu IGW obsługuje zarówno IPv4, jak i IPv6. W przypadku ruchu wychodzącego tylko IPv6 (gdy instancje mogą inicjować wychodzące połączenia IPv6, ale połączenia przychodzące są blokowane) należy użyć Egress-Only Internet Gateway — funkcjonalnie przypomina ona bramę NAT dla prywatnych podsieci IPv4, ale jest przeznaczona wyłącznie dla IPv6. Dodaj trasę ::/0 → eigw-xxxxxxxx do prywatnych podsieci, aby włączyć wychodzący dostęp IPv6 bez narażania instancji na przychodzące połączenia IPv6.
# Create an Egress-Only IGW for IPv6
aws ec2 create-egress-only-internet-gateway \
--vpc-id vpc-12345678
# Add IPv6 route in private subnet route table
aws ec2 create-route \
--route-table-id rtb-private \
--destination-ipv6-cidr-block '::/0' \
--egress-only-internet-gateway-id eigw-12345678Tablice routingu bramy
Tablice routingu bramy to tablice routingu powiązane bezpośrednio z Internet Gateway lub Virtual Private Gateway (a nie z podsiecią). Umożliwiają routing przychodzący — sprawdzanie ruchu przychodzącego do VPC z internetu, zanim dotrze on do instancji EC2. Stosuje się je w przypadku umieszczonych inline urządzeń zabezpieczających (IDS/IPS, wirtualnych urządzeń firewall), które muszą widzieć cały ruch przychodzący: skonfiguruj tablicę routingu IGW tak, aby kierowała ruch przychodzący do punktu końcowego Gateway Load Balancer, który rozdziela go między urządzenia zabezpieczające, a następnie, po przeprowadzeniu inspekcji, urządzenia przekazują go do docelowej instancji EC2.
Propagacja tras przez VPN/DX
Po połączeniu sieci lokalnej za pośrednictwem VPN lub Direct Connect trasy do sieci lokalnej mogą być automatycznie propagowane do tablic routingu VPC za pomocą propagacji tras. Włącz propagację w tablicy routingu dla Virtual Private Gateway (VGW), a wszystkie trasy rozgłaszane przez router lokalny za pomocą BGP pojawią się automatycznie w tablicy routingu — bez konieczności ręcznego dodawania tras. Jest to szczególnie przydatne w dynamicznych środowiskach, w których podsieci lokalne ulegają zmianom. W przypadku statycznych połączeń VPN trasy CIDR do sieci lokalnej należy dodać ręcznie.
# Enable route propagation from a Virtual Private Gateway
aws ec2 enable-vgw-route-propagation \
--route-table-id rtb-12345678 \
--gateway-id vgw-12345678Najlepsza praktyka: wiele tablic routingu
Najlepszą praktyką jest tworzenie osobnych tablic routingu dla każdej warstwy: jednej dla podsieci publicznych (z trasą do IGW), jednej dla prywatnych podsieci aplikacyjnych (z trasą do bramy NAT) oraz jednej dla prywatnych podsieci danych (bez trasy do internetu — tylko punkty końcowe VPC). Dzięki temu instancje warstwy danych nie mogą przypadkowo połączyć się z internetem, nawet jeśli nieprawidłowo skonfigurowana grupa zabezpieczeń zezwala na ruch wychodzący — tablica routingu po prostu nie zawiera ścieżki na zewnątrz. Rozdzielenie tablic routingu ułatwia również audyt wzorców dostępu do sieci dla poszczególnych warstw.
Trasy punktów końcowych VPC
Po utworzeniu bramy VPC typu Gateway dla S3 lub DynamoDB AWS automatycznie dodaje do określonych tablic routingu trasę, której miejscem docelowym jest zarządzana przez usługę lista prefiksów, a celem — punkt końcowy VPC. Ta trasa zapewnia, że ruch do S3 lub DynamoDB z tych podsieci przechodzi przez prywatną sieć AWS zamiast przez internet. Punkty końcowe typu Gateway są bezpłatne i mogą znacznie obniżyć koszty bramy NAT, jeśli instancje generują duży ruch do S3. W produkcyjnych VPC zawsze dodawaj bramy typu Gateway dla S3 i DynamoDB do tablic routingu prywatnych podsieci.
# Create S3 gateway endpoint and add to route tables
aws ec2 create-vpc-endpoint \
--vpc-id vpc-12345678 \
--service-name com.amazonaws.us-east-1.s3 \
--route-table-ids rtb-private-app rtb-private-dataTrasy blackhole do inżynierii ruchu
Trasa blackhole to trasa, której cel jest nieosiągalny — używana celowo do odrzucania ruchu. AWS tworzy trasy blackhole, gdy cel trasy (np. połączenie VPN lub dołączony Transit Gateway) zostanie usunięty, ale sama trasa pozostanie. Można również celowo tworzyć trasy blackhole, aby blokować określone zakresy adresów IP z poziomu VPC. Jest to mechanizm kontroli ruchu na poziomie sieci, odrębny od grup zabezpieczeń i NACL. W AWS trasy blackhole są widoczne w konsoli, gdy punkt końcowy lub brama wskazane przez trasę stają się niedostępne.
Szybki test
Sprawdź swoją wiedzę na temat zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji poznano następujące zagadnienia: Internet Gateway umożliwia komunikację VPC z internetem i musi być dołączony do VPC oraz wskazany w tablicy routingu podsieci za pomocą trasy 0.0.0.0/0, tablice routingu kontrolują kierunek ruchu za pomocą par miejsce docelowe–cel, a priorytet ustalany jest na podstawie najdłuższego dopasowania prefiksu oraz osobne tablice routingu dla poszczególnych warstw podsieci wymuszają izolację ruchu na poziomie architektury. W następnej części omówimy bramy NAT zapewniające prywatnym podsieciom dostęp do internetu.
Często zadawane pytania
Czy lekcja „Brama internetowa i tabele routingu” jest bezpłatna?
Tak — pełny tekst „Brama internetowa i tabele routingu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AWS Solutions Architect, przejdź na CoddyKit PRO. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Co nauczysz się w „Brama internetowa i tabele routingu”?
Dołączą bramę internetową, aby umożliwić wychodzący dostęp do Internetu, oraz skonfigurują tabele routingu dla publicznych podsieci. Ćwiczysz AWS Solutions Architect z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AWS Solutions Architect?
Nie wymagamy żadnego doświadczenia. AWS Solutions Architect w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Brama internetowa i tabele routingu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AWS Solutions Architect?
Tak. Każda lekcja AWS Solutions Architect zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Architektura VPC i bloki CIDR
- Brama internetowa i tabele routingu
- Brama NAT i prywatne podsieci
- Listy ACL sieci a grupy zabezpieczeń