[AWS] AWS 가상컴퓨터 생성~5.AWS RDS생성 및 EC2 서버에연결~(아마존 클라우드 서버)_cloud computer virtual_-신촌 더조은 학원 AWS-+How to sign up for AWS and use EC2 service+

~5.AWS RDS생성 및 EC2 서버에연결~

1. AMAZONE RDS 데이터베이스 생성

- 아마존 콘솔 > RDS검색 > 데이터베이스 > 데이터베이스 생성


- 엔진옵션 : MYSQL 

- 템플릿 : 프리티어

- 설정 

DB인스턴스 식별자 : mysqltestDB

마스터 사용자 이름 : springex

자격증명 관리 : 제체관리(돈안들어감)

마스터 암호 : password0729

- 스토리지 

할당된 스토리지 : 15GIB

- 연결 

컴퓨팅 리소스 (vpc내에서 ec2와 통신설정 나중에 변경가능) : EC2 컴퓨팅 리소스에 연결 안 함

퍼블릭 엑세스 : 예  (EC2에서만 연결해서 사용한다면 퍼블릭 액세스를 "아니오"로 선택해야지만 Workbench로 접근하려면 "예"를 선택해야 함)

- 추가구성 

백업 : 자동백업 활성화 체크 해제 

- 데이터베이스 생성 




2. Ping 테스트로 ip확인 

- 데이터베이스 생성 대기 

- 생성완료 후 생성된 데이터베이스 선택 > 엔드포인트  복사



- cmd > ping mysqltestdb.c3kso6acmqnt.ap-northeast-2.rds.amazonaws.com

Ping ec2-3-38-224-44.ap-northeast-2.compute.amazonaws.com [3.38.224.44] 32바이트 데이터 사용: (아이피 보임) 


3. 방화벽 오픈 : 인바운드 규칙 추가 

- 생성된 데이터베이스 > 보안그룹 선택 



-  보안 그룹 > 보안 그룹 선택 


- 인바운드규칙 편집 



- 규칙 추가 > mys/aurora tcp 3306 사용자지정 0.0.0.0/0 


4. MySQL Workbench 접속 테스트 

- mysql 워크밴치 접속 > 커넥션 추가 (+) > 

호스트네임 (aws db 엔드포인트 복사) 복붙  

mysqltestdb.c3kso6acmqnt.ap-northeast-2.rds.amazonaws.com

/ username springex (aws rds db생성 시 설정) 

/ password : password0729 (aws rds db생성 시 설정) 

> test connection > ok 


5. 프로젝트 데이터 import

- 덤프파일은 아래 다운로드 클릭 시 다운로드 가능 

 다운로드 클릭

- 생성한 세션에 연결 > server > data import 


 
- 가지고있는 springex 덤프폴더(압축해제) 경로지정 > webdb나오면 start import 



- 오류발생 (웹디비를 못찾는다라는 오류) 



- 쿼리실행  
create database webdb; 
use webdb; 



- import again 



- 왼쪽 스키마 새로고침 웹디비나옴





5. aws ec2 server에 방화벽 인바운드 3306 포트포워딩 추가

- ec2 > 인스턴스 > 실행 중 인스턴스 선택 



- 하단 보안탭 선택 > 보안그룹 선택 



- 인바운드 규칙 편집 선택 



- 규칙추가 = 유형 : MYSQL/Aurora / 포트 : 3306 / 소스 : Anywhere-IPv4 > 규칙저장



6. server01에서 jdbc관련 소스 수정 & 빌드 후 생성된 war파일 ec2 server로 배포 


1) 버추얼박스 1번우분투서버 실행 > vscode로 sever01 접속 


2) ec2에 배포경로에 있는 기존 파일 제거 ( 잘 지워지지 않아 엑세스 한다음에 root로 삭제)

--ec2server에 연결 

ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50

--root 권한으로 변경 

[ec2-user@ip-172-31-15-157 ~]$ sudo -i

--기존파일 제거 

[root@ip-172-31-15-157 ~]# sudo rm -rf /usr/local/lib/tomcat/webapps/*

--제거확인 

[root@ip-172-31-15-157 ~]# sudo ls -al /usr/local/lib/tomcat/webapps

합계 16

drwxr-x---. 2 root root     6  8월 10 14:27 .

drwxr-xr-x. 9 root root 16384  8월  6 09:05 ..


3) root-conif.xml 수정  

jdbcUrl : aws rds db 엔드포인트로 수정 

username : aws rds db 생성 시 username 

password  : aws rds db 생성 시 password

        <property name="jdbcUrl" value="jdbc:mysql://mysqltestdb.c3kso6acmqnt.ap-northeast-2.rds.amazonaws.com:3306/webdb?serverTimezone=Asia/Seoul"></property>
        <property name="username" value="springex"></property>
        <property name="password" value="password0729"></property>


4) 프로젝트 빌드 

bash ./gradlew build 

* build 시 test쪽에 오류 발생하면 test부분 주석처리 후 빌드 


5) server01에서 ec2서버로 war파일(빌드되면 생성되는 압축파일) 복사전달 user1@myserver01:~/springex-main$ scp -i ~/.ssh/AWS_TEST_KEY.pem ./build/libs/springex-1.0-SNAPSHOT.war ec2-user@43.203.251.50:~/app.war


6) ec2서버 내 폴더 이동 
user1@myserver01:~/springex-main$ ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo mv app.war /usr/local/lib/tomcat/webapps/app.war

7) 이동 확인 
ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo ls -l /usr/local/lib/tomcat/webapps/

8) ec2서버 내 톰캣 중지 실행 
user1@myserver01:~/springex-main$ ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo /usr/local/lib/tomcat/bin/shutdown.sh

user1@myserver01:~/springex-main$ ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo /usr/local/lib/tomcat/bin/start
up.sh




9) 브라우저 test 
http://43.203.251.50:8080/app/todo/list



10) 경로에서 app 지우고 접속 가능하게 ROOT에 배포
- app.war를 ROOT.war로 변경 및 확인 
user1@myserver01:~/springex-main$ ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo mv /usr/local/lib/tomcat/webapps/app.war /usr/local/lib/tomcat/webapps/ROOT.war
user1@myserver01:~/springex-main$ ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo ls -l /usr/local/lib/tomcat/webapps/

- 톰캣 재시작 
user1@myserver01:~/springex-main$ ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo /usr/local/lib/tomcat/bin/shutdown.sh
user1@myserver01:~/springex-main$ ssh -i ~/.ssh/AWS_TEST_KEY.pem ec2-user@43.203.251.50 sudo /usr/local/lib/tomcat/bin/startup.sh

- 브라우저 test 
http://43.203.251.50:8080/todo/list





댓글

T O P