AWS RDS MYSQL 생성하기

yunyoung·2021년 1월 4일
0

KF99 프로젝트

목록 보기
3/20
post-thumbnail

2020년 11월 23일 기록

AWS RDS 생성하기

속도 문제 때문에 AWS DynamoDB를 써볼까도 했지만, 마스크 이미지 처리는 s3로 할 것이고 그냥 관리자 앱과 웹에서 통계만 보여주기 위한 용도이기 때문에 속도가 크게 상관없을 것 같아 RDS를 쓰기로 결정했다.

이미지1

  • 템플릿에서 프리 티어를 선택한다.

  • DB 인스턴스 크기는 db.t2.micro 선택한다.

  • 할당된 스토리지 20GiB

  • 추가 연결 구성 누르고 퍼블릭 액세스 가능하게 설정해야 데이터베이스에 연결이 가능하다.

    이미지2

    생성하면 5~10분 뒤 사용 가능으로 상태가 바뀐다.

데이터베이스에 연결

cmd창에서 연결해본다.

C:\WINDOWS\system32>mysql -u '마스터사용자이름' --host '엔드포인트' -P '포트번호' -p

그대로 연결하면 아래와 같은 에러가 난다.

이미지3

-> 검색해 보니 보안 그룹에 문제가 있어 발생하는 경우가 많다고 한다.

AWS RDS 데이터베이스에 설정된 보안 그룹을 찾아 들어가서 인바운드 규칙 편집-소스를 위치 무관으로 바꿔준다.

이미지4

그리고 다시 cmd에서 연결해보면 잘 된다!

데이터베이스, 테이블 생성하기

mysql> create database kf99 default character set UTF8;
Query OK, 1 row affected, 1 warning (0.20 sec)
mysql> use kf99;
Database changed
mysql> CREATE TABLE history (
    -> `id` int(11) NOT NULL AUTO_INCREMENT,
    -> `ispass` TINYINT(1) NOT NULL,
    -> `visited` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    -> PRIMARY KEY(id)
    -> );
Query OK, 0 rows affected, 2 warnings (0.21 sec)

실제로 insert 해보니 현재 시간이 UTC로 들어가서 한국 시간과 맞지 않는다!

  mysql> set time_zone='Asia/Seoul';
  mysql> select now();
  +---------------------+
  | now()               |
  +---------------------+
  | 2020-11-23 13:41:22 |
  +---------------------+
  1 row in set (0.19 sec)

요렇게 하고 나니까 한국 시간으로 잘 들어간다.

Multipart 데이터 람다에서 받기(python)

def post_file(event, context):

  c_type, c_data = parse_header(event['headers']['Content-Type'])
  assert c_type == 'multipart/form-data'
  form_data = parse_multipart(BytesIO(event['body'].decode('base64')), c_data)

맞는지 잘 모르겠다. 일단 기록

API Gateway를 구축할 때 multipart/form-data를 허용하도록 설정해주어야 하는 것 같다.

profile
🌈TIL과 개발 노트

0개의 댓글