클라우드,네트워크,서버/AWS Basic

[AWS Basic] CloudFront CDN(Contents Delivery Network) 서비스설정

설레임하우스 2022. 8. 4. 10:56
728x90
반응형
목표 구성

사용자 PC 에서 버지니아 북부 EC2 의 오리진 서버 직접 접속 및 지연시간 테스트

CloudFront 를 통한 CDN 서비스 설정 후  접속 및 지연시간 테스트 비교

CloudFront CDN 서비스 목표 구성

1. VPC 생성

리전 : 버지니아 북부 선택

VPC 리전 선택

이름 : US-VPC , IPv4 : 10.0.0.0/16 

vpc 생성

DNS 호스트 이름 활성화 체크

VPC DNS 호스트이름 활성화

2. 서브넷 생성 

이름 : US-Public-SN-1 , IPv4 : 10.0.0.0/24 ,  AZ: us-east-1(버지니아 북부)

서브넷 생성 및 vpc 연결

3. 라우팅테이블 생성 및 서브넷 연결

이름 : US-Public-RT , 서브넷 연결 : US-Public-SN-1 , 라우팅 : 0.0.0.0->US-VPC-IGW 추가

라우팅테이블 생성 및 서브넷 연결

4. 인터넷 게이트웨이 생성 및 VPC 연결

이름 : US-VPC-IGW , VPC 연결 : US-VPC

인터넷 게이트웨이 생성 및 VPC 연결

5. EC2 인스턴스 생성 

이름 : US-EC2 , 연결 : US-Public-SN-1 , HTTP 구성

보안그룹 : HTTP , 0.0.0.0/0 접속 허용 추가

EC2 인스턴스 생성

6. HTTP 서비스 설치 및 기동

sudo su -
yum install httpd -y
systemctl start httpd #http 서비스 시작
systemctl status httpd #서비스 상태확인
echo "<h1>us-ec2 test page 1</h1>" > /var/www/html/index.html
curl localhost

http 서비스 설치
http 서비스 기동 및 테스트 페이지 생성

7. route 53 ec2 인스턴스 A레코드 등록

단순 라우팅-> 단순 레코드 정의

레코드 이름 : 빈칸 , 레코드 유형 : A 레코드 선택,  값/트래픽 라우팅 대상 : 레코드유형에 따라 IP주소 또는 다른값 선택(EC2 인스턴스 Public ip 추가)

Route 53 A 레코드 등록

8. 페이지 접속 확인 및 지연시간 확인

평균 지연시간  : 240ms 정도이며, 평상시 느리다고 체감할 정도의 속도는 아니다.

상파울로 리전에서 ec2생성을 했을시 지연시간은 더 발생 할수 있을 것이다.

오리진서버 직접 접속 지연시간

9. CloudFront 설정

원본 도메인 : US-EC2 인스턴스의 도메인(ec2-44-193-X-X.compute-1.amazonaws.com)

Cloudfront 설정

기본 캐시 동작 : default 설정값 유지

설정 -> 가격분류 : 모든 엣지 로케이션 사용(최고의 성능)

대체 도메인 이름 : cdn.travellife.site

사용자 정의 ssl 인증서 : *.travellife.site 선택

기본값 루트 객체 : /index.html 

Distribution 설정
CloudFront 생성 확인

10. route 53 레코드 등록

레코드 이름 : cdn , 레코드 유형 : A , 값/트래픽 라우팅 대상 : CloudFront 배포에 대한 별칭

Route 53 CloudFront 레코드 등록
route 53 레코드값 확인

11. 웹 접속 및 지연시간 테스트

최초 cdn.travellief.site 접속 시 오리진서버의 컨텐트 요청 및 응답 

그후 Distribution 의 엣지로케이션으로 배포하여 동기화 

오리진서버 직접 접속시 평균 지연시간 : 240ms , Distribution 의 엣지 로케이션 접속시 평균 지연시간 : 13ms

X-Cache 의 필드값이 hit from cloudfront 로 콘텐츠 응답을 엣지 로케이션이 응답을 주었다는 의미

구글 크롬 개발자화면에서 x-cache 상태

12. 자원삭제

Cloudfront 배포 비활성화 ->삭제-> 레코드 삭제->EC2 인스턴스 삭제->VPC 삭제

728x90
반응형