AWS

AWS - (Nginx, Tomcat, 로드밸런서 사용해보기)

황동리 2024. 1. 22. 13:06
반응형


오늘은 시방서에 나온대로 LoadBalancer와 autoscaling을 추가하고, Web서버와 Was서버에 각각 Nginx, Tomcat을 설치하도록 하겠습니다.

그리고 그 외에 IAM에 대해 알아보겠습니다.


Nginx, Tomcat 설치

Nginx 설치

Public 서브넷에 있는 인스턴스들에게 Nginx 설치
1. nginx 패키지가 있는지 확인

yum info nginx
  1. 맞는 패키지를 리스트에서 찾을 수 없다고 나오면 repo를 만들어준다.
sudo vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
  1. repo를 다시 확인 해준다.
  2. nginx 설치
sudo yum install -y nginx
  1. nginx 시작
systemctl start nginx

Tomcat 설치

Private 서브넷에 있는 인스턴스에 Tomcat 설치

Tomcat를 설치하려면 우선 Java를 먼저 설치를 해야한다.
1. Java 설치

sudo yum install -y java-1.8.0-openjdk
  1. Java 버전 확인
java -version
  1. Java 컴파일러 설치
sudo yum install -y java-1.8.0-openjdk-devel
  1. Java 컴파일러 버전 확인
javac -version
  1. 설치 경로 확인
which java
readlink -f 


6. 환경변수 추가

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.amzn2.0.1.x86_64/jre/bin/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
  1. 환경변수 확인
echo $JAVA_HOME
echo $PATH
echo $CLASSPATH
  1. 영구적으로 환경변수 유지
sudo vi /etc/profile
	(맨 밑으로 이동)
	export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.amzn2.0.1.x86_64/jre/bin/java
	export PATH=$PATH:$JAVA_HOME/bin
	export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
  1. Tomcat 홈페이지에서 tar파일 링크 주소를 복사하여 wget으로 다운
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
  1. tomcat 폴더 생성 후 압축해제
sudo mkdir /home/tomcat
sudo mv apache-tomcat-9.0.76.tar.gz /home/tomcat
cd /home/tomcat
sudo tar xvfz apache-tomcat-9.0.76.tar.gz
  1. 환경변수 설정
vi /etc/profile
	(맨 밑으로 이동)
    export CATALINA_HOME=/home/tomcat

source /etc/profile

echo $CATALINA_HOME
  1. 톰캣 실행, 중지
sudo /home/tomcat/apache-tomcat-9.0.76.tar.gz/bin/startup.sh
sudo /home/tomcat/apache-tomcat-9.0.76.tar.gz/bin/shutdown.sh
  1. 톰캣 테스트
    ec2 인스턴스의 public IP로 url에 접속해보면 된다. (주의. 보안그룹에서 8080포트를 열어줘야한다)
    ex) 12.34.56.78:8080

ELB(로드밸런서) 구성

 


1단계에서는 서브넷을 선택해주면 된다.


2단계에서는 보안 그룹을 선택해준다.


3단계는 상태 검사여서 확인 해주고 넘어가주면 된다.
4단계에서는 Ping 테스트를 통해 Health Check를 해주는 조건을 정해주면 된다.


5단계에서는 로드밸런서 안에 들어갈 인스턴스를 선택해준다.


6단계는 태그 추가이다.
7단계는 최종 구성 상태확인하고 넘어가면 된다.

로드밸런서 sticky Session

로드밸런서로 들어간 페이지에 30초 동안 고정을 해준다. = Sticky Session
ex) 로그인 유지 세션 등

 

 


Auto Scaling 설정

오토 스케일링이란?
: 예를 들면 CPU 사용량이 70프로가 넘으면 정해둔 템플릿의 이미지로 인스턴스를 더 생성하여 서버의 부하를 줄여줄 때 사용을 한다.

오토 스케일링 생성

 


1. 시작 템플릿 구성

여기서 시작 템플릿을 잘 만들어 두어야한다.
왜나하면 시작 템플릿의 이미지를 통해 인스턴스를 생성 혹은 삭제를 해준다.


2. 인스턴스 시작 옵션 선택
VPC를 선택하고 어떠한 가용영역의 서브넷에 인스턴스를 추가하고 줄여줄지 선택한다.

 

 

 


오토 스케일링은 원하는 용량에 맞춰서 인스턴스를 증가시켜준다.
각 서버에 과부하가 걸릴 시, 최대 용량으로 설정 해준 개수 만큼 인스턴스를 생성 시켜준다.

 

오토 스케일링 동적 크기 조정 정책 생성

 


IAM(Identity and Access Management)

IAM에서는 두 가지 방법으로 정책을 적용 할 수 있다.

  1. 사용자에게 정책을 직접 넣어준다
  2. 사용자 그룹에 정책을 넣어서 그룹 안의 사용자들에게 정책을 적용한다.
  1. 사용자에게 직접 정책 넣는 방법

    사용자가 없으면 사용자 추가하면 된다. test_readonly에 ReadOnly 정책만 넣어주겠다.


    직접 정책 연결을 선택해야 사용자에게 바로 정책을 넣어줄 수 있다.

    결과
  1. 사용자 그룹에 정책을 넣어서 사용자들에게 적용하는 방법

사용자 그룹 이름을 지정해주고 추가해줄 사용자를 선택하고 그룹에 부여할 권한을 선택해준다.

 


결과

반응형