미션
80 포트로 들어오면 1번 서버 접속하기
9000 포트로로 들어오면 2번 서버로 접속 하기
ELB의 하나인 ALB의 기초 설정 순서를 알아보자.
<1> apache 설치된 ec2 서버 2대 만들기
<2> ALB (Application Load Balancers)를 만들자.
<3> Tagent Groups 설정하기
<4> 조건에 따라 접속하는 서버가 다르게 해 보자.
<5> NLB를 통한 고정 IP 지원법
<6> 서버는 8080 사용하고 , LB에서는 80으로 접속해 사용되게 하기
<7> 삭제 순서
<1> apache 설치된 ec2 서버 2대 만들기
EC2
아마존 리눅스로 설치한다.
OS 설치 시 apache 설치하기
EC2 > Advanced Details > User data에 Apache 설치되도록 설정한다.
#! /bin/bash
yum update -y
yum install -y httpd
service httpd start
chkconfig httpd on
또는
AWS Marketplace에서 Apache 설치된 LAMP 버전을 구매해 사용하는 법도 있다.
여기서는 우분투이다.
계정
user : ubuntu
<2> Load Balancers를 만들자.
1. Create Load Balancer
2. ALB 선택
3. AZ는 2개 이상이어야 한다.
주의
ALB구성 시 AZ는 Public Subnet으로 지정해야 한다.
ALB에서 AZ는 ALB를 놓는 위치는 지정하는 것이다.
ALB(L4)는 공인 망에 있어야 하는 것이다.
Private Subnet으로 지정하면 서비스가 안된다.!!!
서버를 Private Subnet에 위치한다.
서버는 사설 IP만 가지는 구성이다.
<3> Tagent Groups 설정하기
1
EC2 > Target Group에서 해당 서버 2대를 Add to registered 해서 추가한다.
2. Monitoring에서 Healthy Hosts가 2대 인지 확인한다.
3. EC2 > Load Balancers > DNS name 확인한다.
웹브라우저로 접속해 본다.
<4> 조건에 따라 접속하는 서버가 다르게 해 보자.
80 포트로 들어오면 1번 서버 접속하기
9000 포트로로 들어오면 2번 서버로 접속 하기
// 9000 포트에 대해 SecurityGroup에 허용을 추가해야 한다.
Target Group을 2개 만든다.
Tg-80
Tg-9000
tg-80
tg-9000
<5> NLB를 통한 고정 IP 지원법
1
NLB를 두어 고정 IP를 사용 할 수 있다.
각 AZ-Subnet 당 1개의 Elastic IP 할당 가능.
해당 IP값은 불변
2
Client 요청이 백엔드에 전달될 때 Client IP 그대로 들어온다.
X-Forwarded-for 등의 부가 헤더 불필요
타켓을 인스턴스로 했을때 Client IP 그대로 들어온다.
구성)
사용자 ------------------- 서울 NLB , 인스턴스를 타겟으로 --------------- 서버 (사용자 IP찍힘)
사용자가 서버에 연결을 위해서는 ?
서버의 보안 그룹에서 사용자 IP를 보안그룹에서 허용해야 한다.
3
타켓을 다른리전 IP로 구성 했을때는 NLB IP가 서버에 찍힌다.
이 경우는 소스 구분을 할수 없다.
구성)
사용자 --------- 서울 NLB , 타켓을 미국 IP로 지정----------미국에 서버 (서버에 NLB IP가 찍힘)
// 소스로 구분이 안되는 경우 임
참고 NLB
https://wisen.co.kr/pages/blog/blog-detail.html?idx=1926
https://www.bespinglobal.com/tech-blog-171019-aws-nlb/
참고
ALB는 도메인을 가진다.
ALB는 고정 IP를 가질 수 없다.
만약 L4가 방화벽 허용 등으로 고정 IP를 가져야 한다면 다음과 같은 방법으로 관리할 수 있으나 권장은 하지 않는다.
https://aws.amazon.com/ko/blogs/korea/using-static-ip-addresses-for-application-load-balancers/
<6> 서버는 8080 사용하고 , LB에서는 80으로 접속해 사용되게 하기
1
Target Group에서 포트를 8080으로 수정하여 서버를 추가한다.
2
웹서버 포트 변경법
vi /etc/httpd/conf/httpd.conf
/usr/sbin/apachectl restart
httpd not running, trying to start
# ps -ef |grep httpd
root 2801 1 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2802 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2803 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2804 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2805 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2806 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2807 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2808 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
apache 2809 2801 0 06:57 ? 00:00:00 /usr/sbin/httpd -k restart
root 2811 2773 0 06:57 pts/0 00:00:00 grep --color=auto httpd
[root@ip-10-180-105-146 ~]#
<7> 삭제 순서
1.
LB삭제
2.
타깃 그룹 삭제
감사합니다.