AWS
DNS Domain Name System
인간이 기억하기 쉬운 문자 형태의 주소를,
컴퓨터가 처리할 수 있는 숫자 형태의 IP 주소로 바꿔주는 시스템(서버)
DNS 동작 과정
- 문자 형태의 주소를 입력
- DNS에서 숫자 형태의 IP 주소로 변환
- 받아온 IP 주소를 이용하여 IP 주소에 해당하는 서버와 통신
IP
웹사이트가 배포된 서버(컴퓨터)를 가리키는 주소
Port
한 컴퓨터 내에서 실행 중인 특정 프로그램 주소
e.g. 13.250.15.132:3000의 :3000
특정 서버의 특정 프로그램과 통신하기 위해서는
서버를 가리키는 IP 주소와 프로그램을 가리키는 Port 번호를 모두 알고 있어야 한다.
하지만 우리가 사이트 주소에서 Port 번호 없이 IP 주소를 가리키는 문자 형태의 주소만 입력하는 이유는,
기본적으로 웹사이트는 Port 번호 :80에 지정되어 있고,
이 :80을 생략해도 기본 Port 번호로 :80을 가리키기 때문이다.
Amazon S3, CloudFront, DNS를 활용한 웹 애플리케이션의 콘텐츠 제공 아키텍처
구성 요소
- 사용자 (Users)
웹 브라우저를 통해 웹사이트를 요청하는 주체 - DNS (Domain Name System)
사용자가 입력한 도메인 주소를 해당 서버의 IP 주소로 변환해주는 시스템 - CloudFront
AWS에서 제공하는 콘텐츠 전송 네트워크(CDN)
콘텐츠를 빠르게 제공하기 위해 전 세계 여러 위치에 데이터를 캐싱하여 사용자와 가까운 곳에서 제공 - S3 (Simple Storage Service)
AWS에서 제공하는 스토리지 서비스로,
웹 애플리케이션의 정적 파일(HTML, CSS, JavaScript, 이미지 등)을 저장
흐름
- 사용자가 도메인 주소 입력
사용자가 브라우저에서 https://example.com과 같은 도메인 주소를 입력 - DNS를 통한 도메인 주소 → IP 주소로 변환
도메인 네임 서버(DNS)가 사용자가 입력한 도메인을
CloudFront의 배포 도메인(예: d12345.cloudfront.net)으로 매핑하여,
해당 CloudFront의 IP 주소를 반환 - CloudFront에서 콘텐츠 제공
CloudFront는 사용자가 위치한 지역에서 가장 가까운 엣지 로케이션에 접근
엣지 로케이션이 캐싱된 콘텐츠를 가지고 있으면 즉시 사용자에게 반환 - 캐싱 데이터가 없을 경우 S3 요청
캐싱된 데이터가 없다면, CloudFront는 S3 버킷에 콘텐츠 요청
가져온 데이터를 사용자에게 전달함과 동시에 엣지 로케이션에 캐싱
이후 동일 콘텐츠 요청 시 더 빠르게 응답할 수 있도록 준비
도메인 연결하기
- 도메인 발급
- 도메인 발급 플랫폼에서 도메인 발급
- 도메인과 CloudFront 연결하기
- 발급한 도메인 설정에서 CNAME에 CloudFront에서 배포한 주소 붙여넣기
(CNAME에 설정된 도메인 주소의 IP를 받아오게 되는 원리) - SSL/TLS 인증서 발급 (HTTPS 사용을 위한 인증서)
- AWS Console에서 certificate 검색 후 Certificate Manager 클릭
- 우상단에 지역 설정에서 N.Virginia 선택
(North Virginia에서 발급한 인증서만 CloudFront에 적용 가능) - Request a certificate 클릭 후 Request a public certificate 체크된 상태로 Next 클릭
- fully qualified domain name에 발급받은 도메인 입력 후 Request 클릭
- SSL/TLS 인증서와 도메인 연결
- 인증서 상세 페이지 내 Domains에 적힌 CNAME name과 CNAME value를 각각 서브도메인과 CNAME으로 설정
- CNAME name에서는 도메인 주소 앞 부분만 복사하여 서브 도메인에 붙여넣기
- CNAME value 마지막에 있는
.은 빼고 붙여넣기
- 인증서 상세 페이지 내 Domains에 적힌 CNAME name과 CNAME value를 각각 서브도메인과 CNAME으로 설정
- CloudFront에 인증서 및 도메인 연결하기
- CloudFront에서 연결하고자 하는 배포 클릭
- Settings칸의 Edit 버튼 클릭
- Alternate domain name (CNAME)에 발급받은 도메인 주소 입력
- Custome sSL certificate에 발급받은 인증서 선택
- Save changes 버튼 클릭
- 발급한 도메인 설정에서 CNAME에 CloudFront에서 배포한 주소 붙여넣기
'Notes > AWS & Cloud' 카테고리의 다른 글
| AWS JAM 후기 (1) | 2024.12.02 |
|---|---|
| AWS Chapter. 5 (0) | 2024.11.29 |
| AWS Chapter. 4 (0) | 2024.11.29 |
| AWS Chapter. 2 (1) | 2024.11.29 |
| AWS Chapter. 1 (0) | 2024.11.27 |