AWS ALB 생성
Target group 생성
EC2 > Load Balancing > Target groups
에서Create target group
을 클릭하세요.
Specify group details 메뉴에서 대상 그룹 정보를 다음과 같이 입력 혹은 선택하고
Next
를 클릭하세요.
- Basic configuration
- Choose a target type: Instances
- Target group name: 대상그룹 이름
- Protocol-Port: HTTP, 9001
- IP address type: IPv4
- VPC: 인스턴스가 속한 VPC
- Protocol version: HTTP1
ale
을 설치한 인스턴스를 선택하고 Ports for the selected instances에 9001을 입력한 후 Include as pending below를 클릭합니다. 이어서Create target group
를 클릭하세요.
ALB 생성
EC2 > Load Balancing > Load balancers
에서Create Load Balancer
를 클릭합니다. 이어서 Application Load Balancer를 선택하세요.
Load balancer 정보를 다음과 같이 입력 혹은 선택하고
Create load balancer
를 클릭하세요.
- Basic configuration
- Name: ALB 이름
- Scheme: internet-facing
- IP address type: ipv4
- Network mapping
- VPC: 인스턴스가 속한 VPC
- Availability Zones: 사용 가능한 모든 서브넷 선택
- Security groups
- Security groups: EC2 인스턴스에 적용된 보안 그룹 선택
- Listeners and routing
- Listener port: 80
- Target group: 앞서 생성한 대상 그룹 선택
생성된 Load balancer 페이지에서
Add rule
을 클릭하고, 아래의 5단계의 과정으로 rule을 생성하세요.
Add rule
Name 필드에 Rule 이름을 입력하세요.
Define rule conditions
Add condition
클릭 후 생성되는 모달에서 Host header 선택 후,app.[도메인]
을 입력하고confirm
을 클릭하면 Condition 카드가 생성됩니다. 이어서Next
를 클릭하세요.
Define rule Actions
Action types로 Forward to target groups를 선택하고 앞서 생성한 대상 그룹을 선택한 후
Next
를 클릭하세요.
Set rule priority
Priority를 1로 정한 후
Next
를 클릭하세요.
Review and create
최종적으로
Create
를 클릭하면 rule이 생성됩니다.
rule 생성 후 잠시 기다리면, ale
이 인스턴스에서 정상적으로 실행 중인 경우 ALB에서 라우팅하는 대상 그룹의 상태가 아래의 이미지처럼 Healthy로 표시됩니다.
DNS 레코드 등록 및 ALB 적용
Route53 > 호스팅 영역 > 적용 대상 도메인 페이지에서
Create record
를 클릭하세요.
레코드 생성 페이지에서 아래와 같이 값을 입력한 후
Create record
를 클릭하세요.
- 레코드 이름: app
- 레코드 유형: A
- Alias: 활성화
- Route traffic to
- Alias to Application and Classic Load Balancer
- Region: VPC의 리전
- ALB: 앞서 생성한 ALB 선택
설정한 레코드 이름의 도메인(ex. app.aletest.run)은 ale
의 접속 도메인으로 사용됩니다.
ACM 인증서 생성 및 적용
AWS Certificate Manager 대시보드에서
Request
를 클릭하고 이어지는 화면에서 Request a public certificate를 선택하고Next
를 클릭하세요.
인증서 정보를 다음과 같이 입력하고
Request
를 클릭하세요.
- Domain names
- Fully qualified domain name: app.[도메인]
- Validation method
- DNS validation
- Key configuration
- RSA 2048
DNS validation을 위해 생성된 인증서 페이지에서
Create record in Route 53
을 클릭하고, 이어서Create records
를 클릭하세요.
ALB HTTPS 리스너 추가
EC2 > Load Balancing > Load Balancers
의 생성된 Load balancer 페이지에서Add listener
를 클릭하세요.
이어지는 화면에서 다음과 같이 값을 입력한 후
Add
를 클릭하세요.
- Listener configuration
- Protocol: HTTPS
- Port: 443
- Default actions
- Routing actions: Forward to target groups
- Target group: 앞서 생성한 대상 그룹 선택
- Routing actions: Forward to target groups
- Security Policy
- Security category: All security policies
- Policy name:
recommended
표시된 정책 적용
- Default SSL/TLS server certificate
- Certificate source: From ACM
- Certificate: 앞서 생성한 ACM 인증서 선택
https://app.[도메인]
에 접속해 ale
에 정상적으로 접속되는지 확인하세요.
정상적인 사용을 위해 이어지는 인그레스 구성 과정이 필요합니다.
연결 유휴 제한 시간 설정
EC2 > Load Balancing > Load Balancers
의 생성된 Load balancer 페이지에서 Attributes 탭을 클릭하세요.
우측 상단의 Edit 버튼을 클릭하고 Connection idle timeout을
4000
초로 수정합니다. 이어서 하단의 Save Changes를 클릭합니다.