AWS-EC2 배포 연습
AWS EC2에 프로젝트 배포하기
1. 준비물
1.1 소스코드
GitHub에서 소스코드 준비
세미프로젝트 깃허브 레파지토리
1.2 AWS 계정
AWS 계정 생성 및 준비 완료
1.3 AWS EC2 인스턴스 생성
리전 설정 - 서울
아마존 리눅스 AMI 사용
.ppk키 파일 생성프리 티어로 인스턴스 생성
11g(small이상) - 단순배포 연습시에는 micro로
21c(medium 이상)
HTTP 연결 허용
보안 규칙 수정:
인바운드 규칙 편집
1521 (오라클 포트)
8080 (오라클 포트)
8088 (어플리케이션이돌아가는포트. 톰캣 서버 설정에 따라 변경 가능)
2. EC2 연결 준비
2.1 Bitvise-Client
다운로드 url - https://bitvise.com/download-area
설정 방법:
퍼블릭 IP 주소 입력
사용자 이름:
ec2-user(아마존 리눅스 사용시)Client Key Manager에서.ppk키 파일 importPublic Key:global1(ppk)선택
3. EC2 터미널 설정
3.1 Amazon Corretto OPENJDK 설정
다운로드 및 설치: 개발한 어플리케이션 환경에 맞춰서 설치.
환경 변수 등록:
3.2톰캣 설치 및 설정
톰캣 설치:
권한 설정
/opt디렉토리에 톰캣 폴더 생성SFTP로 톰캣 파일 이동 ⇒ 내 어플리케이션을 실행할 수 있는 톰캣 버전선택
수업용 레파지토리는 톰캣 9버전에 호환되는 코드를 사용함(javax.servelt)
톰캣 실행 권한 부여:
톰캣 실행:
브라우저에서 확인:
http://<퍼블릭IP>:8080톰캣 종료 /opt/tomcat/bin/shutdown.sh
4. 소스코드 불러오기
Git 설치:
Repository 클론: (classes폴더나 이미지들은 SFTP를 이용해 업로드)
깃 레파지토리 구조에 따른 수정
aws-ec2-servlet폴더의 내부는 톰캣이 서비스 할 수 있는 webapp폴더만 존재하도록 설정.
.gitignore에 의해 classes폴더가 배포에서 제외된 경우 SFTP를 통해 직접 classes폴더 생성후 데이터 추가해주기.
context.xml경로 수정: 최신버전 이클립스에서는 WebContent가 아닌 webapp으로 설정되어 있음.
최신 데이터 반영하고자 한다면
5. Docker 설치 및 데이터베이스 연동
5.1 Docker 설치
도커 다운로드 및 설치:
도커 그룹에 추가:
재접속 후 도커 실행:
5.2 Oracle 11g 설치
Docker 이미지 다운로드:
컨테이너 실행:
톰캣 실행 확인
sudo docker ps -al
status -> up 뜨면 성공
5.3 데이터베이스 설정
SQL Developer로 접속:
EC2 IP 주소 입력
사용자:
system비밀번호:
oracle
새 사용자 생성 및 권한 부여:
테이블 스크립트 실행
6. 테스트 및 배포 완료
톰캣 서버 실행:
브라우저에서 확인:
http://<퍼블릭IP>:8088/ec2
Last updated