Amazon Route 53을 통한 도메인 등록 방식을 이해하고, 오리진 서버와 직접 통신하는 방식과 Amazon CloudFront를 이용하여 통신하는 방식의 차이를 확인하기
실습 단계
- Amazon Route 53을 통해 도메인 등록
- 실습을 위한 기본 인프라를 CloudFormation으로 배포
- Amazon Route 53을 설정하고 기본 인프라 환경의 검증을 수행
- Amazon CloudFront Distribution을 생성
- Amazon Route 53을 설정하고 Amazon CloudFront 환경의 검증을 수행
- 생성된 자원 모두 삭제
*CloudFormation: AWS 리소스(서버, 네트워크 등)를 코드로 자동 생성하고 관리해 주는 IaC(Infrastructure as Code) 도구
1. Amazon Route 53을 통한 도메인 등록
- 서비스 > Route 53 에 진입 후 등록된 도메인 > 도메인 등록을 선택

- TLD 별 비용 확인 및 설정
• 가장 저렴한 .click - $ 3.00으로 선택 - 원하는 도메인 이름 입력(저는 msjwa.click으로 진행했습니다)
- 도메인 이름의 상태가 ‘사용 가능’ 인지 확인 후 장바구니에 추가

- 개인 정보 영문으로 입력 후 계속 선택
- 도메인 자동 갱신은 비활성화 선택

- ‘AWS 도메인 이름 등록 약관’ 체크
- 주문 완료 후 등록을 진행. 도메인 생성까지 시간이 조금 걸립니다.

1-2. Amazon Route 53 도메인의 호스팅 영역 진입
- 서비스 > Route 53 서비스에서 호스팅 영역 선택

- 생성된 도메인의 호스팅 영역에서 가지고 있는 레코드 확인 후 레코드 생성

- 테스트용 레코드를 다음과 같이 설정
1. 레코드 이름:test (서브 도메인)
2. 레코드 유형: A 레코드 유형
3. A 레코드의 IPv4 값: 8.8.8.8
4. 라우팅 정책: 단순 라우팅 - 레코드 생성

- 현재 test.각자_도메인_이름 이라는 도메인은 A 레코드 유형으로 IPv4 주소를 8.8.8.8로 매핑함
- 터미널에서 아래 명령어를 수행하여 테스트 진행
# [test.각자_도메인_이름]으로 nslookup 테스트
nslookup test.각자_도메인_이름
# [test.각자_도메인_이름]으로 ping 테스트
ping test.각자_도메인_이름

- 테스트 후에는 생성한 레코드 삭제를 진행합니다.
2. CloudFormation을 통한 기본 인프라 배포
- 본 실습은 오리진 (Origin) 서버의 지연 시간을 높이고자 ‘상파울루 리전’에서 실습을 진행
- 남아메리카 (상파울루) sa-east-1 리전을 선택 후 CloudFormation 메뉴에서 스택 생성을 클릭

- Amazon S3 URL 에 다음 URL을 입력 후 다음 선택
https://cloudneta-aws-book.s3.ap-northeast-2.amazonaws.com/chapter7/cflab.yaml

- 스택 세부 정보 지정에서 스택 이름으로 ‘CF-LAB’ 입력 후 별도의 변경 없이 옵션 구성과 검토까지
다음 > 다음 > 전송을 선택 - 일정 시간이 지나 스택 상태가 ‘CREATE_COMPLETE’가 되면 CloudFormation 페이지의 출력
탭에서 EC2 인스턴스의 퍼블릭 IP 주소를 복사


3. Amazon Route 53 설정과 기본 인프라 검증
- Amazon Route53 > 호스팅 영역 에서 위에 생성한 도메인 이름 클릭

- 아래 정보로 레코드 생성
1. 레코드 이름: 빈칸 유지
2. 레코드 유형: A 레코드 유형
3. 값: 인스턴스의 퍼블릭 IP 주소
4. 라우팅 정책: 단순 라우팅 - 레코드 생성

- 신규 레코드를 통해 각자의 도메인에 각자 생성한 인스턴스의 퍼블릭 IP 주소가 연결됨
- 계속해서 사용자 PC에서 상파울루 리전에 생성된 EC2 인스턴스로 웹에 접근해 보겠습니다. 해당 인스턴스는 대용량의 이미지 파일이 추가되어 있습니다.

- 구글 크롬 브라우저를 통한 지연 시간 체크
• 구글 크롬 브라우저에서 개발자도구를 실행 후 Network 탭을 클릭
• Amazon Route 53에서 정의한 도메인 주소로 접근
• 10MB의 대용량 이미지를 출력하기 때문에 약간의 지연 시간이 발생하며, 구글 크롬 브라우저의
캐시 비우기 및 강력 새로고침 (shift+command/control+r) 을 통해 지연시간을 반복 측정합니다.

4. Amazon CloudFront Distribution 생성
4-1. AWS Certificate Manager를 통한 도메인 인증서 등록
- 본 작업을 위해서는 도메인 인증서를 등록하는 과정이 선결되어야 하며, 이를 위해 미국 동부
(버지니아 북부) us-east-1 리전을 선택 후 AWS Certificate Manager 서비스에 접속 - 인증서 요청 선택 후 퍼블릭 인증서 요청 선택


- 완전히 정규화된 도메인 이름에 *. 각자_도메인_이름 을 입력
- 검증 방법은 DNS 검증을 선택하여 요청

- 새로고침을 클릭 후 인증서 ID 값을 선택하여 Route53 에서 레코드 생성 > 레코드 생성 클릭
- 약 5분 내외로 인증서가 발급됩니다.

4-2. Amazon CloudFront Distribution 생성
- EC2 > 인스턴스 에서 생성한 인스턴스를 체크하고 퍼블릭 DNS 주소를 복사. 리전은 다시 상파울루로 변경해야 됩니다!

- Amazon CloudFront 의 CloudFront 배포 생성 을 선택 후 다음과 같이 설정
1. 원본 도메인: EC2의 퍼블릭 DNS 주소
2. 프로토콜: HTTP만 해당
3. 자동으로 객체 압출: No
4. 뷰어 프로토콜 정책: HTTP and HTTPS
5. 캐시 키 및 원본 요청: Legacy cache settings
6. 웹 어플리케이션 방화벽: 보안 보호 비활성화
7. 가격 분류: 모든 엣지 로케이션에서 사용
8. 대체 도메인 이름: 항목 추가 > cdn.각자_도메인_이름
9. 사용자 정의 SSL 인증서: 발급받은 ACM 인증서
10. 기본값 루트 객체: /index.php
11. IPv6: 끄기





- 배포 생성 클릭

- cdn.각자_도메인 으로 접속해서 이전과 동일하게 구글 크롬 브라우저를 통해 지연 시간 체크 가능.
5. Amazon Route 53 설정과 CloudFront 환경 검증
- Amazon CloudFront 에서 Distribution 도메인 이름 복사

- Amazon Route53 > 호스팅 영역 에서 위에 생성한 도메인 이름 클릭
- 아래 정보로 레코드 생성
1. 레코드 이름: cdn
2. 레코드 유형: A 레코드 유형
3. 별칭 선택 > CloudFront 배포에 대한 별칭 선택 > Distribution 도메인 이름 선택
4. 라우팅 정책: 단순 라우팅

- 레코드 생성

- 신규 레코드를 통해 각자의 cdn 레코드가 Amazon CloudFront의 Distribution에 연결

- 이전과 동일하게 구글 크롬 브라우저를 통해 지연 시간을 체크 해봅니다.

6. 자원 삭제(실습 종료)
- CloudFront > 배포 에서 생성한 Distribution 을 선택한 후 비활성화 를 선택
- 비활성화 작업은 5분 내외로 소요됩니다.

- CloudFront > 배포 에서 비활성화된 Distribution 을 선택한 후 삭제 를 선택


- 버지니아 북부 리전의 Amazon Certificate Manager 에서 인증서 나열 선택 후 생성한 인증서의
삭제 를 선택

- Amazon Route 53 > 호스팅 영역 에서 생성한 레코드를 체크 후 삭제 를 선택

- (위 CloudFront 삭제가 완료되었는지 확인 후) 상파울루 리전의 CloudFormation > 스택 에서 CF-
LAB 을 체크 후 삭제 를 선택

- 삭제 되었는지 꼭 확인하기

참고 자료
- 길벗출판사, AWS 교과서
이 게시글은 해당 교재를 기반으로 하여 진행되었으며, 구체적인 설명은 교재를 참고하실 수 있습니다.
'Security > Cloud' 카테고리의 다른 글
| [AWS] AWS CLI 설치 및 명령어 사용 (0) | 2025.02.27 |
|---|---|
| [AWS] 워드프레스 단일/복합 환경 구성 (0) | 2024.11.27 |
| [AWS] Amazon VPC로 퍼블릭/프라이빗 서브넷 구성하기 (1) | 2024.11.24 |
| [AWS] AWS EC2 인스턴스 배포 및 접근(for mac) (1) | 2024.11.23 |
| 로드밸런싱(Load Balancing) (1) | 2024.11.20 |