Networking and Content Delivery
2025. 10. 21. 19:02ㆍCERTIFICATES/AWS DEA-C01
VPC 및 서브넷
기초 개념
- VPC는 리소스를 배포하기 위한 프라이빗 네트워크임 (리전 단위 리소스임)
- 서브넷은 VPC 내부 네트워크를 분할하기 위한 것임 (가용 영역 단위 리소스임)
- 퍼블릭 서브넷은 인터넷에서 접근 가능한 서브넷임
- 프라이빗 서브넷은 인터넷에서 접근 불가능한 서브넷임
- 인터넷 및 서브넷 간 접근을 정의하기 위해 라우팅 테이블을 사용함

VPC 다이어그램

인터넷 게이트웨이 및 NAT 게이트웨이
- 인터넷 게이트웨이는 VPC 내 인스턴스가 인터넷과 연결되도록 도와줌
- 퍼블릭 서브넷은 인터넷 게이트웨이로의 라우트를 가짐
- NAT 게이트웨이(AWS 관리형)와 NAT 인스턴스(자가 관리형)는 프라이빗 서브넷 내 인스턴스가 프라이빗 상태를 유지하면서 인터넷에 접근할 수 있도록 허용함

네트워크 ACL 및 보안 그룹
- NACL(Network ACL)
- 서브넷으로 들어오고 나가는 트래픽을 제어하는 방화벽임
- 허용(Allow) 규칙과 거부(Deny) 규칙을 모두 가질 수 있음
- 서브넷 단위로 연결됨
- 규칙에는 IP 주소만 포함됨
- 보안 그룹
- ENI(Elastic Network Interface) 또는 EC2 인스턴스로 들어오고 나가는 트래픽을 제어하는 방화벽임
- 허용(Allow) 규칙만 가질 수 있음
- 규칙에는 IP 주소뿐 아니라 다른 보안 그룹도 포함할 수 있음

Network ACLs vs Security Groups
| 보안 그룹 (Security Group) | 네트워크 ACL (Network ACL) |
|---|---|
| 인스턴스 수준에서 동작함 | 서브넷 수준에서 동작함 |
| 허용 규칙(Allow rules)만 지원함 | 허용 규칙과 거부 규칙(Deny rules)을 모두 지원함 |
| 상태 저장 방식임(Stateful): 어떤 규칙이든 상관없이 반환 트래픽은 자동으로 허용됨 | 비상태 방식임(Stateless): 반환 트래픽은 규칙에 의해 명시적으로 허용되어야 함 |
| 트래픽을 허용할지 결정하기 전에 모든 규칙을 평가함 | 트래픽을 허용할지 결정할 때 규칙 번호 순서대로 처리함 |
| 인스턴스 실행 시 사용자가 보안 그룹을 지정하거나 나중에 인스턴스에 연결한 경우에만 적용됨 | 연결된 서브넷 내 모든 인스턴스에 자동으로 적용됨 (따라서 사용자가 직접 보안 그룹을 지정할 필요가 없음) |
VPC Flow Logs
- 인터페이스로 들어오거나 나가는 IP 트래픽 정보를 캡처함
- VPC 플로우 로그, 서브넷 플로우 로그, 탄력적 네트워크 인터페이스(ENI) 플로우 로그 등이 있음
- 네트워크 연결 문제를 모니터링하고 트러블슈팅하는 데 도움을 줌
- 서브넷에서 인터넷으로의 연결
- 서브넷 간 연결
- 인터넷에서 서브넷으로의 연결
- AWS에서 관리하는 인터페이스(Elastic Load Balancer, ElastiCache, RDS, Aurora 등)의 네트워크 정보도 캡처함
- VPC 플로우 로그 데이터는 S3, CloudWatch Logs, Kinesis Data Firehose로 전송할 수 있음
VPC 피어링
- AWS 네트워크를 사용하여 두 개의 VPC를 프라이빗하게 연결함
- 두 VPC가 동일한 네트워크에 있는 것처럼 동작하도록 함
- CIDR(IP 주소 범위)이 서로 겹치면 안 됨
- VPC 피어링 연결은 비전이적임(즉, 서로 통신해야 하는 각 VPC 간에 개별적으로 연결을 설정해야 함)

VPC 엔드포인트
- 엔드포인트를 사용하면 공용 www 네트워크 대신 프라이빗 네트워크를 통해 AWS 서비스에 연결할 수 있음
- 이를 통해 AWS 서비스 접근 시 보안이 강화되고 지연 시간이 감소함
- VPC 엔드포인트 게이트웨이: S3 및 DynamoDB용임
- VPC 엔드포인트 인터페이스: 대부분의 서비스용임 (S3와 DynamoDB 포함)
- 오직 자신의 VPC 내에서만 사용됨

사이트 간 VPN 및 Direct Connect
- 사이트 간 VPN
- 온프레미스 VPN을 AWS에 연결함
- 연결은 자동으로 암호화됨
- 공용 인터넷을 통해 통신함
- Direct Connect(DX)
- 온프레미스와 AWS 간 물리적 연결을 설정함
- 연결은 프라이빗하고, 보안성이 높으며, 속도가 빠름
- 프라이빗 네트워크를 통해 통신함
- 구축에 최소 한 달 정도 소요됨

VPC 정리
- VPC: 가상 프라이빗 클라우드임
- 서브넷(Subnets): 가용 영역(AZ)에 연결되며, VPC의 네트워크를 분할함
- 인터넷 게이트웨이(Internet Gateway): VPC 수준에서 인터넷 접근을 제공함
- NAT 게이트웨이 / 인스턴스: 프라이빗 서브넷에 인터넷 접근을 제공함
- NACL: 비상태(Stateless) 방식이며, 서브넷의 인바운드 및 아웃바운드 규칙을 정의함
- 보안 그룹: 상태 저장(Stateful) 방식이며, EC2 인스턴스나 ENI 단위에서 동작함
- VPC 피어링(VPC Peering): IP 범위가 겹치지 않는 두 VPC를 연결하며, 비전이적(non-transitive)임
- VPC 엔드포인트(VPC Endpoints): VPC 내에서 AWS 서비스에 대한 프라이빗 접근을 제공함
- VPC 플로우 로그(VPC Flow Logs): 네트워크 트래픽 로그를 기록함
- 사이트 간 VPN(Site to Site VPN): 온프레미스 데이터센터와 AWS 간 공용 인터넷 기반 VPN 연결임
- Direct Connect: AWS로의 전용 프라이빗 연결임
AWS PrivateLink (VPC 엔드포인트 서비스)
- 수천 개의 VPC에 서비스를 노출할 수 있는 가장 보안적이고 확장 가능한 방법임
- VPC 피어링, 인터넷 게이트웨이, NAT, 라우팅 테이블 등을 필요로 하지 않음
- 서비스 제공자 VPC에는 네트워크 로드 밸런서(NLB)가 필요하고, 고객 VPC에는 ENI(Elastic Network Interface)가 필요함

DNS란 무엇인가?
- DNS(Domain Name System)는 사람이 읽기 쉬운 호스트 이름을 머신이 이해할 수 있는 IP 주소로 변환함
- 예: www.google.com → 172.217.18.36
- DNS는 인터넷의 핵심 기반 구조(backbone)임
- DNS는 계층적 네이밍 구조를 사용함

DNS 용어 정리
- 도메인 등록기관(Domain Registrar): Amazon Route 53, GoDaddy 등
- DNS 레코드(DNS Records): A, AAAA, CNAME, NS 등
- 존 파일(Zone File): DNS 레코드를 포함하는 파일임
- 네임 서버(Name Server): DNS 질의를 해석하는 서버로, 권한 있는 서버 또는 비권한 서버가 있음
- 최상위 도메인(TLD, Top Level Domain): .com, .us, .in, .gov, .org 등
- 2차 도메인(SLD, Second Level Domain): amazon.com, google.com 등

DNS 동작방식

Amazon Route 53
- 고가용성, 확장성, 완전관리형의 권한 있는 DNS 서비스임
- 권한 있는 DNS란 사용자가 직접 DNS 레코드를 수정할 수 있음을 의미함
- Route 53은 도메인 등록기관 역할도 수행함
- 리소스의 상태를 확인(헬스 체크)할 수 있는 기능을 제공함
- AWS 서비스 중 유일하게 100% 가용성 SLA를 제공함
- 이름의 53은 전통적인 DNS 포트 번호(포트 53)를 의미함

Route 53 – 레코드
- 도메인 트래픽을 어떻게 라우팅할지를 정의함
- 각 레코드는 다음 항목을 포함함:
- 도메인/서브도메인 이름: 예) example.com
- 레코드 유형: 예) A 또는 AAAA
- 값: 예) 12.34.56.78
- 라우팅 정책: Route 53이 질의에 응답하는 방식
- TTL(Time To Live): DNS 리졸버가 레코드를 캐시하는 시간
- Route 53이 지원하는 DNS 레코드 유형은 다음과 같음:
- 기본(필수) 유형: A / AAAA / CNAME / NS
- 고급(Advanced) 유형: CAA / DS / MX / NAPTR / PTR / SOA / TXT / SPF / SRV
Route 53 – 레코드 유형
- A: 호스트 이름을 IPv4 주소에 매핑함
- AAAA: 호스트 이름을 IPv6 주소에 매핑함
- CNAME: 호스트 이름을 다른 호스트 이름에 매핑함
- 대상은 반드시 A 또는 AAAA 레코드를 가진 도메인 이름이어야 함
- DNS 네임스페이스의 최상위 노드(Zone Apex)에는 CNAME 레코드를 생성할 수 없음
- 예: example.com에는 생성할 수 없지만, www.example.com에는 생성 가능함
- NS: 호스티드 존(Hosted Zone)에 대한 네임 서버를 지정함
- 도메인 트래픽이 어떻게 라우팅될지를 제어함
Route 53 – 호스티드 존(Hosted Zones)
- 도메인 및 그 하위 도메인 트래픽을 어떻게 라우팅할지를 정의하는 레코드를 담는 컨테이너임
- Public Hosted Zones: 인터넷 상에서 트래픽을 라우팅하는 방법을 지정하는 레코드를 포함함 (공용 도메인 이름) 예: application1.mypublicdomain.com
- Private Hosted Zones: 하나 이상의 VPC 내부에서 트래픽을 라우팅하는 방법을 지정하는 레코드를 포함함 (프라이빗 도메인 이름) 예: application1.company.internal
- 호스티드 존당 월 0.50달러의 요금이 부과됨
Route 53 – Public vs. Private Hosted Zones

Amazon CloudFront
- 콘텐츠 전송 네트워크(Content Delivery Network, CDN)임
- 엣지(Edge) 위치에서 콘텐츠를 캐싱하여 읽기 성능을 향상시킴
- 사용자 경험을 개선함
- 전 세계적으로 수백 개의 엣지 로케이션(캐시 지점, Point of Presence)을 보유함
- 전 세계 분산 구조로 인해 DDoS 공격 방어에 유리하며, AWS Shield 및 AWS WAF(Web Application Firewall)와 통합되어 동작함
CloudFront – Origins
- S3 버킷
- 파일을 배포하고 엣지에서 캐싱하기 위해 사용함
- CloudFront를 통해 S3로 파일을 업로드할 때도 사용 가능함
- 오리진 액세스 컨트롤(OAC, Origin Access Control)을 통해 보안을 강화함
- VPC 오리진
- VPC의 프라이빗 서브넷에 호스팅된 애플리케이션을 위한 오리진임
- 애플리케이션 로드 밸런서(ALB), 네트워크 로드 밸런서(NLB), EC2 인스턴스를 포함함
- Custom Origin (HTTP)
- S3 웹사이트(정적 S3 웹사이트로 버킷을 먼저 활성화해야 함)
- 임의의 공용 HTTP 백엔드도 오리진으로 설정 가능함
고수준에서의 CloudFront

CloudFront – S3를 Origin으로 사용

CloudFront vs S3 교차 리전 복제
- CloudFront:
- 전 세계 엣지 네트워크를 사용함
- 파일은 TTL(예: 하루) 동안 캐싱됨
- 전 세계 어디서나 접근 가능한 정적 콘텐츠에 적합함
- S3 교차 리전 복제:
- 복제를 원하는 각 리전에 대해 별도로 설정해야 함
- 파일이 거의 실시간으로 복제됨
- 읽기 전용(Read-only)임
- 소수의 리전에서 낮은 지연 시간으로 접근해야 하는 동적 콘텐츠에 적합함
CloudFront – ALB 또는 EC2를 오리진으로 사용하기
VPC 오리진 사용
- VPC의 프라이빗 서브넷에 호스팅된 애플리케이션에서 콘텐츠를 전달할 수 있음 (인터넷에 직접 노출할 필요 없음)
- 프라이빗 대상에 트래픽을 전달할 수 있음:
- 애플리케이션 로드 밸런서
- 네트워크 로드 밸런서
- EC2 인스턴스

공용 네트워크 사용

CloudFront – 캐시 무효화(Cache Invalidations)
- 백엔드 오리진의 콘텐츠를 수정하더라도, CloudFront는 이를 즉시 인식하지 못하고 TTL이 만료될 때까지 기존 캐시된 콘텐츠를 계속 제공함
- TTL을 무시하고 캐시를 강제로 새로 고치려면 CloudFront 무효화를 수행해야 함
- 무효화 요청을 통해 전체 파일() 또는 특정 경로(/images/ 등)만 선택적으로 갱신할 수 있음

'CERTIFICATES > AWS DEA-C01' 카테고리의 다른 글
| Machine Learning (0) | 2025.10.22 |
|---|---|
| Management and Governance (0) | 2025.10.22 |
| Security, Identity and Compliance (0) | 2025.10.21 |
| Application Integration (0) | 2025.10.21 |
| Analytics (0) | 2025.10.21 |