2022. 12. 7. 01:57ㆍ클라우드 공부
1. 시작 템플릿 생성 및 EC2 시작하기
> 템플릿 이름은 원하는 이름으로 입력
> os이미지는 위처럼 아마존 리눅스로
> 인스턴스는 프리티어 유형으로
> 키는 새 키 페어 생성 클릭
> 키 페어 이름에 원하는 이름 설정
> 키 페어 생성으로 생성하기
> WAS키 WEB키 bastion키를 발급받는다
> 서브넷은 포함하지 않기 선택
> 보안 그룹의 경우 미리 생성한 보안 그룹 중 알맞은 그룹으로 선택
> 아래로 내려서 고급 세부 정보 클릭
> 맨아래로 내려서 사용자 데이터에서 우리가 사용할 데이터를 정의 하기
==========================================================
WAS 시작 정의
#!/bin/bash
sudo yum -y update
sudo yum -y groupinstall 'Development Tools'
sudo yum -y install yum-utils zip unzip wget mc git net-tools tree
sudo amazon-linux-extras install epel
sudo yum -y makecache
sudo yum install -y yum-utils
sudo yum -y install docker
sudo systemctl start docker
sudo systemctl enable docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo usermod -aG docker ec2-user
mkdir /home/ec2-user/workhome
cd /home/ec2-user/workhome
sudo git clone https://github.com/kimhyungeol/pigma_realreal
cd pigma_realreal
sudo docker build -t pigmaproject:0.1.0 .
sudo docker run --rm -p 80:8000 -d --name pig pigmaproject:0.1.0
> 도커설치 및 도커빌드를 진행 하고 도커 이미지 배포까지 진행함
==========================================================
==========================================================
WEB 시작 정의
sudo yum -y update
sudo yum -y install nginx
sudo amazon-linux-extras install nginx1
git clone https://github.com/kimhyungeol/asdf
sudo mv default.conf /etc/nginx/default.d/
sudo systemctl start nginx
sudo systemctl enable nginx
> nginx 설치까지 진행하게 됨 미리 프록시설정 파일을 만듬
==========================================================
> 이제 이 시작 템플릭으로 시작을 클릭
> 네트워크 서브넷 부분만 체크해서 a영역과 c영역에 만든 서브넷 선택
> 총 4개의 인스턴스 생성 was 2개 web 2개
> 생성 된걸 확인 할 수 있다.
2. 오토스케링 생성
> 오토 스켈링으로 자동으로 EC2가 늘어나고 교체되도록 구성 할 수 있다.
> 이름은 알맞게 입력
> 정의 한 시작 템플릿으로 시작하도록 구성
> 알맞은 템플렛으로 선택 후 다음 클릭
> 알맞은 네트워크를 선택
> 여기서 중요한 부분은 오토스케링을 할 대상 서브넷을 전부 선택해 주어야 한다.
> WAS면 WAS 서브넷 전부 WEB이면 WEB 서브넷 전부 선택
> 기존 만들어 놓은 로드 밸런서
> 일단 원하는 용량을 2 최소 2 최대 3으로 설정
> 아래 검토 누른 후 확인 후 오토스켈링 그룹 생성 하기 클릭
> WEB 이랑 WAS둘다 해주어야 한다.
3. bastion 생성 하기
> 이름과 알맞은 os 선택 후 다음
> t2.micro 선택
> 만들어 둔 키페어 선택
> vpc 서브넷 보안그룹 전부 미리 생성 해둔 것으로 선택 생성하기
> bastion 서버에는 미리 생성한 키를 옮긴 후 필요한 서버로 ssh연결을 진행 하면 된다.
$ ssh -i ./WEB.pem [타겟ip]
> WEB서버로 접속을 진행 했고 접속이 된걸 볼 수 있다.
4. 동작 테스트
> Router53에서 ALB1번으로 www.pigmamusic.com이라는 도메인을 부여함
> 홈페이지 접속 시 도메인 입력 시 ALB를 타고 WEB으로 들어가서 리버스 프록시로 ALB2 등록 ALB2에서 WAS로 접속 하는 구조를 구축
> 두 개의 영역에 홈페이지에 차별점을 두어서 라운드 로빈 방식으로 접속이 되는지 확인 할 수 있다.
오토 스켈링 테스트
> stress 툴로 양쪽 WAS서버에 큰 스트레스를 부여해 보았다.
> 그 결과 오토 스켈링에서 자동으로 WAS를 하나 생성 했다.
고가용성
> ALB로 고가용성을 지원해 준다
> 우선 WAS 하나를 종료 하자
> WAS서버 하나를 종료해도 서비스가 종료되지 않고 계속 수행하는걸 확인 가능하다.
'클라우드 공부' 카테고리의 다른 글
AWS Jenkins를 이용한 CICD 구축해보기 - 3 docker파일 준비 및 ssh 연결 (0) | 2022.12.08 |
---|---|
AWS Jenkins를 이용한 CICD 구축해보기 - 2 GItHub와 연동 (0) | 2022.12.08 |
AWS Jenkins를 이용한 CICD 구축해보기 - 1 Jenkins 설치하기 (0) | 2022.12.07 |
AWS 프로젝트 WAS WEB 구성하기 - 1 (0) | 2022.12.07 |