AWS/aws CICD-metacoding

배포v3 엘라스틱빈스톡

MDanderson 2024. 8. 19. 10:43

엘라스틱빈스톡

-OS 설치가 필요없음 ( 이미 설치가 되어 있음)

-EC2 설치가 필요없음( 이미 설치 되어 있음)

-JDK 설치가 필요없음( 이미 설치 되어 있음)

-오토 스케일링, 각종 소프트웨어 구성 로드밸런서,모니터링,업데이트버전관리

 

 

플랫폼구성할때 Java , Corretto 11  선택

보안그룹은 선택하지 않는다. 어차피 새로 생성되서 구성된다. 기존 보안그룹을선택해서 만들면 보안그룹이 2개 지정될것이다.

 

EC2(52.90.137.105) 가 만들어지면서 내부에 JDK가 설치되고 NGinX서버(프록시 서버)가 만들어지고 샘플코드가 업로드되고 샘플코드가 JDK에 의해 실행됨 nginx포트는 80포트이고 샘플코드의 포트는 5000포트이다

EC2앞에 로드밸런서(3.86.175.250)가 하나 만들어짐

클라이언트는 로드밸런서에 요청을 함. 로드밸런서는 80포트로 대기

로드밸런서 (3.86.175.250) 으로 요청을 하면 80포트로 요청되고 ec2에도 80포트로 요청됨

그러면 nginx 프록시서버에 요청됨 그러면 내부적으로 5000포트를 호출(이렇게 코드가 짜져있음)

누군가가 80포트로 nginx로 요청이오면 5000포트를 호출하게 내부적으로 코드가 짜져있음

 

nginx서버는 외부 ip요청을 거부함  즉 클라이언트가 바로  nginx 80포트를 요청하는건 거부함. 같은 보안그룹으로 묶인 친구의 요청만 받는다( 로드밸런서의 요청만 받음) .  로드밸런서와 ec2는 같은 보안그룹으로 묶여있음

 

 

 

윈도우에서 jar파일을 엘라스틱빈스톡 환경에 가서 업로드 및 배포 버튼을 눌러 넣어준다

 

SSH접속하기

주의) 사용자이름을 ubuntu가 아닌 ec2-user로 해야한다!!

 

nginx설정파일

cd /etc/nginx/

vi nginx.comf

cd conf.d/elasticbeanstalk

vi 00_application.conf

포트변경 , 편집하려면 sudo를 이용

 

 

스프링서버가 종료되어도 다시 살아난다.