[AWS 교과서] 내멋대로 RDS 실습
웹 서버와 RDS 연동 실습을 진행했었습니다.
이게 맹목적으로 따라 하다보니 정말 내것이 되는지 의문이 들더군요.
그래서 상황을 가정해봤습니다.
만약 입사 후 EC2와 연동된 RDS를 교체해야하는 업무가 주어진다면?
먼저 웹서버와 RDS가 어떻게 연동되어 있는지 파악해야 할 것입니다.
책에서는 index.php 파일의 경로를 알려주지만 이것부터 알아내야 할 것입니다.
이는 EC2 SSH 터미널에서 tree 명령어로 알아낼 수 있습니다.
Linux 명령어 - tree 명령어 사용법 알아보기
Linux 명령어 - tree 명령어 사용법 알아보기 이번 포스팅에서는 tree 명령어에 대해서 알아보도록 하겠습니다. Linux tree 명령어란? tree 명령어는 windows 탐색기와 같이 트리 형태로 볼수 있습니다 리
server-talk.tistory.com
이를 통해 RDS를 교체해야하는 대상의 경로를 확인합니다.
그럼 해당 파일의 내용을 확인할 차례입니다.
DB_SERVER의 주소를 치환해야하기 때문입니다.
cat 명령어로 파일 내용을 확인할 수 있습니다.
head 명령어로 일정 부분만 출력하도록 하여 내용을 확인할 수도 있습니다.
- 예1) cat /var/www/html/index.php
- 예2) head -5 /var/www/html/index.php
이를 통해 DB_SERVER의 현재 값을 확인합니다.
다음은 준비한 RDS의 엔드포인트로 EC2 DB_SERVER를 바꿔줄 차례입니다.
바꿔주기 전에, RDS 엔드포인트를 변수로 선언 후 사용합니다.
변수가 준비됐다면, sed 명령어로 주소를 치환합니다.
- 예1) sed -i "s/dbaddress/$RDS1/g" /var/www/html/index.php
치환 이후 cat이나 head 명령어를 통해 주소가 정상적으로 바꼈는지 확인합니다.
+EC2 SSH 터미널에서 DB 작업하기
RDS 생성 시 선택한 DB엔진, DB이름, DB 인스턴스 식별자, 마스터암호를 준비합니다.
이후 SQL 작업을 수행합니다.
- 예1) mysql -h $RDS변수명 -u인스턴스식별자 -p마스터암호 -e "USE DB이름;CREATE TABLE 테이블명(컬럼명1 속성, 컬럼명2 속성..);"
- 예2) mysql -h $RDS변수명 -u인스턴스식별자 -p마스터암호 -e "USE DB이름;SELECT * FROM 테이블명;"
- 예3) mysql -h $RDS변수명 -u인스턴스식별자 -p마스터암호 -e "USE DB이름;INSERT INTO 테이블명 VALUES(컬럼1값, 컬럼2값..);"