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을 생성하세요.
1
Add rule

Name 필드에 Rule 이름을 입력하세요.
2
Define rule conditions

Add condition클릭 후 생성되는 모달에서 Host header 선택 후,app.[도메인]을 입력하고confirm을 클릭하면 Condition 카드가 생성됩니다. 이어서Next를 클릭하세요.
3
Define rule Actions

Action types로 Forward to target groups를 선택하고 앞서 생성한 대상 그룹을 선택한 후 Next를 클릭하세요.
4
Set rule priority

Priority를 1로 정한 후 Next를 클릭하세요.
5
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 인증서 선택
정상적인 사용을 위해 이어지는 인그레스 구성 과정이 필요합니다.
연결 유휴 제한 시간 설정

EC2 > Load Balancing > Load Balancers의 생성된 Load balancer 페이지에서 Attributes 탭을 클릭하세요.

우측 상단의 Edit 버튼을 클릭하고 Connection idle timeout을 4000초로 수정합니다. 이어서 하단의 Save Changes를 클릭합니다.
