라벨이 RDS인 게시물 표시

[NCP] Cloud DB구성

이미지
이번 포스팅에서는 NCP의 클라우드 DB 구성방법에 대해 알아보겠습니다.


1. NCP 콘솔 접속 후 Cloud DB 이동

NCP 콘솔에 접속 후 Cloud DB for MySQL  > DB Server 항목으로 이동 후 “DB Server 생성”  을 선택합니다.





2. DB 서버 생성

DB 서버 타입 및 환경을 선택하고 생성정보를 입력 후 “다음” 을 선택 합니다

- 고가용성 지원 : DB 이중화를 위해 2대의 서버가 자동으로 생성 됩니다.
- DB Server 이름 : DB 서버로 사용할 이름을 입력합니다.
- DB 서비스 이름 : DB 서비스로 사용할 이름을 입력합니다.





DB 접속 정보를 설정한 후 “다음” 을 선택합니다. 

- USER_ID : DB 접속시 사용할 ID
- HOST : DB 접속 가능 IP 설정 항목.  (“%” 를 입력하면 “전체접속 허용” 으로 설정됩니다)





DB 서버 생성이 완료 되었습니다.




Cloud DB 를 생성하면 자동으로 ACG 가 할당 됩니다.
접속 권한을 추가하기 위해서는 권한을 추가해 주면 됩니다

동일한클라우드  환경에서 사용중인 서버의 접속 권한을 추가 하도록 하겠습니다.




3. DB 접속 확인

이제 서버 접속을 위한 설정이 완료 되었습니다.
사전에 생성된 서버에 접속하여 DB 생성이 정상적으로 되었는지 확인해 보겠습니다 .

생성된 DB 를 선택한 후 Private 도메인 항목을 복사해 줍니다.



서버 에서 Mysql 명령어를 통해 DB 접속 경로로 접속 한 후 2번 항목에서 설정한 Password 를 입력합니다.
사전에 Mysql client 가 설치되어 있어야 합니다.

[root@lab1-org ~]# mysql -u student -p -h db-op45.cdb.ntruss.com




정상적으로 DB 에 접속된 화면 입니다.



다음 명령어를 통해 설저어한 DB 정보가 올바르게 생성되었는지 확인해 봅니다.

mysql> show databases;


이제 DB 서버 생성이 완료 되었습니다.




























































[AWS] CLI 를 활용한 RDS Cluster snapshot Restore

이미지
AWS 에서 제공되는 관리형 DB 서비스인 Aurora DB 를 활용하면
아래 림과 같이 자동으로 클러스터 스냅샷이 생성 되게 됩니다.




이때  콘솔을 통해서 Restore Snapshot 을 진행하게 되면 클러스터와  RDS 인스턴스가 자동으로 생성되게 됩니다.




동일한 작업을 AWS CLI로 진행하고자
아래  명령어를 통해 RDS 를 생성해 보았습니다. 


 restore-db-cluster-from-snapshot [--availability-zones <value>] --db-cluster-identifier <value> --snapshot-identifier <value> --engine <value> [--engine-version <value>] [--port <value>] [--db-subnet-group-name <value>] [--database-name <value>] [--option-group-name <value>] [--vpc-security-group-ids <value>] [--tags <value>] [--kms-key-id <value>] [--enable-iam-database-authentication | --no-enable-iam-database-authentication] [--cli-input-json <value>] [--generate-cli-skeleton <value>] Colored by Color Scripter cs


Snapshot을 통해 DB가 정상적으로 만들어진 것 처럼 표출 되지만
아래와 같이 빈 클러스터만 생성되고 instance 가 생성되지 않습니다.


아무리 찾아봐도 Cluster를 동시에 생성할수 가 없어서 검색을 하다보니
CLI를 통해 Cluster Snapshot 을 복원하게 되면 추가적으로 인스턴스 생성작업을 다시 진행해 주어야 했습니다…

AWS RDS parameter group을 이용하여 Function 생성하기

이미지
지난 포스팅에서 AWS RDS를 이용해 MySQL DB를 생성해보았습니다.

이후에 MySQL DB에서 Fucntion을 생성하고 사용해야하는 경우가 생기게 됩니다.

예를 들어,

DROPFUNCTION IF EXISTS hello_world; DELIMITER $$ CREATEFUNCTIONhello_world(addressee TEXT) RETURNS TEXT DETERMINISTIC READS SQL DATA BEGIN RETURN CONCAT('Hello ', addressee); END; $$ DELIMITER ; SELECT hello_world('Earth');
위와 같은 FUNCTION을 생성하려고 SQL문을 작성하고 실행해보면 AWS RDS는

Error Code: 1419. You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

이런 에러가 발생하게 됩니다. 에러를 확인해보면 log_bin_trust_function_creators_variable 를 설정하라는 내용입니다.

기존의 로컬이나 물리적 서버 설치였으면 cnf와 같은 환경설정 파일 상에서 환경변수를 설정해줄 수 있었지만,  AWS RDS는 ssh와 같은 접속을 지원하지 않기때문에 parameter group 설정을 지원하고있습니다.

AWS RDS Dashboard로 이동합니다.

왼쪽 메뉴에서 파라미터그룹탭으로 이동하면 default 그룹만 있는 상태입니다. 파라미터 그룹 생성을 클릭합니다.


사용하고 있는 DB 엔진을 선택하고 그룹이름과 설명을 입력하고 생성을 클릭합니다.


새로 생성한 파라미터 그룹의 파라미터 편집버튼을 누르고 필터에 function이라고 입력하면

전에 에러가 났던 log_bin_trust_functions_creators…