AWS 마이그레이션(3)

김태영·2021년 3월 31일
0

aws

목록 보기
3/8

현재 ec2 인스턴스 ami는 아마존 리눅스 2 버전을 사용하기로 함.
이유는 아마존에서 엔터프라이즈로 내세운 리눅스 버전이기도 하고
당연히 서버 구동을 위해서는 리눅스가 가장 좋다고도 생각함.
(가볍기도 하고 여러가지로 익숙하기도 함.)

서버 구동 이후 퍼블릭 엑세를 이용해서도 가능하지만.
혹여나 빠른 리눅스 커맨드를 이용해 mariadb를 접속할 상황이 생길 수
있으므로 마리아 디비를 설치해 접속할 환경을 세팅함.

//명령어를 통해 설치
sudo yum -y install mariadb-server

//명령어를 이용해 서버 구동
sudo service mariadb start

그리고 실제 스프링 프로젝트를 gradle jar로 배포 계획이므로
//자바를 설치
sudo yum install -y java-1.8.0-openjdk-devel.x86_64

다시 mkdir를 이용해 webApp를 만들어 준 다음 거기서 jar 파일과
nohup.out 파일을 관리할 계획.

이제 스프링 부트에서 gradle jar를 filezilla 혹은 Intellij
aws 연동을 이용해 서버에 옮겨

nohup java -jar 파일이름 & 를 이용해
커맨드 툴을 종료하더라도 백그라운드 구동을 시행함.

확인을 위해서 yum install htop를 설치하는 것도 좋은 방법이고
기본적인 ps -ef | grep java 를 이용해 현재 구동중인
자바 프로세스를 확인 가능함.

만약 재부팅 과 종료 목적으로 프로세스 킬이 필요하다면
pid 확인후
kill -9 |pid| 로 종료가 가능하다.

현재 배포중인 프로젝트 포트 넘버는 각각 8080포트 8081 포트 이므로
만약 이것을 그대로 배포 하고 방치 한다면
이용자들을 사이트 주소 : 8080 Or 8081 식으로 들어와야 하는 번거러운이
존재하므로 후에 기술할 aws loadbalancer로 작업하기 위해
서버 2개다 각각 80포워드로 배포된 포트 넘버를 포트 포워딩 해준다.
(현재 만약 리눅스 서버에서 처음 세팅해야할 부분들이 더 생긴다면 배치파일을
생성할 계획이 있음)
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 or 8081

혹시 포트 포워딩 과정 중 실수 혹은 변경 사항이 생긴다면
재부팅이 답...일 수도 있지만 그러기가 싫다면
sudo iptables -t nat -L —line-numbers 를 이용해
넘버를 확인하고
sudo iptables -t nat -D PREROUTING [숫자]
를 이용하여 라우팅 삭제가 가능하다.

이렇게 배포를 한 이후 각각의 퍼블릭 ip주소 혹은 탄력적 ip주소를 이용해
접속하게 되겠지만 아직 인바운드 편집을 이용해 보안이 막혀 있으므로 502 error혹은 접속이 차단 당할 것이다.

기본적으로 aws는 보안그룹 편집이 필수이므로 이 부분에 대해서는
여러가지 고민한 이후 포트를 여는게 맞다고 생각함.
(물론 기본적인 80포트와 ip주소를 지정한 22 포트는 생성하게 될것)

다음은 보안 관련 이슈와 route53 그리고 certificate manager를 이용한 단계를 설명하고자 함.

profile
개발곳간

0개의 댓글