이제 로직을 다 구현했으니 AWS RDS를 통해 데이터베이스를 구축해보겠습니다. RDS는 아마존에서 제공하는 관계형 데이터베이스입니다.
AWS 과금은 다음 블로그를 참고하세요.
데이터베이스를 설정하기 이전에 파라미터 그룹을 생성해야 합니다.
파라미터는 밸류를 담고 있는 집합을 설정하는 것으로 파라미터 그룹 패밀리를 선택하면 다양한 종류의 데이터베이스를 선택할 수 있습니다. 파라미터를 선택합니다.
원하는 파라미터를 선택하고 편집을 누릅니다. 파라미터를 설정하는 것 자체가 데이터베이스의 설정값을 전달하는 행위이기 때문에 데이터베이스가 참조할 설정값을 정해야 합니다. 예를 들어 문자열을 표기하는 방식 중 한글이 지원되는 데이터베이스를 만들 수 있도록 해야 하기에 설정해주어야 합니다.
파라미터 편집을 누르고 character_set
을 입력하면 관련된 이름들이 나옵니다. utf8mb4
를 사용합니다. 원래는 utf8
도 이모티콘이 저장되는 인코딩 캐릭터 셋인데 mysql에서 개발할 때 byte설정을 잘못해서 계량해서 지원이 되도록 설정한 캐릭터 셋입니다.
그 후 collation을 지정해야 하는데 collation_connection
은 utf8mn4_general_ci
를 선택하고 collation_server
는 utf8mb4_unicode_ci
를 선택합니다. 변경사항을 저장합니다.
이렇게 설정하면 데이터베이스에 저장할 때 깨지는 일이 없습니다.
표준생성을 선택하고 데이터베이스를 선택합니다. 데이터베이스 버전의 선택은 파라미터 때 선택한 버전과 동일하게 합니다. 아니면 파라미터를 선택할 수 없습니다.
템플릿 중 원하는 내역대로 선택하고,
DB인스턴스 식별자에는 프로젝트 이름을 정하고 사용자 이름을 root로 지정합니다.
스토리지 자동 조정을 uncheck을 합니다. 과금될 수 있으니까요!
데이터베이스를 외부에서 접속할 수 있도록 퍼블릭 엑세스 기능에 '예'를 선택합니다.
추가기능 구성 토글을 열어 만들어 둔 DB 파라미터 그룹을 선택합니다.
데이터베이스가 실수로 삭제되는 것을 막기 위해 삭제 방지 활성화를 선택하는 것을 추천합니다.
생성이 되었으면 보안그룹을 설정해야 합니다. 보안 그룹 규칙을 보면 inbound
(들여보냄)와 outbound
규칙(내보냄)이 있는데, inbound 규칙을 공인 ip가 아니여도 사용할 수 있도록 변경합니다. (데이터베이트는 보안이 중요하므로 공인 ip를 사용합니다만.. 우선 풀었습니다.)
인바운드 규칙 편집을 누르고 0.0.0.0/0
을 선택합니다.(권장하지 않는 방법입니다. 작업을 마친 후 변경하는 것을 추천드립니다.)
화면에 보이는 엔드포인트를 선택합니다. 그리고 터미널을 엽니다. (mySQL을 설치한 후 진행합니다.)
mysql -h 엔드포인트 주소 -u root -p
를 입력합니다.
그 후 비밀번호를 입력합니다...!
이렇게 연결하면 로컬의 데이터베이스가 아닌 AWS의 데이터베이스에 연결한 것입니다.
그 후 로컬에서 데이터베이스를 생성한 대로 생성합니다. 다음의 블로그에서 확인할 수 있습니다☺️