IP: 인터넷에서 장치나 서버의 위치를 나타내는 고유한 주소
Port: 특정 IP 내에서 여러 애플리케이션이나 서비스를 구분하기 위한 번호
Well-Known Port : 잘 알려진 포트
도메인 이름을 관리하는 서비스
도메인 구매 및 DNS 레코드를 설정하는 곳
A 레코드와 CNAME 레코드를 설정하여 트래픽을 지정된 서버로 전달하는 역할
콘텐츠 전송 네트워크(CDN)로, 전 세계적으로 사용자에게 더 빠르게 콘텐츠를 제공하는 역할
S3 버킷에 저장된 콘텐츠를 CloudFront 엣지 서버에 캐시하여 빠르게 전달
www.example.com
과 같은 도메인으로 접속example.com → IP (CloudFront)
www.example.com → d123.cloudfront.net
example.com → 123.456.78.90
(이 IP 주소가 서버)www.example.com
→ d123abc.cloudfront.net
d1234abcd.cloudfront.net
cdn.mysite.com
cdn.mysite.com
→ CNAME → d1234abcd.cloudfront.net
무료 도메인은 초기 비용을 절감할 수 있고 간단한 블로그나 테스트 용도로는 적합하나, 제공 업체에 소유권이 귀속되어 도메인을 잃을 위험이 있으며, 브랜드 신뢰도나 SEO 측면에서 불리할 수 있음
Amazon Certificate Management에서 인증서 발급 필요, SSL 인증서 설정
AWS Certificate Manager에서 인증서를 발급받고, 이를 CloudFront에 연결하여 HTTPS를 적용
Request a certificate (인증서 요청)
퍼블릭인증서 요청 (Request a public certicicate)
Domain names에 구매한 도메인 oz-practice.p-e.kr
주소 입력
인증서 발급 절차 완료
AWS에서 SSL 인증서 (HTTPS 적용)를 하기 위해 도메인 소유권 확인 절차가 필요
oz-practice.p-e.kr
도메인에 HTTPS(보안 연결)를 적용하려고 할 때, AWS는 해당 도메인에 대한 소유권이 있는지 확인을 요구함
확인 방법 : CNAME 레코드를 DNS에 추가하는 것
이를 위해 CNAME value 제공 (AWS 인증서에서 확인 가능)
항목 | 설명 |
---|---|
CNAME name | 인증을 위한 서브 도메인 (자동 생성됨) |
CNAME value | AWS가 제공한 인증값 (우리가 붙여야할 주소) |
도메인 사이트 (가비아, 카페 24 등) | CNAME을 설정하는 곳 |
도메인 사이트에서 CNAME 설정
AWS에서 보여준 CNAME name / value 복사
도메인 관리 페이지 (예: 가비아, 카페24, 호스팅케이알 등)에 접속
DNS 관리에서 CNAME 레코드 추가
- 왼쪽 빈 칸에 name, 오른쪽 빈 칸에 value
새롭게 수정된 React 프로젝트는 S3 버킷에 업로드 된다. 하지만 해당 변경사항이 바로 Cloud Front에 실시간으로 적용되지 않는다.
npm run build
npm run build
기존의 파일 삭제
새롭게 build된 파일들 업로드
S3의 도메인에서는 변경사항 반영
Cloud front에서는 반영 X
왜 안될까?
/*
’를 삽입하고 무효화 생성앱 개발 단계에 자동화를 통합하는 앱 제공 방식
자동 배포를 위해 CI/CD 파이프라인을 사용하여, 애플리케이션 업데이트 시 자동으로 CloudFront 캐시 무효화와 파일 업데이트가 이루어지도록 설정할 수 있음