Jun 개발노트

AWS - RDS

2020-03-03

AWS의 RDS + Mysql + Node.js 연동

1. RDS란

  • 정의 : AWS 제공하는 클라우드 시스템안에 있는 DB를 사용하는것
  • DB 생성 및 세팅
    1. aws console에서 RDS 클릭
    2. 데이터베이스 생성
    3. 생성화면
      1. 손쉬운 생성
      2. 원하는 DB 선택(Mysql)
      3. DB인스턴스 - 프리티어 선택
      4. DB인스턴스 식별자 - 원하는 DB 명 입력
      5. 마스터 이름 : DB root user 아이디 (중요!!)
      6. 마스터 암호 : DB root user 비밀번호 (중요!!)
    4. DB 생성 완료
    5. DB 수정
      1. 보안그룹 설정 : 방화벽과 같은 느낌
      2. 퍼블릭엑세스 : 아니오 => 예로 변경
    6. 수정완료

2. Nods로 연결

  • 사용 패키지 : mysql2
  • 방법
    const mysql = require('mysql2');
    
    // 커넥션 객체 생성
    const connection = mysql.createConnection({
    host : aws DB endpoint,
    port : 3306(my sql은 기본 포트),
    user : 마스터 이름,
    password : 마스터 비밀번호,
    database : 사용할 스키마,
    waitForConnections: true,
    connectionLimit: 10,
    queueLimit: 0
    });
    
    // 커넥션 객체를 통해 데이터 컨트롤
    connection.query(
    'SELECT * FROM `table` WHERE `name` = ? AND `age` > ?',
    ['Page', 45],
    function(err, results) {
        console.log(results);
    }
    );
    

3. 한글 오류에 따른 해결방법

  1. RDS - 파라미터 그룹
  2. 파라미터 그룹 생성
  3. 생성한 파라미터 클릭
  4. character_set 검색하여 파라미터 편집
  5. 값 => utf -8
  6. 데이터베이스 수정하여 생성한 파라미터 그룹으로 변경
  7. 재부팅!!!!

4. 결론

  • aws에서 제공하는 db를 언제어디서나 사용할수있다는 장점
  • 나같은 사람들을 위해 필요한 포스트를 계속 쓰자