NAT Gateway
NAT Gateway
Zapewnij instancjom w prywatnych subnetach dostep do internetu bez eksponowania ich na ruch przychodzacy. Zarzadzany, skalowalny i bezobslugowy.
NAT Gateway (Network Address Translation Gateway) to zarzadzany serwis AWS umozliwiajacy zasobom w prywatnych subnetach komunikacje wychodzaca z internetem. Instancje w prywatnym subnecie nie maja publicznego IP - NAT Gateway tlumaczy ich prywatne adresy na publiczny IP (Elastic IP), umozliwiajac pobieranie aktualizacji, laczenie sie z API czy wysylanie logów.
Kluczowa zaleta: ruch przychodzacy z internetu NIE moze dotrzec do instancji za NAT Gateway. To fundamentalny element bezpiecznej architektury VPC, gdzie serwery aplikacyjne i bazy danych znajduja sie w prywatnych subnetach.
NAT Gateway moze byc jednym z najdrozszych komponentów Twojego VPC. Przy 3 AZ i umiarkowanym ruchu (500 GB/miesiac) koszt to ponad 120 USD/miesiac. Dla oszczednosci rozwaZ VPC Endpoints - Gateway Endpoints dla S3 i DynamoDB sa darmowe i eliminuja ruch przez NAT Gateway.
Uzyj VPC Flow Logs, aby zidentyfikowac jaki ruch przechodzi przez NAT Gateway. Czesto wiekszosc ruchu to polaczenia do serwisów AWS (S3, DynamoDB, ECR). Zamien je na VPC Endpoints - Gateway Endpoint dla S3 jest darmowy i eliminuje oplaty za NAT Gateway dla tego ruchu.
NAT Gateway umozliwia instancjom w prywatnych subnetach dostesp do internetu (np. pobieranie aktualizacji, laczenie z API) bez eksponowania ich na ruch przychodzacy z internetu. To kluczowy komponent bezpiecznej architektury VPC.
Tworzenie NAT Gateway w publicznym subnecie
NAT Gateway musi byc utworzony w publicznym subnecie (z route do Internet Gateway). Przypisujesz mu Elastic IP. NAT Gateway jest zarzadzany przez AWS - nie musisz go patchowac ani skalowac. Jest redundantny w ramach jednej Availability Zone. Dla multi-AZ tworzy sie osobny NAT Gateway per AZ.
Konfiguracja route table prywatnego subnetu
W route table prywatnego subnetu dodajesz route: 0.0.0.0/0 -> NAT Gateway ID. Caly ruch wychodzacy do internetu z instancji w prywatnym subnecie jest kierowany przez NAT Gateway. Ruch miedzy subnetami w VPC nadal idzie bezposrednio (route local). Kazdy prywatny subnet w kazdej AZ powinien wskazywac na NAT Gateway w tej samej AZ.
Translacja adresow (NAT)
NAT Gateway wykonuje Source NAT (SNAT): zamienia prywatny IP instancji na publiczny EIP NAT Gateway w ruchu wychodzacym. Odpowiedzi wracaja na EIP i sa kierowane z powrotem do instancji. Ruch przychodzacy inicjowany z internetu jest blokowany - instancja jest niedostepna z zewnatrz.
Skalowanie i przepustowosc
NAT Gateway automatycznie skaluje sie do 100 Gbps. Obsluguje do 55 000 jednoczesnych polaczen do jednego adresu docelowego. Dla wiekszej przepustowosci mozesz rozdzielic ruch na wiele NAT Gateway przez routing. Nie ma potrzeby recznego skalowania - AWS zarzadza infrastruktura.
NAT Gateway prywatny (bez EIP)
Od 2023 mozesz tworzyc prywatne NAT Gateway (bez EIP) do komunikacji miedzy VPC lub do on-premise przez Transit Gateway. Przydatne gdy prywatne subnety w jednym VPC musza komunikowac sie z overlapping CIDR w innym VPC. Prywatny NAT Gateway wykonuje SNAT ale nie daje dostepu do internetu.
Monitorowanie i koszty
NAT Gateway metryki w CloudWatch: BytesInFromSource, BytesOutToDestination, PacketsDropCount, ConnectionsAttemptCount. Koszty: $0.045/godzine per NAT Gateway ($32.40/mies.) + $0.045/GB przeslanych danych. Przy duzym ruchu koszty data processing moga byc znaczne - monitoruj metryki transferu.
Praktyczne wskazowki dotyczace NAT Gateway - od optymalizacji kosztow po architekture multi-AZ.
NAT Gateway per AZ - nie wspoldziel miedzy AZ
Tworzac jeden NAT Gateway dla wielu AZ ryzykujesz: (1) cross-AZ data transfer charges ($0.01/GB), (2) single point of failure - awaria AZ z NAT Gateway blokuje dostep do internetu we wszystkich AZ. Best practice: jeden NAT Gateway per AZ z oddzielnymi route tables. Koszt wyzszy ($32/mies per AZ) ale niezawodnosc i wydajnosc duzo lepsza.
PoczatkujacyOptymalizacja kosztow NAT Gateway
NAT Gateway to czesto jedno z najdrozszych uslug sieciowych. Optymalizuj: (1) Uzyj VPC endpoints dla S3 i DynamoDB (darmowe Gateway endpoints eliminuja ruch przez NAT), (2) Uzyj PrivateLink dla innych serwisow AWS (ECR, SQS, SNS), (3) Przeanalizuj VPC Flow Logs aby zidentyfikowac najwieksze zrodla ruchu. S3 traffic przez NAT to najczestsze marnotrawstwo.
PoczatkujacyNAT Instance jako tansza alternatywa
Dla dev/test rozwazyc NAT Instance (EC2 z wlaczonym source/dest check disabled) zamiast NAT Gateway. t4g.nano kosztuje ok. $3/mies vs $32/mies za NAT Gateway. Wady: recznie zarzadzany, brak auto-scaling, single point of failure, ograniczona przepustowosc. Nigdy nie uzywaj NAT Instance w produkcji.
ZaawansowanyVPC Endpoints zamiast NAT dla serwisow AWS
Gateway VPC Endpoints (S3, DynamoDB) sa darmowe i eliminuja potrzebe NAT Gateway dla ruchu do tych serwisow. Interface VPC Endpoints (PrivateLink) dla ECR, CloudWatch, SSM kosztuja $0.01/godzine per AZ, ale eliminuja ruch przez NAT. Dla ECS/EKS pullujacych obrazy z ECR to moze zaoszczedzic setki dolarow miesiecznie.
ZaawansowanyAnaliza ruchu z VPC Flow Logs
Wlacz VPC Flow Logs na subnecie z NAT Gateway. Analizuj logi w Athena lub CloudWatch Logs Insights aby zidentyfikowac: ktore instancje generuja najwiecej ruchu, do jakich adresow IP, na jakich portach. Czesto odkryjesz nieoczekiwany ruch - np. health checks, DNS queries, lub misconfigured aplikacje wysylajace dane do internetu.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z NAT Gateway bezposrednio w konsoli AWS.
Do czego sluzy NAT Gateway?
Aktualizacje systemów w prywatnych subnetach
Instancje EC2 w prywatnym subnecie potrzebuja dostepu do repozytoriów (yum, apt, pip). NAT Gateway zapewnia ruch wychodzacy bez ekspozycji na internet.
Laczenie z zewnetrznymi API
Aplikacja w prywatnym subnecie musi wywolywac zewnetrzne API (platnosci, mapy, AI). NAT Gateway umozliwia polaczenia wychodzace.
Komunikacja VPC-to-VPC (Private NAT)
Uzyj Private NAT Gateway do komunikacji miedzy VPC z nakladajacymi sie zakresami CIDR - bez potrzeby re-adresowania sieci.
Wysoka dostepnosc multi-AZ
Wdróz NAT Gateway w kazdej AZ. Jesli jedna AZ ulegnie awarii, subnety w pozostalych AZ nie traca dostepu do internetu.
Co musisz wiedziec?
Public NAT Gateway
Umieszczony w publicznym subnecie z Elastic IP. Umozliwia instancjom w prywatnych subnetach dostep do internetu. Najczesciej uzywany typ.
Private NAT Gateway
Umozliwia komunikacje miedzy VPC lub z siecia on-premises bez dostepu do internetu. Przydatny przy nakladajacych sie zakresach CIDR.
AZ-specific
NAT Gateway dziala w jednej Availability Zone. Dla wysokiej dostepnosci nalezy utworzyc osobny NAT Gateway w kazdej AZ uzywajcej prywatnych subnetów.
Auto-scaling bandwidth
NAT Gateway automatycznie skaluje przepustowosc od 5 Gbps do 100 Gbps. Nie musisz konfigurowac rozmiaru instancji ani zarzadzac klastrem.
NAT Gateway vs NAT Instance
NAT Gateway jest zarzadzany przez AWS - brak patchowania, auto-scaling, wysoka dostepnosc w AZ. NAT Instance to EC2 z NAT, wymaga recznej konfiguracji, ale daje pelna kontrole i jest tanszy.
Brak Security Groups
NAT Gateway nie wymaga Security Groups (w przeciwienstwie do NAT Instance). Kontrola ruchu odbywa sie przez Network ACL subnetu i route tables.
Architektura: Multi-AZ VPC z NAT Gateway
Standardowa architektura VPC z publicznymi i prywatnymi subnetami w wielu AZ, gdzie NAT Gateway zapewnia dostep do internetu dla prywatnych subnetow.
Ile kosztuje NAT Gateway?
NAT Gateway kosztuje ok. 0,045 USD/godzine (ok. 32 USD/miesiac) niezaleznie od przepustowosci. Oplata naliczana jest od momentu utworzenia.
Dodatkowa oplata ok. 0,045 USD za kazdy GB danych przetworzonych przez NAT Gateway. Przy duzym ruchu moze to byc znaczacy koszt.
Public NAT Gateway wymaga Elastic IP - dodatkowe 0,005 USD/godzine (3,60 USD/miesiac) za publiczny adres IPv4.
Kazdy NAT Gateway w osobnej AZ to oddzielny koszt. Przy 3 AZ platisz 3x oplate godzinowa - ok. 96 USD/miesiac samych oplat godzinowych.
Przyklady AWS CLI
Utworzenie Public NAT Gateway
Tworzy Public NAT Gateway w publicznym subnecie z przypisanym Elastic IP.
aws ec2 create-nat-gateway --subnet-id subnet-0abc123def456 --allocation-id eipalloc-0abcd1234efgh5678 --tag-specifications "ResourceType=natgateway,Tags=[{Key=Name,Value=NAT-Public-AZ1}]"
Utworzenie Private NAT Gateway
Tworzy Private NAT Gateway do komunikacji miedzy VPC. Nie wymaga Elastic IP.
aws ec2 create-nat-gateway --subnet-id subnet-0abc123def456 --connectivity-type private --tag-specifications "ResourceType=natgateway,Tags=[{Key=Name,Value=NAT-Private-AZ1}]"
Dodanie route do NAT Gateway
Dodaje domyslna trase (0.0.0.0/0) w route table prywatnego subnetu wskazujaca na NAT Gateway.
aws ec2 create-route --route-table-id rtb-0abc123def456 --destination-cidr-block 0.0.0.0/0 --nat-gateway-id nat-0abcd1234efgh5678
Sprawdzenie stanu NAT Gateway
Wyswietla stan, subnet i publiczny IP NAT Gateway.
aws ec2 describe-nat-gateways --nat-gateway-ids nat-0abcd1234efgh5678 --query "NatGateways[0].{State:State,SubnetId:SubnetId,PublicIp:NatGatewayAddresses[0].PublicIp}"
Quiz: NAT Gateway
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. W jakim subnecie nalezy umiescic Public NAT Gateway?
2. Czym rózni sie NAT Gateway od NAT Instance?
3. Ile wynosi maksymalna przepustowosc NAT Gateway?
4. Czy NAT Gateway wymaga Security Group?
Czesto uzywane razem z NAT Gateway
Chcesz poznac NAT Gateway w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac NAT Gateway krok po kroku. Teoria + praktyka od zera.