안녕하세요 ?
국내 유일의 무료 워드프레스 쇼핑몰 교육 모임인 “우커머스 교실”에서 아마존 웹서비스 AWS에 제공하는 AURORA-DB과 연계한 웹 호스팅 서비스를 지원하게 되었습니다. Amazon Auroa-DB는 MySQL과 호환되는 관계형 데이터베이스 엔진으로 Oracle 등과 같은 정도의 상용 데이터 베이스의 성능과 가용성을 제공하는 동시에 오픈소스 데이터베이스가 가지는 효율성과 비용 절감 효과를 얻을 수 있는 획기적인 제품입니다. 즉 오라클의 10의 1 가격 이하로 MySQL 보다 최고 5배 정도 뛰어난 Access속도를 자랑하며 백업과 미러링까지 겸할 수 있는 기능 을 제공하고 있습니다. Aurora는 사용 무료이나 AWS에서 관계형 데이터 베이스 서버로만 제공된다는 점이 제한 사항입니다. 이것은 해당 웹호스팅이 AWS기반이여야만 한다는 전제입니다. 다보리에서는 모든 웹호스팅 기반이 AWS기반으로 구성되어 있으므로 AURORA DB를 아주 용이하게 확장하여 사용할 수 있으며 기존의 모든 고객의 웹사이트의 DB를 AURORA 기반으로 옮기고 있습니다. 그것은 한 웹페이지의 구성시 약 80~150개의 SQL 쿼리문을 실행해서 데이터를 가져와야할 워드프레스 웹사이트, 그리고 좀 더 무거워진 우커머스 기반에서는 웹사이트 속도 증대를 위해서 필수 불가결한 선택입니다.
RDS를 추가로 설치하는 것은 이 블로그의 설명 범위를 벋어나므로 아마존 웹서비스에서 제공하는 메뉴얼이나 구글 검색으로 통하여 알아보시기 바랍니다. 일단 RDS 설치되면 Cluster Endpoint 라는 것이 제공됩니다. 이것은 데이터베이스와 웹서버를 동일하게 사용하는 경우의 localhost 라는 것에 대응하는 개념으로서 DB Server 와 Web Server 가 동일한 물리적 서버에서 제공되지 않으므로 DB 서버의 주소를 지정하여 주는 것을 말합니다. 예를 들면 wp-config.php 의 DB_HOST 항목의 value를 Cluster Endpoint 로 바꾸어 주므로써 DB 연결의 종점을 변동시키는 것입니다.
/** MySQL hostname */
define('DB_HOST', 'xxxx-aurora-new-cluster.cluster-xxxxxx.ap-northeast-3.rds.amazonaws.com');
즉, 워드프레스 웹사이트의 wp-config.php 에서 ‘DB_HOST’ 항목만 연결시켜주면 됩니다.
!주의 : 실제로는 FTP로 연결해서 변경된 wp-config.php를 업로드하거나 에디터로 직접 수정하시면 됩니다.
1. Kloxo-MR panel 에서 phpMyadmin으로 로그인
사용자 아이디와 패스워드는 이미 전달된 정보를 이용하시면 됩니다.
2. 오른쪽 상단의 [현재서버] 의 콤보박스를 클릭하여 하단의 aurora endpoint 로 DB 전환
이때 [일반설정]의 서버 연결 콜레이션(언어)를 눈여겨 보십시요. 일반적으로 [utf8mb4_unicode_ci]로 되어 있습니다.
이것을 새로운 DB 생성시 적용되는 기본값으로 지정하시면 됩니다.
[외관설정]도 DB 생성시 동일하게 적용하시면 됩니다.
3. 사용자와 DB 동시 생성
[로그인 정보] 상단 메뉴의 [사용자] – New[사용자 추가]를 하면
사용자명: [사용자 ID]_db (예: mytest_db)
호스트 : 현재 호스트
암호생성 과 재입력: 기존의 암호를 사용하십시요.
* 만약 암호를 바꿀 계획이라면 *
[암호생성]버튼을 누르면 자동으로 생성되어 [암호]와 [재입력] 자리에 들어갑니다.
이때 암호는 저장해두었다가 반드 wp-config.php 수정시 해당 [DB_PASSWORD] 항목과 일치시키셔야 합니다.
[유저전용 데이터 베이터] 동명의 데이터베이스를 생성하고 모든 권한을 부여 : checked
Grant all privileges on wildcard name : checked
[전체적인 권한] : check 하지말고 그냥 둡니다.
* 최종적으로 맨 하단의 [실행] 버튼을 클릭하면 사용자와 DB가 동시에 생성됩니다.
4. 사용자와 DB 동시 삭제
[좌측상단-new] 클릭
상단 메뉴의 [사용자] – 사용자 리스트에서 해당 사용자를 클릭
[선택한 사용자를 삭제] 사용자명과 같은 이름의 데이터베이스를 삭제합니다: checked
최종적으로 맨 하단의 [실행] 버튼을 클릭하면 사용자와 DB가 동시에 삭제됩니다.
DB 삭제시는 사용자와 DB 내용이 삭제되므로 백업여부를 반드시 확인하고 실행하여 주시기 바랍니다. 한 번 삭제된 DB는 백업된 내용으로만 복구가 가능합니다.
이후는 기존의 MySQL 복원과 동일합니다.