정리

8-1 TIL 정리(AWS 3번째 )

모_아이 2022. 4. 27. 19:19

(8-2 https://mo-i-programmers.tistory.com/21)

데이터 베이스 관리

클라우드 시대 이전엔 DB의 역할이 매우 중요햇는데 이유는 사용자 정보, 구매 정보등을 저장하고있는 데이터 베이스가 어플리케이션에선 가장 중요한 부분이었기 때문이다.

하지만 아키텍처의 변화로 데이터베이스가 가벼워게 되고 데이터베이스도 클라우드에서 매니지드 되는 서비스를 사용하면서 데이터베이스를 직접 돌보아야 하는 일들이 조금 줄어들게 된다.

RDBMS(SQL)이란

RDBMS는 현업에서 흔히 관계형 데이터베이스라고 한다. (다른 데이터베이스 종류에는 NoSql)

관계형 데이터 베이스가 중요한 이유는 거의 모든 서비스의 메인 데이터베이스는 NoSql이 아니라 RDBMS이다.

※관계형 데이터 베이스는 서비스를 운영하는데 있어 매우 중요

RDBMS vs NoSql

-RDBMS

엑셀과 같은 표의 형태로 데이터가 저장. 테이블을 만들 때 컬럼이 고정되어 있기 때문에 데이터가 실제로 저장되면 컬럼 수정하기가 힘들다.

테이블을 여러개 만들어서 테이블끼리 연결 가능! 그래서 네이밍에 R(Relation)이 붙는다.

제품에는 Oracle, MySql, postgreSQL, Mssql 이 있다.

 

-NoSql

JSON형태로 데이터가 저장된다. 도큐먼트라는 RDBMS의 테이블과 비슷한 곳에 저장

도큐먼트는 생성될 때 컬럼이 고정되지 않기 때문에 변경이 용이합니다. 그렇기 때문에 정형화된 데이터보다는 비 정형화 된 데이터를 저장하는 용도로 사용

 

RDS

참고문서 ( https://docs.aws.amazon.com/rds/?id=docs_gateway )

생성 옵션 간단 설명

-표준 생성, 손쉬운 생성

표준생성은 사용자가 구성을 직접 설정해보는 방법 / 손쉬운 생성은 권장하는 구성을 사용하는 방법

-엔진옵션

말그대로 엔진을 고르는 것(EB에서 파이썬을 골랐던 것 기억)

-템플릿(프로덕션, 개발/테스트, 프리티어)

프로덕션은 RDS에서 제공하는 기본적인 설정값을 사용하도록 하는 옵션! 데이터베이스 제품들에 따라 설정하는 옵션값들이 많이 있는데 최적화 된 옵션을 실제 운영하는 환경이라는 전제하에 제공한다.

개발/테스트 = 개발/테스트

프리티어 = 공짜경험

-설정

DB클러스터 식별자는 데이터베이스 이름을 붙이는 부분

자격 증명 설정은 데이터베이스 최고 관리자의 계정 ID와 비밀번호를 설정하는 부분(관리자 계정정보가 설정되어야 접속 할 수 있다.)

-DB인스턴스 크기

DB인스턴스 클래스는 인스턴스의 스팩을 선택하는 부분!

고사양의 스팩을 선택할수록 비용이 많이 나온다.

-스토리지

스토리지 자동 조정은 데이터베이스의 데이터가 늘어남에 따라 저장공간을 알아서 늘려주는 기능

-연결

퍼블릭 엑세스 가능을 '예'로 선택하면 외부에서도 접속 가능하다.

-데이터베이스 인증

데이터베이스 인증 옵션은 데이터베이스에 접속할 때 인증밥법을 선택한다.

-보안그룹 소스 변경

인방운드 규칙에서 0.0.0.0/0 추가(테스트)

이후 생성!

 

파이참을 이용해 RDS를 사용

우측 데이터베이스를 선택해 data source에서 MySQL(다른 소스들도 많다!)

이후 입력값 입력

host는 엔드포인트 값 입력! user 와 패스워드 입력(마스터 사용자 이름과 비번)

테스트 해보고 성공되면 OK

 

-스키마 추가

( create database {스키마이름} default character set utf8 collate utf8_general_ci; )

한글은 영문이랑 바이트가 다르고 저장하는 체계가 다르기 때문에 안깨지고 저장하기 위한 입력값 

-테이블 추가

-쿼리 실행해 보기!

insert into file(file_name) value('test.jpg');

RDS, Python 연동해보기

위에 추가했던 보안그룹 인바운드 규칙 편집 포트3306 0.0.0.0/0 상태

백엔드와 프론트 코드를 알맞게 변경한 뒤

라이브러리 추가!

로컬 라이브러리(flask-mysql)

pip install install flask-mysql

EB 배포용

pip freeze > requirements.txt

이후 EB 환경변수 추가!

 

EC2 비용계산 참고문서

https://calculator.aws/#/createCalculator/EC2

RDS비용 계산 참고문서

https://calculator.aws/#/createCalculator/RDSMySQL

반응형

'정리' 카테고리의 다른 글

9 TIL 정리(파일 업로드)  (0) 2022.04.28
8-2 TIL 정리(AWS)  (0) 2022.04.28
7-3TIL 정리(마지막 EB)  (0) 2022.04.27
7-2TIL 정리(AWS 기초)  (0) 2022.04.27
7-1TIL 정리(AWS기초)  (0) 2022.04.27