CampusMeet

[AWS] ALB 생성 및 연결

dong_seok 2024. 10. 7. 18:59
1. ELB
2. ALB
3. ACM 생성

 

1. ELB 

ELB는 Elastic Load Balancing 의 약자로 VPC 에 탑재되며, 사용자의 요청을 받고 VPC 내 리소스(EC2)에 부하 분산합니다. 외부의 요청을 받아들이는 리스너와 요청을 분산할 리소스의 집합인 대상 그룹 으로 구성되며, 하나의 ELB는 다수의 리스너와 대상 그룹을 거느릴 수 있습니다. ELB를 사용하는 이유는 다음과 같습니다.

 

  • 트래픽 분산
    - 여러 EC2 인스턴스 또는 컨테이너에 들어오는 트래픽을 자동으로 분산시켜, 과부하를 방지하고 애플리케이션의 성능을 향상시킵니다.
  • 고가용성
    - 최소 2개 이상의 가용영역을 설정해줘야하기 때문에, 하나의 인스턴스나 가용영역에 문제가 생길경우 설정해두었던 다른 가용영역으로 트래픽을 분산하여 서비스의 가용성을 높입니다.
  • SSL/TLS 처리
    - SSL/TLS 인증서를 관리하여, 트래픽을 안전하게 암호화하고 이를 EC2 인스턴스에 전달할 수 있습니다.

 

이외에도 ELB를 사용하는 다양한 장점이 존재합니다. 이러한 ELB는 AWS에서 총 4가지를 제공하고 있는데 저는 그 중 ALB를 생성하고 연결해보도록 하겠습니다.

 

2. ALB

EC2 콘솔에서 로드밸런서 탭에 들어가서 로드 밸런서 생성을 클릭해줍니다.

 

 

ALB를 클릭해줍니다.

 

 

원하는 로드밸런서 이름을 작성하고 넘어가줍니다.

 

 

VPC는 기존에 사용하던 defult vpc로 자동 지정되어 있었고, 가용영역을 2개 이상 선택 해주어야하기 때문에 우선 2개의 가용영역만 선택하고 나중에 추가하는 방식으로 운영해 보겠습니다. 가용영역을 선택하면 서브넷도 지정하게 되는데 vpc와 마찬가지로 자동 지정된 default subnet을 선택하였습니다.

 

 

보안그룹은 default만 지정되어있는데 기존 EC2 인스턴스를 이용할때 사용했던 인바운드 트래픽에 대한 설정이 되어있는 보안그룹도 추가적으로 선택해주었습니다. 그리고 리스너를 성정하기 위해 대상 그룹(타겟 그룹)을 생성해줘야했습니다. 대상 그룹 생성은 EC2 콘솔에서 "로드 밸런싱 -> 대상 그룹" 에서 "대상 그룹 생성"을 통해 인스턴스를 대상 유형으로 선태가형 손쉽게 만들 수 있었습니다. HTTP, HTTPS 프로토콜을 모두 고려하여 리스너를 설정해줍니다.

 

 

위에서 선택한 HTTPS 프로토콜을 사용학 위해 SSL/TLS 인증서가 필요했기에 이를 ACM에서 직접 발급받아 사용하기로 했습니다.

 

3. ACM 발급

 

인증서를 발급 했는데 시간이 오래지나도 상태가 "검증 대기 중" 이라고만 나오길래, 뭐가 문제인가 싶었습니다. 찾아보니 인증서 발급을 하기전에 내가 도메인을 소유하고 있다고 인증을 해야하는 것이었습니다. 이를 위해 Route 53 서비스 대시보드로 이동하도록 하겠습니다.

 

호스팅 영역 생성을 클릭해줍니다.

 

 

가비아에서 구매한 도메인을 입력해주고 나머지는 default를 유지하고 도메인을 생성합니다.

 

 

현재 레코드 유형은 NS, SOA 유형 총 2개가 존재하지만 나중에는 A, CNAME 유형이 추가 돼서 총 4개의 레코드가 존재하게 될 것입니다.

 


먼저 내가 구입한 가비아 도메인의 네임서버를 방금 생성한 도메인의 영역의 것으로 바꿔줍니다. 내가 구입한 도메인에서 관리를 들어가면 네임서버에 아래와같이 가비아 네임서버로 되어있는 모습을 볼 수 있습니다. 여기서 설정에 들어가서 새로 발급받은 호스팅 영역의 NS 레코드의 라우팅 대상 4개를 넣어주면 됩니다.(끝에 . 은 제거해야합니다.)

 

 

소유자 인증까지 마치고 적용을 눌러주면, AWS에서 해당 도메인이 제 것이라는 것을 인식할 수 있게됩니다. 이제 CNAME 레코드를 만들어 보겠습니다. 상단에서 보았던 "검증 대기중" 상태의 ACM 발급 화면으로 돌아간 후, 발급받은 인증서 ID를 클릭합니다. 그리고 Route 53에서 레코드 생성을 클릭합니다. 

 

 

위에서 진행했던 네임서버 등록 과정 덕분에 우리가 생성했던 도메인이 화면에 나오는걸 볼 수 있습니다. 도메인 체크 후 레코드 생성을 클릭해줍니다. 

 

 

이후 일정시간이 지나면, 

 

 

인증서가 성공적으로 발급된 것을 볼 수 있습니다. 이제 다시 돌아가서 방금 만든 ACM 인증서를 선택해서 ALB를 생성 하도록 하겠습니다.

 

 

성공적으로 ALB가 만들어진 모습을 볼 수 있습니다. 이제 public DNS 이름을 가비아에서 레코드 설정을 통해 CNAME 유형으로 등록해줘야합니다.

 

 

 

 

 

참고자료

https://woojin.tistory.com/93