AWS WAF & Shield
- WAF (Web Application Firewall): 웹 애플리케이션으로 들어오는 HTTP(S) 요청을 검사하고 허용, 차단, 카운트하는 규칙 집합임
- Shield: DDoS 공격으로부터 AWS 리소스를 보호하는 서비스로, WAF와 함께 사용됨
AWS WAF의 주요 기능
- Web ACLs (Web Access Control List):
- 웹 애플리케이션에 대한 접근을 제어하는 규칙 모음임
- 생성 과정:
1. Web ACLs 정의 및 리소스 연결 → 2. 규칙 및 규칙 그룹 추가 → 3. 우선순위 설정 → 4. 지표 구성 → 5. 검토 및 생성
- WAF 규칙 그룹:
- 무료 규칙 그룹: 추가 비용 없이 사용할 수 있으며,
Core rule set(OWASP 취약점 방어), Admin protection, Amazon IP reputation list(봇 차단) 등이 있음
- 유료 규칙 그룹: 별도의 구독 및 사용료가 부과되며,
Account creation fraud prevention, AntiDDoS Protection for Layer 7 attacks 같은 전문적인 규칙을 제공함
- WAF와 연동되는 AWS 리소스: WAF는 HTTP 프로토콜을 사용하는 AWS 리소스와 연동됨
CloudFront, Application Load Balancer, API Gateway 등
- 리소스 필수
- Web ACL Capacity Units (WCU):
- WAF 규칙의 복잡도를 나타내는 단위임
- Web ACL당 총 WCU는 5000을 초과할 수 없음
- 1500 WCU 이상 사용 시 요금에 영향이 있음
로드 밸런서 (Load Balancer)
- 정의: 여러 대의 서버에 트래픽을 고르게 분산시켜 서비스의 성능, 안전성, 확장성을 향상시키는 장치임
- 주요 기능:
- 트래픽 분산: 요청을 여러 서버에 고르게 나눔
- 헬스 체크: 서버 상태를 주기적으로 확인해 문제 있는 서버는 제외함
- 장애 대응: 특정 서버 다운 시 자동으로 다른 서버로 트래픽을 우회시킴
- 보안 기능: SSL 종료 기능을 제공해 HTTPS를 처리함
- 동작 구조:
- 클라이언트는 항상 로드 밸런서 한 곳에만 요청함
- 로드 밸런서가 트래픽을 분배 규칙에 따라 서버로 전달함
- 서버가 응답을 로드 밸런서를 통해 다시 클라이언트에게 반환함
- 유형:
- ALB (Application Load Balancer):
7계층(HTTP/HTTPS)에서 작동하며 URL, 헤더 기반 라우팅이 가능함
- NLB (Network Load Balancer):
4계층(TCP/UDP)에서 작동하며 초고속 트래픽 처리에 적합함
- 분산 알고리즘:
Round Robin: 서버 순서대로 요청 분배 (가장 일반적)
Least Connections: 연결 수가 가장 적은 서버에 요청을 보냄
Weighted Round Robin: 서버 성능에 따라 가중치를 부여해 분배함
로드 밸런서 설정 방법
로드 밸런서를 설정하는 과정은 다음과 같은 단계로 진행됨
- 1. 로드 밸런서 유형 선택:
- EC2 대시보드에서
로드 밸런서 생성을 클릭한 후, Application Load Balancer나 Network Load Balancer 등 원하는 유형을 선택함
- 2. 기본 구성:
- 로드 밸런서 이름: AWS 계정 내에서 고유한 이름을 지정함 (최대 32자, 하이픈으로 시작/끝나지 않도록)
- 체계 정보:
인터넷 경계(Internet-facing) 또는 내부(Internal)를 선택함
- IP 주소 유형:
IPv4 또는 듀얼 스택을 선택함
- 3. 네트워크 매핑:
- 로드 밸런서를 배치할 VPC를 선택함
- 최소 2개 이상의 가용 영역(Availability Zone)과 서브넷을 선택해야 트래픽을 효율적으로 분산할 수 있음
- 4. 보안 그룹 설정:
- 로드 밸런서에 대한 트래픽을 제어하는 방화벽 규칙 세트임
- 기존 보안 그룹을 선택하거나 새 보안 그룹을 생성함
- 5. 리스너 및 라우팅:
- 리스너: 사용자가 구성한 포트와 프로토콜(예: HTTP:80)로 연결 요청을 확인하는 프로세스임
대상 그룹으로 전달을 선택해 요청을 라우팅할 대상 그룹을 지정함
- 6. 대상 그룹 설정:
- 로드 밸런서가 요청을 전달할 서버들을 묶어놓은 그룹임
- 대상 유형을
인스턴스나 IP 주소 등으로 선택함
- 사용 가능한 인스턴스를 선택하고 포트(예: 80)를 지정해 대상 그룹에 등록함
- 7. 검토 및 생성:
- 모든 설정을 검토한 후 로드 밸런서 생성을 완료함
- 설정 후 즉시 적용되지 않고 트래픽 라우팅에 몇 분이 소요될 수 있음
보안 로그 분석 서비스
- Amazon Kinesis Firehose: 실시간 스트리밍 데이터를 자동으로 수집, 변환, 저장하는 서비스임
- Amazon Redshift: 빅데이터 분석에 특화된 클라우드 데이터 웨어하우스임
- Amazon OpenSearch Service (Elastic Search): 대규모 텍스트 데이터를 빠르게 검색하고 로그를 실시간 분석하는 서비스임