My __ 노트

웹 애플리케이션 배포 - Part 2 (EC2, RDS 연동) 본문

클라우드/AWS(클라우드)

웹 애플리케이션 배포 - Part 2 (EC2, RDS 연동)

블루빔 2020. 11. 27. 07:00

 목표   :  웹 애플리케이션은 퍼플릭으로 하고 DB 서버는 프라이빗으로 한다. 웹 애플리케이션에서 들어오는 접근만 허용하게 DB 서버 구현 

- VPC 리소스 구현
- EC2 생성  
- RDS 생성 
- EC2와 RDS 연동 

 실습    

  CLI 환경 접속 


pem 파일 -> ppk 파일로 변경

step 1) putty로 작업하려면 puttygen으로 pem파일을 ppk로 바꿔줘야 한다.
puttygen 실행 ->  Load -> pem 키 파일 찾기 (All Files) -> SSH1 (RSA) ->  Save private key  -> 파일 저장 (원래 pem 키 파일과 동일한 이름으로 해야 헷갈리지 않음)

 

Putty로 접근 

step 1) 생성한 인스턴스의 public ip 주소를 세션 이름 저장. 인스턴스를 중지했다 다시 켜면 IP 주소들이 바뀐다. Elastic IP addresses를 쓰면 고정 IP를 쓸 수 있지만 비용이 발생한다.

 

step 2) SSH -> Kex -> Diffie-Hellman group 14를 제일 위로 up 시킴 

step 3) SSH -> 키 파일 경로 지정 

step 4) login as : ec2-user

 

  데이터베이스 & Table 생성하기 

step 1) user 데이터로 설정한 mariadb 가 잘 작동되고 있는지 체크 
  systemctl status mariadb  

 

step 2) 생성된 RDS endpointuser로 DB서버 접속 및 데이터베이스 & 테이블 생성 

RDS DB 서버 접속 : 
mysql -upjuser -hRDS endpoint -p 

데이터베이스 생성 :
  CREATE DATABASEawscop;  

Table 생성 :
  USEawscop;  
  CREATE TABLEemployee_salary ( id int NOT NULL AUTO_INCREMENT, name varchar(30) NOT NULL, position varchar(20) NOT NULL, base_pay int NOT NULL, extra_pay int NOT NULL, tax_rate decimal(5,2) NOT NULL, salary int NOT NULL, PRIMARY KEY(id));

step 3) 데이터 삽입 

  INSERT INTO  employee_salary (name, position, base_pay, extra_pay, tax_rate, salary) VALUES ('Moon Hyo Jin', 'Ansible Leader', 3100000, 200000, 0.02,3234000);  
  INSERT INTO employee_salary (name, position, base_pay, extra_pay, tax_rate, salary) VALUES ('Park Yu jin', 'Member', 3000000, 300000, 0.02, 3234000);  

 

 

  웹 서버와 RDS 서버 연동 

githup으로 PHP 파일 가져오기 

step 1) user 데이터로 설정한 httpd 가 잘 작동 되고 있는지 체크 
  systemctl status httpd  

 

step 2) html로 이동,   
  cd /var/www/html  

step 3) 해당 디렉터리에 git 작업 폴더 하나 만들어서 git clone으로 원격 저장소에 있는 php 파일 가져 온다.  
  mkdir phpfiles 
  
cd phpfiles
  git init 
  git clone 원격저장소 주소 

step 4) 해당 PHP 파일을 전부 html 밑으로 이동시킨다. 
  mv * /var/www/html/ 

 

PHP 파일을 RDS 서버와 연동 

step 1) PHP 파일의 endpoint, user, pw, DB네임 변경 

  vi PHP파일  

(vi 치환 명령어)
  :%s/기존입력값/새롭게 변경할 값 

 

 

 

 최종 모습  

ec2 public ip로 들어가면 해당 웹 페이지가 나온다.

생성한 table 내용도 확인 가능하다. 

새롭게 등록하면 

추가되는 모습을 확인할 수 있다.