이름은 설정하지 않고, 보안 그룹의 인바운드에 ssh와 http를 설정해 준다.
고급 세부 정보의 사용자 데이터에 다음과 같이 작성한다.
#!/bin/bash
yum install -y httpd
systemctl enable httpd --now
hostname > /var/www/html/index.html
인스턴스의 갯수를 3개로 설정한다.
해당 인스턴스들은 퍼블릭 IPv4 주소로 접속했을 때, 웹페이지에서 정보를 볼 수 있다.
EC2 -> 로드 밸런싱 -> 대상 그룹
대상 그룹 생성에서 기본 구성을 설정한 후 생성한다.
대상이 모두 '사용되지 않음' 상태에 있으므로, 로드 밸런서를 설정해줘야 한다.
'연결된 항목 없음'을 클릭해 어플리케이션 로드 밸런서를 생성해 준다. private 서브넷의 경우, 해당 오류가 발생하는데, 이는 vpc 의 routing table에 있는 '서브넷 연결' 에서 해당 서브넷을 연결해주면 된다.
생성된 도메인으로 접속해 보면 로드밸런서가 잘 작동되는 것을 확인할 수 있다.
인스턴스 중 하나를 중지하고 확인하면, 중지된 것을 제외한 두 개의 인스턴스로 로드밸런싱 되는 것을 확인할 수 있다. 대상 그룹에서 확인하면 하나가 unused로 변경되어 있다.
인스턴스 중 하나의 터미널에 접속해,
systemctl stop httpd
커맨드를 입력하고 대상 그룹을 확인해 보면 httpd가 꺼져있는 상태라 해당 인스턴스가 Unhealthy로 변경되어 있다.
sticky session을 유지하도록 설정하려면 대상 그룹 -> 속성 -> 편집 -> 고정을 키고 기간을 설정하면 된다. 그러면 그 기간동안은 세션이 유지된다. (영어로는 Stickiness)