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: 앞서 생성한 대상 그룹 선택
  • 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 timeout4000초로 수정합니다. 이어서 하단의 Save Changes를 클릭합니다.