DevOps/AWS

[AWS] Route 53을 이용해 Gabia에서 구입한 도메인 연결 + Load Balancer, Certificate Manager를 이용하여 http -> https 적용

SeungbeomKim 2023. 5. 29. 21:49
반응형

<기본적인 세팅 과정>

1. Gabia에서 도메인을 구매

2. EC2 생성 시 HTTP, HTTPS 허용

3. swap 메모리 늘리기 

(출처 : https://blog.naver.com/sosow0212/222883930459)

# Swap 메모리 할당
sudo dd if=/dev/zero of=/swapfile bs=128M count=16

# Swap file 읽기 및 쓰기 권한 업데이트
sudo chmod 600 /swapfile

# Swap 영역 설정
sudo mkswap /swapfile

# Swap 공간에 Swap file을 추가하여 Swap file을 즉시 사용할 수 있게 변경
sudo swapon /swapfile

-----------------------------------------------------------------------
## Swap 파일 활성화 하기 /etc/ 디렉토리 이동 후 fstab 파일 편집

# 1-1. etc 디렉토리 이동
cd ~/../../etc

# 1-2. fstab 파일 수정하기
sudo vi fstab

# 1-3. fstab 파일 맨 아래 줄에 다음과 같은 코드 추가
/swapfile swap swap defaults 0 0

 

스프링부트 프로젝트는 굉장히 무겁기 때문에, Swap 메모리를 늘려줘야 합니다.  

free 명령어를 통해 현재 할당 가능한 메모리를 확인할 수 있습니다.

 

Route 53에 대해서 설명드리겠습니다. 

쉽게 설명드리면 DNS(Domain Name Server)입니다. DNS는 클라이언트가 www.example 도메인에 접속하였을 때, 해당 도메인을 도메인과 연결된 ip주소로 변환해 주는 기능을 해주는 시스템입니다. 

 

1. 다음과 같이 AWS Route 53에 들어가 호스팅 영역 생성을 눌러줍니다.

본인이 구매한 도메인사이트에서 구매한 도메인 입력

2. 호스팅 영역을 생성하게 되면, 가비아에서 구매한 도메인의 네임 서버에 값/트래픽 라우팅 대상과 같이 등록해줍니다.

 

3. 로드밸런서(Load Balancer) 생성

출처 : https://m.post.naver.com/viewer/postView.naver?volumeNo=27046347&memberNo=2521903

수많은 사용자들이 서버에 요청을 보내게 되면, 트래픽이 매우 많아집니다. 그래서 하나의 서버가 감당하기에는 매우 어렵습니다. 이를 위해, 로드 밸런서를 구축하여 높은 트래픽을 여러대의 서버로 분산해주는 기술을 적용시키면 수 많은 트래픽을 감당할 수 있게 됩니다. 

로드밸런서는 서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 장치 또는 기술을 의미하며, 로드밸런싱을 통해 하나의 서버로 부하가 집중되지 않도록 트래픽을 분산시킬 수 있게 됩니다. 

 

4. ALB(Application Load Balancer) 생성

 

로드 밸런서(Load Balancer)는 클라이언트에 대한 단일 접점의 역할을 수행합니다. 여러 가용 영역에서 EC2와 같은 여러 대상에 수신 애플리케이션 트래픽을 분산합니다. 이러면 애플리케이션의 가용성이 증가하게 됩니다. 로드 밸런서에 하나 이상의 리스너를 추가할 수 있습니다.

 

리스너(Listener)는 구성한 프로토콜 및 포트를 사용하여 클라이언트의 연결 요청을 확인합니다. 리스너에 정의한 규칙에 따라서 로드밸런서가 등록된 대상으로 라우팅(네트워크 경로 선택)하는 방법이 결정됩니다.

 

대상 그룹(Target Group)은 지정한 프로토콜과 포트 번호를 사용하여 EC2와 같은 인스턴스 같은 하나 이상의 등록된 대상으로 요청을 라우팅 합니다. 여러 대상 그룹에 대상을 등록할 수 있습니다.

 

Application Load Balancer를 Create 해주는 이유는 HTTPS 리스너를 생성할 때 ACM(AWS Certificate Manager)에서 제공한 인증서를 지정할 수 있기 때문입니다. 그래서 HTTP를 HTTPS로 바꿔주기 위해 ALB를 생성해 주었습니다.

 

5. Listener 생성 (80)

6. 대상 그룹(Target Group) 생성

 

7. SSL 인증서 발급 (ACM(AWS Certificate Manager)에서 발급)

만약 여기에서 2-3일 넘게 기다렸는데, 발급이 되지 않으면 "Route 53에서 레코드 생성"을 눌러주시면 됩니다.

 

8. HTTPS Listener 생성 (발급받은 인증서를 적용)

9. http -> https 적용 확인

 

반응형