728x90
CloudFront 개요
- CDN 으로 엣지 로케이션의 콘텐츠 캐싱을 이용해 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 서비스
- 전세계에 배포된 200개이상의 엣지 로케이션을 이용하여 콘텐츠 전송
- 엣지 로케이션은 데이터를 임시 저장할 수 있는 캐싱 기능이 있음
- 글로벌 배포 서비스로 콘첸츠 지연시간을 최소화
- EC2등의 오리진 서버의 부하를 줄일 수 있음
- 오리진에서 CloudFront 로 전송되는 비용은 부과 되지 않으므로 비용 절감 효과가 있음
CloudFront - Origin Group
- 고가용성을 위해 기본 origin 과 보조 origin 을 그룹으로 묶는다.
- 기본 오리진을 사용할 수 없거나 실패코드가 돌아오면 보조 오리진에게 요청을 보내는 방식이다.
- 오리진은 s3, ec2 , elastic LB등 뭔가 요청을 받을 수 있는 서비스이면 된다.
Lambda@Edge
- CloudFornt를 통해 전달되는 콘텐츠를 받거나 줄떄 일종의 트리거 처럼 람다함수를 실행 할 수 있게 해준다.
- 최종 사용자의 요청을 수신할때
- 오리진에 요청을 전달하기 전
- 오리진의 응답을 수신할 때
- 최종 사용자에게 응답을 반환하기전
- 실제 사용사례
- A/B 테스트를 위해 사이트의 다양한 버전을 볼 수 있도록 쿠기를 검사하고 URL을 다시작성
- User-Agent 헤더를 확인하여 사용 중인 디바이스를 기반으로 디바이스의 화면 크기에 따라 다른 이미지를 반환
- 최종 사용자 요청 또는 오리진 요청 이벤트가 발생할 때 HTTP 응답을 생성
- 데이터 전송 비용을 줄이기 위해 사용자에게 전송되는 파일을 압축
CloudFront 보안
프로토콜을 이용한 보안정책
OAI (Origin Access Identity)
OAI를 통해 s3 버킷의 액세스를 클라우드 프론트를 통해서만 하도록 할 수 있게 하는 기능
Cloud Front에서 원본 액세스에서 원본엑세스제어 ID( OAI ) 를 만든후 cloudfront설정에서 s3 버킷 액세스에서 원본엑세스 제어설정 을 설정후 정책복사를 한다.
버킷정책에 위와 같이 복붙해준다. s3 GetObject를 AWS:SourceArn 이 있는 애만 허용해주겠다 는 의미이다.
Signed URL , Signed Cookies
- 서명된 URL, cookie를 이용해 콘텐츠에 접속하는 기능
- url, cookie에 콘텐츠 만료기간, 액세스가능 ip를 저장할 수 있음
- 서명된 url은 1개의 파일에 1개의 서명만 저장 (1개의 파일 접속을 위한 URL)
- 서명된 쿠키는 하나ㅢ 쿠키로 여러 개의 파일 접속 가능
지역 제한 (geographic restirctions)
- 특정국가에서 콘텐츠 액세를 제한
- 화이트리스트 ,블랙리스트 방식이 존재
Aws Web Application FireWall (WAF) , Aws Shield 와 결합해 DDos 방어 기능을 함
필드레벨 암호화
- 신용카드 번호와 같이 사용자가 제출한 데이터를 안전하게 오리진 서버로 업로드 할 수 있게 해주는 CloudFront의 기능
- PUT/POST 요청이 오리진으로 전달되기전에 엣지 로케이션에서 비대칭 암호화 키를 사용하여 데이터를 추가로 암호화
- 데이터는 프라이빗 키를 가진 앱에서만 복호화 할 수 있음
Global Accelerator
- 가장 가까운 위치로 트래픽을 라우팅하여 인터넷 대기시간을 줄이고 전송 성능을 향상하는 서비스
- Global Accelerator를 미사용시 서버로 부터 지리적으로 먼 사용자는 많은 인터넷 라우팅을 하여 속도가 느림
- Global Accelerator를 사용하면 사용자는 가까운 거리의 엣지 로케이션으로 라우팅하고 엣지로케이션과 서버는 AWS 전용 네트워크 연결로 전송속도가 빠름
- 글로벌 액셀러레이터에는 2개의 Anycast 퍼블릭 고정 IP가 생성됨 (IP 주소 연결 방식)
- Anycast는 네트워크 트래픽을 가장 가까운 노드로 전송하는 라우팅 방식
- Elastic IP , EC2 인스턴스, ALB, NLB 등의 AWS 엔드포인트를 연결하여 사용가능
- 앱의 health check 기능을 통해 하나의 서버 장애 발생시 다른 서버로 라우팅 가능
global accelerator endpoint 에 가면 region 별로 listener endpoint 가 존재한다.
각 endpoint에 ec2, s3, alb 등등이 연결되어있고 헬스체크를 하게된다.
헬스체크에 실패하면 기존에 가까운 region에 있는 서비스에 연결되지 않고 다른 region에 헬스체크에 성공한곳으로 연결해준다.
728x90
'Cloud > AWS Certified Solutions Architect - Asso' 카테고리의 다른 글
데이터 분석 서비스 (0) | 2023.08.22 |
---|---|
데이터베이스 (0) | 2023.08.21 |
스토리지 - 기타 (0) | 2023.08.14 |
스토리지 - S3 (0) | 2023.08.08 |
EC2 스토리지 (0) | 2023.08.07 |