마지막으로 S3에 대해서 설명을 하면 얼추 아키텍처에 대한 소개는 다 한 것 같다.
AWS에는 스토리지가 총 크게 3개가 있다고 보면 될 것 같다.
EBS, EFS, S3.
각각 블록 스토리지, 파일 스토리지, 오브젝트 스토리지.
S3를 사용한 이유는 S3가 간단, 간편한 것도 이유가 있지만, S3를 HTTP 프로토콜로 접근이 가능하여, S3의 버킷을 웹 사이트 호스팅용으로 구성한 후 컨텐츠를 버킷에 업로드하여 정적 웹 사이트를 호스팅하는 것이 가능하기 때문이다.
간단하게 말하면 웹 서버 기능이 가능하다는 것인데, EC2-EBS 형식으로 웹 서버를 구성하는것보다 S3 하나를 이용하는 것이 더 저렴하고 간단하다.
그리고 S3를 이용하면, 위 그림에 포함 된 S3 Glacier, 혹은 IA 와 같은 저렴한 비용의 스토리지로 S3 life cycle을 이용하여 보관이 용이하다.
그래서 정적인 컨텐츠는 저 VPC 들릴 필요 없이 S3에서 바로 제공이 가능하고, 동적 컨텐츠는 VPC로 들어가 DB까지 거쳐 나오면 된다.
S3에는 정적 컨텐츠를 위한 데이터 뿐만 아니라 이미지, 영상 같은 데이터들도 포함한다.
동적 컨텐츠와 정적 컨텐츠를 가르는 사이에 CloudFront라는 것이 있는데, 이는 CDN 서비스로 엣지 로케이션에 컨텐츠를 캐시하여 사용자에게 빠른 컨텐츠 제공을 지원한다.(latency가 줄음, 물리적으로 거리가 가까워져서)
동적 컨텐츠는 캐시된 데이터가 사용되지 않을 경우가 많아(TTL(time to live)=0 CloudFront가 필요 없어 보일 수 있지만, Cloudfront를 통한 연결은 엣지와 AWS 리전 사이가 최적화된 네트워크로 구성되어 있고, TCP/IP가 최적화 되어 있어 높은 성능을 기대할 수 있다. 또한 원본과 지속적인 연결을 유지하기 때문에, TCP/IP 연결을 위해 거치는 3 way handshake를 반복하지 않아도 된다. 지리적인 요인으로 RTT(round tirp time)가 클 수가 있는데 이 단점을 해결할 수 있다. 또한 Cloudfront가 제공하는 Gzip이라는 압축 서비스로 데이터의 크기를 줄여 트래픽을 줄이고, 더 짧은 시간에 전송할 뿐만 아니라 이를 통해 비용도 절감할 수 있다.(CF에서 압축을 하기 때문에 오리진에서 큰 컨텐츠를 압축할 필요가 없어서 오리진의 리소스 아낄 수 있다.)
그리고 CloudFront 앞에 WAF를 위치시켰다. WAF는 웹 애플리케이션 방화벽으로 웹의 비정상적인 트래픽을 탐지하고 차단하기 위한 방화벽으로, 일반적은 방화벽(FW)은 TCP/IP 기반으로 차단을 하지만, WAF는 웹 트래픽에 대한 Payload(데이터 부분) 분석 및 패턴 기반의 필터링을 통해 차단을 한다.(L7 공격 방어 가능) WAF의 위치는 ELB(ALB)와 연동 시킬 수도 있지만, CF와 연결 시킨 이유는 VPC로 비정상적인 트래픽이 들어가는 것을 사전에 차단 시키기 위함이다.
그리고 최상단에는 Route53이 있는데, Route53은 AWS에서 제공하는 DNS 이다. Route53은 DNS 기능 뿐만 아니라 모니터링, L4, GSLB 등의 기능도 지원한다. 모니터링 기능을 지원하고 L4기능을 지원하다보니 Fail over, LB 기능이 가능하다. region 간 Active Active 혹은 Active Standby 구성을 지원하고(각각 LB, Failover) 지역별 유입 트래픽을 조절하여 latency를 줄일 수 있다.
'개인 공부 > 면접 준비' 카테고리의 다른 글
DAY? AWS로 마이그레이션 하기 (0) | 2022.08.30 |
---|---|
DAY? AWS를 활용한 웹 3Tier Architecture_4 (0) | 2022.08.30 |
DAY? AWS를 활용한 웹 3Tier Architecture_2 (0) | 2022.08.29 |
DAY? AWS를 활용한 웹 3Tier Architecture_1 (0) | 2022.08.29 |
DAY? 통신 프로토콜 (0) | 2022.08.28 |