RDS 검색 혹은 서비스에서 RDS를 찾아서 클릭해주세요. (저는 검색이 더 찾기 쉬웠습니다.)
검색서비스에서 찾기
2. 데이터베이스 생성
3. 데이터베이스 선택
현재 WordPress 배포판은 MySQL 및 MariaDB 데이터베이스 엔진만 지원합니다.
PorstgreSQL도 사용 가능하지만 PostgreSQL For WordPress라는 플러그인이 필요합니다.
원래 운영하던 블로그는 MySQL을 사용하고 있지만 MariaDB와 크게 다른게 없는 것으로 알고 있어서
테스트용으로 구축해보는 것이기에 MariaDB로 선택하였습니다.
템플릿은 테스트용이기에 프리티어를 선택하였습니다.
따로 불편함이나 에러 사항이 없다면 실제 옮기때에도 사용할 생각입니다.
데이터베이스 인스턴스 식별자와 마스터 사용자 아이디, 암호를 설정해줍니다.
그 이외에는 기본설정으로 하였고, 추가 구성을 펼쳐서 초기 데이터베이스 이름을 설정해주고
데이터베이스 생성을 클릭하여 데이터베이스를 생성해주었습니다.
그 후 생성한 데이터베이스의 상태가 사용가능인지 확인 하시면 됩니다.
사용가능 상태로 변경까지 저는 약 22분이 걸렸지만, 기다리지 않고 바로 EC2 인스턴스를 만들러 가도 됩니다.
(시간은 새로고침을 안하니까 상태가 변경이 바로 안되서 정확하지 않을 수 있습니다.)
생성 중약 2분 정도 소요 후 백업 중약  20분정도 소요 후 사용 가능
EC2 인스턴스 생성
1. EC2 페이지 접속
EC2 검색서비스에서 찾기
2. EC2 인스턴스 생성
저는 테스트용으로 만들었던게 있어서 종료됨(삭제)가 하나 있습니다.
EC2 인스턴스 AMI 선택
저는 프리티어를 사용할 것이므로 프리 티어만을 체크하고 Ubuntu Server 20.04 LTS를 선택하였습니다.
EC2 인스턴스 유형 선택
인스턴스의 경우 워드프레스는 크게 높은 성능을 필요로 하지 않기때문에 T2 프리티어로 선택하였습니다.
그 후 검토 및 시작을 눌렀습니다.
EC2 인스턴스 보안 그룹
다음을 눌러서 설정하면서 진행 할 수도 있지만, 검토 화면에서도 편집이 가능합니다.
SSH는 일단 내 IP로 설정하였고, HTTP 80포트를 열어주어 접속 가능하도록 변경했습니다.
그 후 검토 및 시작을 다시 누르고, 시작하기를 클릭하여 생성합니다.
키 페어 다운로드를 하면 아마존에 키 페어의 정보를 저장하고 pem 파일을 다운로드 받게 됩니다.
생성 확인
EC2와 RDS 연동
현재 EC2 인스턴스와 RDS는 서로 같은 VPC안에 서로 다른 subnet에 존재하고 있습니다.
RDS의 경우 Public Access가 '아니오'로 설정되어 있기 때문에 외부에서 접근할 수 없는 상황입니다.
그래서 RDS로 접근하기 위해서는 Public Access를 허용하거나 보안 그룹을 설정해야 합니다.
이 글에서는 보안그룹을 설정해서 EC2 인스턴스에세만 RDS를 ACCESS할 수 있도록 연동하는 작업을 하려고 합니다.
1. 보안 그룹 설정
생성된 RDS를 클릭해서 연결&보안 탭에 있는 VPC 보안 그룹을 클릭합니다.
하단에 인바운드 규칙탭에 있는 인바운드 규칙 편집 클릭
보안 그룹 설정
default변경 후
MariaDB도 MYSQL/Aurora로 설정한다고 합니다. MySQL도 동일합니다.
2. SSH로 EC2 인스턴스 접속
생성한 EC2 인스턴스를 클릭 후 연결을 클릭합니다.
SSH 클라이언트 탭에 있는 '예:'에 있는 코드를 복사하여 터미널에 입력합니다.
하지만 현재는 키페어에 권한이 없기 때문에 접속할 수 없습니다.
그래서 접속하기 전에 키페어 권한을 부여해야 합니다.
저는 맥북환경이기 떄문에 터미널에서 바로 가능하지만, 윈도우를 사용하고 있으시다면 Putty 또는 인스턴스 연결에 있는 EC2 인스턴스 연결 탭에서 연결하시면 됩니다. 매니지먼트 컨설턴트로 접속하는 것이기 때문에 EC2 인스턴스 보안그룹에서 SSH 포트의 소스를 어디에서든 접속할 수 있게 변경하셔야 합니다.
저는 다운로드 폴더에 있기 떄문에 다음과 같이 진행하여 읽기 권한(400)을 주었습니다.
cd Downloads chmod 400 키페어이름.pem
우분투 접속시 터미널 창
3. EC2 인스턴스에서 RDS 접속
레파지토리에서 업데이트 패키지가 있는지 체크하고 설치된 패키지를 업데이트 해주었습니다.
sudo apt update && sudo apt-get -y upgrade
그 후 마리아DB를 설치하였습니다.
sudo apt install mariadb-server mariadb-client -y
버전 확인 및 설치 확인을 해줍니다.
mysql --version
마리아DB를 실행해줍니다.
sudo systemctl start mariadb
그리고 상태를 확인해 줍니다. ( Active running 확인! )
sudo systemctl status mariadb
설치가 완료되었다면 RDS 연결&보안탭에 있는 엔트포인트를 복사해줍니다.
그 후 아래와 같이 입력합니다.
export MYSQL_HOST=엔드포인트
데이터베이스 접속
mysql --user=마스터사용자이름 --password=마스터사용자비밀번호 초기데이터베이스명 or mysql -u 마스터사용자이름 -p 초기데이터베이스명
DB에 접속한 화면
사용자 생성
CREATE USER 명령어를 사용해 마스터 사용자가 아닌 별도의 사용자를 만든다.
CREATE USER "user" IDENTIFIED BY "password";
wordpress 데이터베이스 모든 테이블에서 SELECT, INSERT, UPDATE, DELETE를 할 수 있는 권한을 부여합니다.
GRANT ALL PRIVILEGES ON wordpress.* TO "user";
마지막으로 FLUSH 명령어로 권한을 적용하고 sql을 빠져나옵니다.
FLUSH PRIVILEGES;
Exit
Apache 웹 서버 설치
아파치 설치
sudo apt-get install -y apache2
아파치 버전확인 및 설치 확인
apache2 -v
아파치 실행
sudo service apache2 restart
서버 구동중 확인 ( Active running 확인! )
sudo systemctl status apache2
테스트 아파치 페이지 확인(접속이 안될 시 http://퍼블릭 IPv4 주소 로 접속)
Apache default page
EC2에서 WordPress 구성
만약 저처럼 블로그를 옮기는 거라면 아래의 다운로드에서 php 다운로드만 하시고 아래 글을 확인해보세요!