지금 개인 프로젝트를 하나 하면서 이제 막바지다. 배포만 하면된다.
그런데 보니까, db도 배포를 해야되겠더라. 그래서 찾아보니 AWS의 RDS가 있었다.
그래서 이용했다.
난 열심히 뒤졌다. 또 뒤졌다.
정말 생초보인 난 뭘해야되는지 몰랐다.
결국 유튜브에검색했다. RDS mysql 이라 검색하니 이번에도
천축국에서 전해져오는 가르침이 있는가? YES
였다.
그래서 아래의 영상을 참고했다.
참고 영상
AWS에 로그인을 하고 RDS를 검색하자.

그리고 보이는 주황색 버튼'데이터베이스 생성'을 누르자.

MySQL쓸거니까 MySQL 선택하자.

나같은 초짜는 굳이 바꾸지 말자.

템플릿은 프리티어로 설정하자. 돈아껴야한다. 부자면 바로 프로덕션으로 해도된다.

여기서 각자 DB인스턴스 식별자 명과 마스터 사용자 이름, 마스터 암호를 설정하고 기록이든 기억이든 해서 잊지말자.

우리같은 초보 개인 프로젝트 개발자는 굳이 건들필요없는 부분이다.

여기서
퍼블릭엑세스
는 아니오 에서 예로 바꿔주자.

그리고 다시 나머지는 손대지 말자.

그리고 또 굳이 손대지 말자.

프리티어로 하면 21.6달러가 월마다 나간다고 한다.
하!지!만!
12개월 무료지롱

확인 했으면 데이터베이스 생성을 누르자.
아래처럼 DB가 생성된다. 그런데 생성 까지 몇 분 걸린다.

이제 여기서 vpc 보안그룹을 눌러서 들어가보자.

뜨는 거 하나 선택하고
인바운드 규칙에 들어가서 밑에 적혀있는 IPv4 MySQL을 아래처럼 설정해주자.
우측에 있는 인바운드 규칙편집에서 수정하면 된다.

이제 mysql workbench에 들어가서 아래처럼 하고 store in vault ... 에서 아까 만든 비밀번호도 입력하고, Test Connection 버튼을 눌러주자.

연결잘되면 연결잘 되었다고 뜬다.
그리고 나서 나의 경우는 아래처럼 확인 데이터베이스 생성 사용을 진행하였다.
show databases;
create database 데이터베이스이름 character set utf8mb4 collate utf8mb4_general_ci;
use 데이터베이스이름;
난 미리 만들어놓은 프로젝트여서 DB가 싹 날아갔다. 따흐흑 그래서 일단 migration 초기화후 작업을 위해 각 앱의 migrations 폴더 안에 init.py를 제외한 0001 0002 어쩌고는 다지워줬다. 마찬가지로 각 앱의 migrations 폴더 안에 있는 pycache폴더의 0001 0002 어쩌고도 지워줬다.
그리고 settings.py에서 DATABASES 를 아래처럼 해줬다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '데이터베이스이름',
'USER': 'root',
# 'PASSWORD': get_secret("MYSQL_PW"),
'PASSWORD': env("MYSQL_PW"),
# 'HOST': '127.0.0.1',
'HOST': '엔드포인트',
'PORT': '3306',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
'charset': 'utf8mb4',
'use_unicode': True,
},
}
}
OPTIONS는 DB에 이모티콘도 넣어야해서 저렇게 해놨다.
그리고
python manage.py makemigrations
python manage.py migrate
의 명령어를 해주고DB를 확인하니 잘 적용 된 것을 확인할 수 있었다.
굳 이제 django랑 react 배포해야한다. 따흐흑 우째하지...
아니 이게 뭐람
난 전부 프리티어에다가 문제 생길만한 것도 없는데 비용이 발생했다.

아니 왜? 들어가서 확인해보니

VPC에서 생긴 비용이라고 한다. 뭐지
최근에 배포하려고 이것저것 만졌지만 아직 ec2서버는 만들지도 않았고, RDS는 분명 750시간에 아직 하나밖에 없어서 시간 초과는 절대 발생할리가 없는데?
왼쪽 카테고리에서 청구서를 눌러서 보았다.

그리고 비용이 발생한 곳을 확인해보았다.

아니 이게 뭐람
Amazon Virtual Private Cloud Public IPv4 Addresses
$0.005 per In-use public IPv4 address per hour

이런;;;;; RDS설정을 하면서 IPv4를 이용하게 했는데 이게 찾아보니
공지 – AWS Public IPv4 주소 요금 변경 및 Public IP Insights 기능 출시
이제 돈 내야된다고한다.

EC2 AWS 프리티어는 주소 사용이 포함되는데, 난 RDS를 사용했으니 따로 비용이 나갈 수 밖에....
이걸 어떻게 할 까 하다가 계산기를 두드려보니 대량 6000원 정도의 비용이나가서 그냥 들고 가기로 했다.
다른 방법도 많겠지만, 학습비용이라 생각하고 한 번 들고가려한다.
처음엔 진짜 그 짧은 시간에 해킹당했나 생각했는데 다행스럽게 그건 아니였다.
휴
나는 아예 비용을 내기 싫다!! 라고 하면 한 번 아래 블로그를 참고해보자.
[해결] AWS 퍼블릭 IPv4 유료화: 프리티어인데 과금되었다면