백엔드 없이 프론트엔드만으로 페이지를 완성할 생각이므로 백엔드 없이 리액트와 AWS RDS 를 연결해볼 생각이다.
RDS 를 만드는 건 쉽다.
AWS RDS 들어가서 데이터 베이스 생성
들어가서
나는 MySQL
을 사용할 거기 때문에 선택하고
돈 안 내고 쓰고 싶기 때문에 프리티어
식별자는 우리가 Heide 에서 처음 만들 때 그 이름
여기 stockviews
가 바로 식별자다.
아무튼 이름 적고 사용자 이름
은 데이터 베이스에 접근할 때 사용할 이름. 거기에 비밀번호.
인스턴스 구성은 t2
스토리지는 20GiB
로 해야 한다. 프리티어는 20이다. 그리고
스토리지 자동조정 활성화
를 체크 해제 해준다. 체크 해놓으면 자동 조정되며 언제 돈이 나갈지도 모르므로.
우리 백수들은 항상 이런 걸 조심해야한다. 삭막한 자본주의에서 계약서 한번 잘못 쓰면 눈뜨고 코 베이고도 대응할 수가 없다.
여기가 중요한데 연결
EC2 연결 안 함
으로 해서 VPC 를 선택하던가 새로 만들어야한다. 왜냐면 EC2 연결
을 선택하면 아래 처럼 퍼블릭 액세스
를 허용할 수 없다.
우리는 퍼블릭 액세스인 localhost 로 접근하므로 이렇게 해놓자.
RDS 프록시 체크 해제하고
포트를 바꿀려면 바꾸자
암호로 인증하고
추가옵션을 클릭해서
초기 데이터베이스 이름
을 입력해주면 우리가 나중에 heide 로 데이터베이스를 만들어주지 않아도된다. 미리 만들어주니까.
이 안에서 stockviewdata
를 만들어준다는 소리임.
그리고 백업 체크해제하고( 해제해도 나중에 데이터베이스 편집 들어가면 백업설정되어있더라... 왜지?)
마이너 버전 업그레이드
체크 해제하고, 삭제 방지 체크 해제 하자. 우리는 아직 서툴기 때문에 데이터베이스를 지웠다가 다시 만들어야할 상황이 생길 수도 있잖아.
데이터베이스 생성
눌러서 만들면 끝
일단 신규 세션을 만들어볼까. 식별자와 같은 이름으로 만들어보자. 달라도 상관 없는 거 같긴한데. 일단.
호스트명/IP
는 RDS 의 엔드포인트
사용자와 암호
는 우리가 조금 전에 만들었던 마스터 이름과 암호
여기서 에러가 날 수 있다. ERROR
들어가면 우리가 미리 만들어 놓아달라고 했던 데이터베이스가 만들어져있다.
테이블을 만들어볼까.
CREATE TABLE viewcount ( NAME VARCHAR(45) NOT NULL, COUNT INT NOT NULL, TOTALCOUNT INT NOT NULL);
이 때, COUNT INT(11) NOT NULL 처럼 INT 뒤에 숫자를 넣으면, 에러가 나면서 테이블이 생성이 안 될 수도 있다.
그럼 위 코드 처럼 INT 뒤에 숫자를 빼보자.
INSERT INTO viewcount(NAME, COUNT, TOTALCOUNT) VALUES("동화약품(주)", 0, 0);
이렇게 넣어줬다.
그럼 이제 REACT 에서 데이터를 받아보자! (RDS 만들기는 쉽지만 REACT 연결이 3일걸림)
매우 잘 설명된 stackoverflow
0.0.0.0 으로 안되면 0.0.0.0 만 남기고 다 지워보자.
아니면 저 위의 퍼블릭 액세스
가 허용 안 된 걸 수 있으니 확인해보자.