AWS

[AWS 교과서] 내멋대로 RDS 실습

cloudlim 2024. 3. 4. 13:12

웹 서버와 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값..);"