네트워킹 서비스
네트워킹(Networking)
- OSI 7 계층과프로토콜
- 통신 과정을 단계별로 나누어 장애가 발생하면 해당 부분만 수정 가능

L2(2계층): OSI 7계층 모델에서 2계층은 데이터 링크 계층을 의미함
이 계층에서는 장치들 간에 데이터 프레임을 전송하며, MAC 주소를 사용하여 물리적 주소를 기반으로 통신을 관리함
Bridge: 네트워크 브리지(Bridge)는 2계층에서 동작하며, 여러 네트워크 세그먼트를 연결하여 하나의 네트워크처럼 동작하게 함. 브리지는 MAC 주소를 사용하여 네트워크 트래픽을 필터링하고, 특정 MAC 주소가 속한 포트로만 데이터를 전송함으로써 네트워크 효율성을 높임

TCP & UDP

IP 주소

- IPv4
-
10진수 4부분으로 구성(8비트* 4부분 = 32비트) ➔192.168.0.1
-
공인(public) IP
• 인터넷 통신목적으로 사용
• ISP가 할당
• 다른 IP와 중복되지 않음
-
사설(private) IP
• 로컬네트워크 통신목적으로 사용
• 네트워크관리자 혹은 장치가 할당
• 인터넷에서 식별 불가
• 다른네트워크의 IP와 중복될 수 있음
• IP 대역
- 클래스A : 10.0.0.0 ~ 10.255.255.255 → 10.0.0.0 /8
- 클래스B : 172.16.0.0 ~ 172.31.255.255 → 172.16.0.0 /12
- 클래스C : 192.168.0 ~ 192.168.255.255 → 192.168.0.0 /16
- IPv6
- 16진수 8부분으로 구성➔2001:0230:abcd:ffff:0000:0000:ffff:1111
IP 주소 클래스(Classful)

- CLASS-A
- Class 중 크기가 가장 크다(2^24개 호스트 수용)
- 국가나 글로벌기업이 사용하는 대형 네트워크
- 시작 비트는 항상0
- 네트워크ID : 1~126, 호스트 ID : 0.0.0~255.255.255
- 네트워크ID 127은 예약주소(loopback (ex)127.0.01)
- CLASS-B
- Class 중 두 번째로 크다(2^16개 호스트 수용)
- 대기업등에서 사용하는 중대형 네트워크
- 시작비트는 항상 10
- 네트워크ID : 128.0~191.255, 호스트 ID : 0.1~255.254 (호스트 ID가 255.255일 경우 브로드캐스트)
- CLASS-C
- 일반적으로 사용되는 Class 중 가장 작다(2^8개 호스트 수용)
- 로컬영역 네트워크환경에서 할당되는 주소의 대부분이 CLASS-C
- 시작비트는 항상 110
- 네트워크ID : 192.0.0~223.255.255, 호스트 ID : 0~255
- CLASS-D
- CLASS-E
- 시작비는항상1111, 연구및실험용으로예약된주소
Net ID: 네트워크를 식별하는 부분으로, 해당 네트워크가 어떤 네트워크에 속하는지 나타냄
Host ID: 특정 네트워크 내의 개별 장치(호스트)를 식별하는 부분
차이가 나는 이유
네트워크 규모에 따른 유연한 할당: 각 클래스는 네트워크의 크기와 필요에 맞게 IP 주소를 할당하기 위해 설계됨. 대규모 네트워크는 하나의 네트워크에 더 많은 장치가 필요하므로 Host ID가 더 커야 하고, 작은 네트워크는 Net ID가 커서 더 많은 네트워크를 구분할 수 있어야 함 (효율성을 위해)
효율적인 주소 공간 사용: IPv4 주소 공간은 한정되어 있기 때문에, 네트워크의 필요에 따라 Net ID와 Host ID를 나눔으로써 IP 주소의 낭비를 줄이고 효율적으로 사용하기 위함
CIDR(Classless Inter-Domain Routing) – '사이더'
- IP 주소를 클래스로 나누다보니 모든IP를 사용하지 않아 낭비 발생
- 낭비를 줄이기 위해 비트단위로 쪼갬→서브넷마스크 사용(masking)
- 필요한 네트워크ID 부분을 마스킹함(1로셋팅)
ex) class-A : /8, class-B : /16, class-C : /24
- CIDR 표기법 : 192.168.32.0 /24

- 서브넷팅
-
하나의 네트워크를 여러 서브넷으로 구성 (세분화 관리)
-
(tip1) 필요한 네트워크의 수를 2진수로 계산하여 호스트 ID를 앞부터 1로 채워 네트워크 ID로 바꿈
-
(tip2) 필요한 호스트의 수를 2진수 계산하여 호스트 ID의 뒷자리를 채우고 나머지 앞을 네트워크 ID로 바꿈
-
(예) class-c의 네트워크를 2개의 서브 네트워크로 구성한다

서브넷팅예시

라우팅(Routing)
- 라우팅프로토콜
- 라우팅: 데이터 패킷을 출발지에서 목적지까지 전달
- 효율적인 전송로를 선택
- 주기적으로라우팅테이블을갱신함으로써목적지까지패킷전달
- IP 헤더 정보를 읽어목적지IP를알아낸뒤, 목적지까지최적경로를제공
- 확인
• tracert www.google.com
• route PRINT
- 정적 라우팅(Static Routing)
• 관리자가고정적으로설정한경로사용
- 동적 라우팅(Dynamic Routing)
• 네트워크 상황에 따라 인접한 라우터끼리 정보교환하여 최적의 경로 찾음

ex) google까지 접속하는데 14번 정도의 IP를 거침
네트워크환경(기존vs 클라우드)
구조와 동작 방법은 동일함

AWS 네트워킹
• AWS의IP 주소
• DNS / Route 53
• VPC
• 서브넷
• 라우팅(라우트) 테이블
• 인터넷게이트웨이
• NACL/보안그룹
• VPC Flow Logs
• VPC Peering
• VPC Endpoint
• VPC PrivateLink
• Site-to-Site VPN & Direct Connect
• Transit Gatewa
※ CCP 레벨에서는 각 네트워킹 서비스들의 개념과 동작 방법의 이해 필요(1~2문제 출제)
그러나 SSA 레벨 이상에서는 복잡한 개념을 묻는 문제가 출제
AWS의 IP주소
-
IPv4 (2^32개)
- 공인 (Public) IP – EC2 생성 시 IPv4 부여, 중지하고 재시작하면 새로운 IPv4 받음
- 사설 (Private) IP – EC2가 중지/재시작 되더라도 안 바뀜 (고정)
- Elastic IP – 고정된 공인 IPv4를 EC2 인스턴스에 부여하는 것 (인스턴스를 중지했다가 재시작해도 동일한 공인 IPv4를 갖음)
- 모든 공인 IPv4는 시간당 0.005달러 (EIP) 포함
• 프리 티어 (Free Tier)에서는 한 달에 750시간 무료
-
IPv6 (2^128개 = 3.4 × 10^38개)
- 모든 IP가 public (private 없음: 사설 IP 없음)
- 2001:0230:abcd:ffff:0000:0000:ffff:1111
- 무료
DNS / Route 53
- DNS : 사람이 읽기 쉬운 도메인네임을IP 주소로변환
- (예) www.google.com → 142.250.207.100
- Amazon Route 53
- 가용성과 확장성이 뛰어난 DNS 웹 서비스
- Amazon VPC에 사용자 지정 도메인 이름을 할당하고 액세스
- 다양한 라우팅 정책 제공
- 단순 라우팅: example.com으로 이동
- 가중치 라우팅: 지정 비율 (60:40)
- 장애 대응 라우팅: 액티브-패시브 구성
- 지연 시간 라우팅: 여러 리전 중 응답이 빠른 쪽
- 지리 위치 라우팅: 사용자 최인접
- 지리 근접 라우팅: 최인접 위치 & 위치 이동
- 다중 응답 라우팅: 무작위로 8개 응답 요청

Amazon VPC
- Amazon Virtual Private Cloud (VPC)
- 리전(region) 단위
- 계정을 새로 만들면 기본 VPC(default VPC)를 할당받고, 별도 설정 없이 EC2 인스턴스를 배포할 수 있음
• 기본 VPC는 인터넷에 연결되어 있음 (원칙적으로 VPC는 인터넷에 연결되어 있지 않음)
• EC2 인스턴스는 IPv4를 할당받음
- VPC는 서브넷을 구성: 네트워크의 파티션 개념
-
Public Subnet
- (인터넷 게이트웨이를 통해) 인터넷과 연결됨
- EC2 등 웹 서버, 어플리케이션 서버로 사용자에게 노출되는 인프라 배치
-
Private Subnet
- 인터넷과 연결되지 않음
- 데이터베이스 등 외부 노출이 필요 없는 인프라 배치
- 서브넷들 간의 통신은 라우팅 테이블(Route Table)을 사용

서브넷(Subnet)
- 단일 네트워크를 논리적으로 분할한 영역
- 하나의 서브넷은 하나의 가용 영역 AZ에 위치
- VPC에서 CIDR 블록으로 서브넷의 주소 범위를 설정
- CIDR 블록으로 IP 주소 지정
- AWS는 5개의 IP 주소는 예약되어 있음 처음 4개 마지막 1개
- 호스트 ID의 0번 네트워크 주소
- 호스트 ID의 1번 VPC 라우터
- 호스트 ID의 2번 Amazon이 제공하는 DNS 서버
- 호스트 ID의 3번 사용하지 않지만 예약됨
- 호스트 ID의 255번 브로드캐스트 주소 단 브로드캐스트는 지원하지 않음
- ※ 기존은 2개가 예약되었음 네트워크 ID 0번 브로드캐스트 1번
- 만약 호스트 30개의 IP 주소가 필요하다면 /27은 사용 못함
VPC & 서브넷 구조 예시

오타 : 10.0.0.1 ~ 10.0.1.3 까진 IP 주소가 예약 되어있기 때문에 사용 불가
라우팅테이블(Route Table)

- 트래픽 전송 규칙: 데이터 패킷을 전송하기 위한 정보를 포함
- 자동 제공: 기본적으로 VPC와 함께 자동으로 제공
- 라우팅 테이블 구성:
- 대상 주소 (Destination): 트래픽이 이동할 대상 IP 주소 또는 CIDR 범위
- 대상 (Target): 대상 트래픽을 전송할 때 사용할 게이트웨이, 네트워크 인터페이스 또는 연결
- 라우팅 우선순위: 가장 긴 접두사가 우선순위가 높음
- 가장 긴 접두사 (10.10.2.15 /32는 10.10.2.0 /24보다 우선순위 높음)
- 정적 경로
인터넷게이트웨이(IGW)
- VPC가 외부 인터넷과 연결되는 통로
- Public 서브넷과 연결됨 (라우팅 테이블)
- Private 서브넷은 NAT (사설 IP → 공인 IP)를 통해 인터넷 액세스 권한 부여
- NAT gateway : AWS-managed (사용 권고) 시간당 0.059 달러 (서울 리전)
- NAT Instances : self-managed
- ※ NAT gateway를 통해 외부 인터넷 구간으로 나갈 수 있지만 반대로 외부에서 private 서브넷으로는 들어올 수 없음
→ public subnet에 Bastion Host를 구축함으로써 접속 가능 (실무에서는 잘 사용 안 함)
- 별다른 설정 없이 인터넷 게이트웨이 ID를 참조하는 방식으로 간단
- 확장성 중복성 고가용성을 지닌 VPC 구성 요소
- IPv4 IPv6 지원

NACL / 보안 그룹
- NACL (Network ACL)
-
제어 대상: 서브넷으로 들어오고 나가는 트래픽 제어 (방화벽)
-
IP 주소에 대한 규칙을 정의할 수 있음 (허용 규칙/거부 규칙 모두 가능)
-
IPv4, IPv6의 인바운드, 아웃바운드 트래픽을 모두 필터링
- 인바운드: 네트워크에 들어오는 정보, 클라이언트에서 서버로 들어오는 요청 정보
- 아웃바운드: 네트워크에서 나가는 정보, 서버에서 클라이언트로 나가는 응답 정보
-
Stateless 접근 통제: 이전 상태 정보를 기억하지 않아 다음에 그 상태를 활용하지 않음
- 인바운드 규칙에 따라 허용한 트래픽일지라도 아웃바운드 규칙 적용
- 보안 그룹 (Security Groups)
-
제어 대상: 인스턴스에 대한 인바운드 및 아웃바운드 트래픽 제어 (방화벽)
-
인스턴스 단위로 설정 (하나의 인스턴스에 하나 이상의 보안 그룹 설정)
-
기본적으로 모든 Port는 비활성화
- 필요한 port를 허용 → 허용 규칙만 가능 (거부 규칙 불가능)
-
IP 주소나 다른 보안 그룹 참조 가능
-
Stateful 접근 통제: 이전 상태 정보를 기억하고 다음에 그 상태를 활용
- 인바운드 규칙에 따라 허용한 트래픽이라면 기억하고 아웃바운드 규칙에 자동 적용

NACL / 보안 그룹 Cont

NACL 규칙 순서

규칙 번호를 100 단위로 하는 것을 권고하고 있다
VPC 흐름 로그(Flow Logs)

- 인터페이스에 통과하는 모든 IP 트래픽을 기록
- VPC Flow Logs
- Subnet Flow Logs
- Elastic Network Interface Flow Logs
- 모니터링 및 트러블슈팅 (troubleshoot)에 활용
- VPC 흐름 로그 데이터는 S3, CloudWatch Logs, Kinesis Data Firehose에 게시

VPC 피어링(Peering)
- 서로 다른 VPC 간의 일대일 연결을 통해 동일한 네트워크처럼 동작
- IP 주소 범위가 겹치면 안 됨
- VPC는 하나의 리전에 존재하는데, VPC 피어링을 통해 다수의 가용 영역에 분산된 VPC 연결 가능
- 연결이 필요한 VPC 간에서 로 연결
- 전이성 (transitive) 피어링 관계는 지원 안 됨 (건너서 연결은 안 됨)
- (예) VPC A ↔ VPC B, VPC A ↔ VPC C가 피어링 되었지만,
VPC B ↔ VPC C는 피어링 안 됨 (둘이 따로 연결해줘야 함)

VPC 엔드포인트(Endpoint)
- 사설 AWS 네트워크 사용 (Private Subnet과 연결)
- 공용 인터넷을 사용하지 않아 보안이 우수하며, 네트워크 지연 시간이 짧음
- VPC 밖에 존재하는 다른 서비스 연결
- VPC 엔드포인트 게이트웨이: S3, DynamoDB (전용, 비공식 연결)
- VPC 엔드포인트 인터페이스: 다른 모든 서비스 (예: CloudWatch)

AWS PrivateLink(엔드포인트 서비스)
- 다른 AWS 계정에서 호스팅하는 서비스 또는 AWS Marketplace 파트너 서비스와 연결
- 사설 IP 주소를 사용해 다른 VPC가 제공하는 서비스를 안전하게 사용
- VPC IP 주소가 겹치는 경우에 좋은 해결책
- Network Load Balancer와 ENI를 통해 전용망 (private network) 구축

Site-to-Site VPN & Direct Connect
- 하이브리드 클라우드 환경에서 AWS와 온프레미스 연결
- Site-to-Site VPN
-
온프레미스 VPN을 AWS에 연결
-
VPN (가상 사설 네트워크) : 인터넷망을 통해 디바이스 간에 사설 네트워크 연결 생성
- 터널링 프로토콜, 암호화 (IPSec) 수행
-
빠르게 설정 (설치) 가능 (약 5분 소요)
-
인터넷을 사용하므로 대역폭 및 보안 문제 발생 가능
-
(시험문제) 구축 속도 빠르게 요구
- Direct Connect
- 물리적으로 AWS와 온프레미스 사이에 프라이빗 전용선 연결
- 설치하는 데 한 달 이상 소요, 비용 증가
- 비공개 연결, 안전하고 빠름
- 사설망 사용
- (시험문제) 사설 네트워크 사용

VPN
- Site-to-Site (S2S)
- VPN을 구축하기 위해서 다음이 프로비저닝되어야 하는 것이 출제됨
- 온프레미스: Customer Gateway (CGW)
- AWS: Virtual Private Gateway (VGW)
- 클라이언트 VPN
- 인터넷망에서 VPN 소프트웨어 (OpenVPN)를 이용해 간편히 AWS 네트워크에 연결
- Private VPN의 EC2 인스턴스에 사설 IP를 사용해 연결 가능
- 만약, VPC에서 온프레미스의 데이터 센터로 Site-to-Site VPN이 연결되어 있다면 클라이언트 접속 가능

Transit Gateway
• 방대한 인프라가 구성될 때 네트워크 구조가 복잡해지는 것을 해결한 솔루션
• 수많은 VPC와 온프레미스 네트워크를 연결하기 위한 전송 허브
• 스타 구조로 연결 (VPCs, Direct Connection, VPN 연결)

공식사이트 AI 요약
1. 중앙 관리: 허브 앤 스포크 구조로 리전 내 VPC 간 라우팅을 통합 관리.
2. 리전 간 연결: 글로벌 백본을 통한 리전 간 VPC 연결 지원, 인터넷 사용 불필요.
3. 하이브리드 지원: Direct Connect 및 VPN과 통합 가능.
4. 피어링 간소화: VPC 피어링보다 간단한 Transit Gateway 피어링으로 관리 부담 감소.
5. MTU: VPC/Direct Connect에 8,500바이트, VPN에 1,500바이트 지원.