오늘 공부한 내용:
🔗 VPC 연결, 외부 서비스 및 컴퓨팅 서비스 요약
제공해주신 자료는 AWS VPC의 연결(VPC Peering, Transit Gateway), 온프레미스 연결(VPN, Direct Connect), 외부 AWS 서비스 연결(VPC 엔드포인트), 그리고 **컴퓨팅 서비스(EC2, EBS, ELB)**의 기초 및 상세 설정 방법을 다루고 있습니다.
1. VPC 연결 및 하이브리드 네트워킹
A. VPC와 VPC 연결
VPC 피어링 (Peering):
역할: 두 VPC 간에 사설 네트워크 연결을 설정하여 마치 같은 네트워크에 있는 것처럼 통신하게 합니다.
제약: 1:1 연결이며, 전이적 연결이 불가합니다 (A-B, B-C가 연결되어도 A-C는 직접 연결 불가). 또한, 중복된 CIDR 주소를 가진 VPC는 연결할 수 없습니다.
Transit 게이트웨이 (TGW):
역할: 다수의 네트워크(VPC, VPN, Direct Connect)들을 허브 앤 스포크(Hub and Spoke) 형식으로 연결하여 중앙 집중식 라우팅을 제공합니다.
장점: 전이적 라우팅을 지원하며 대규모 복잡한 네트워크 환경에서 관리를 단순화합니다.
B. VPC와 온프레미스 연결 (하이브리드)
AWS VPN (Virtual Private Network): AWS 클라우드와 온프레미스 사이에 암호화된 보안 터널을 통해 연결합니다.
AWS Direct Connect (DX): AWS 클라우드와 온프레미스 사이에 네트워크 전용선을 연결하여 일관되고 높은 대역폭을 제공합니다. (VPN에 비해 지연 시간이 낮고 안정적이며 비용이 높음).
이중화: VPN과 Direct Connect를 함께 구성하여 연결의 가용성을 높이는 것이 권장됩니다.
C. VPC와 외부 AWS 서비스 연결
VPC 엔드포인트 (VPC Endpoint):
역할: S3, DynamoDB, Systems Manager 등 VPC 외부에서 동작하는 AWS 서비스를 인터넷을 통하지 않고 프라이빗 네트워크 통신을 할 수 있도록 하는 기능.
장점: 네트워크 트래픽이 AWS 네트워크 내에 머물러 보안성이 높고 비용 효율적입니다.
종류:
게이트웨이 유형 (Gateway): S3와 DynamoDB만 지원. 라우팅 테이블에 엔드포인트 경로를 등록하여 사용.
인터페이스 유형 (Interface): AWS PrivateLink를 사용하여 서브넷에 **ENI (Elastic Network Interface)**를 생성하고 프라이빗 IP를 통해 통신 (다양한 AWS 서비스 지원).
2. 컴퓨팅 서비스 기초 (EC2, EBS, ELB)
A. 서버 기초 및 가상화
웹 서버 vs 애플리케이션 서버:
웹 서버 (Web Server): 주로 HTML, 이미지 같은 정적 데이터를 처리하며, HTTP 요청을 처리하고 동적 요청을 WAS에 전달합니다 (예: Apache, Nginx).
애플리케이션 서버 (WAS): 비즈니스 로직을 수행하고 DB와 통신하여 동적 데이터를 처리합니다 (예: Tomcat).
서버 가상화: 물리적 서버(Host OS) 위에 **가상화 소프트웨어(Hypervisor)**를 이용하여 여러 대의 **가상 서버(Instance)**를 동작시키는 기술. **AWS EC2 (Elastic Compute Cloud)**가 대표적인 서비스입니다.
B. EC2 인스턴스 (Elastic Compute Cloud)
정의: AWS의 가상 서버 노드 기능으로, 컴퓨팅 리소스를 제공합니다. 실행 중일 때만 비용이 발생합니다 (초당 결제).
주요 설정 항목:
AMI (Amazon Machine Image): OS를 포함한 루트 볼륨 템플릿.
Instance Type: 인스턴스에 사용되는 하드웨어(CPU, 메모리, 스토리지)가 결정됩니다 (예: t2.micro).
Key pair: EC2에 SSH로 접근하기 위한 Public/Private key pair. (Key Pair 없이 Session Manager로도 접속 가능).
Network: 인스턴스가 위치할 VPC와 Subnet을 선택하고, Public IP 할당 여부 및 보안 그룹을 설정합니다.
Instance Profile: EC2에 연결할 **IAM 역할(Role)**을 지정하여 EC2가 다른 AWS 서비스에 접근할 수 있도록 권한을 부여합니다.
User Data: 인스턴스 생성 시 자동으로 실행되는 구성 스크립트 (예: 웹 서버 자동 설치).
C. Amazon EBS (Elastic Block Store)
정의: EC2용으로 사용되는 블록 스토리지 (Root 볼륨, 데이터 저장).
유형: 애플리케이션의 성능 요구 사항에 따라 IOPS 및 처리량이 다른 다양한 유형(gp3, io2, sc1 등)을 선택할 수 있습니다.
백업: 스냅샷(Snapshot) 기능을 통해 특정 시점의 EBS 볼륨 사본을 S3에 저장합니다.
D. Elastic Load Balancing (ELB)
기능: 클라이언트 요청 트래픽을 여러 **대상(Targets)**들에게 자동으로 분산하여 애플리케이션의 가용성과 확장성을 높입니다.
장점: 부하 상황에 따라 자체적으로 자동 확장되며, **상태 확인(Health Check)**을 통해 비정상 대상을 제외합니다.
주요 종류:
ALB (Application Load Balancer): L7 (애플리케이션) 레이어에서 콘텐츠 기반 (URL, Host 헤더 등)으로 트래픽을 라우팅. HTTP/HTTPS 기반.
NLB (Network Load Balancer): L4 (네트워크) 레이어에서 IP, Port 기반으로 로드 분산. TCP/UDP 기반, 고정 IP 설정 가능.