(변경사항)
올해부터 RDS를 '퍼블릭 액세스 허용'으로 사용시 Public IPv4 사용요금 명목으로 월 3달러정도 추가요금이 발생해서
한 번 만들어보고 안쓰면 삭제합시다.
이외엔 Azure가면 MySQL 유동서버 이런 것들도 만들기 쉬운데 IPv4 이용요금은 없고
아니면 Supabase 가면 무료로 PostgreSQL 500MB 호스팅받을 수 있습니다.
강의 맨 처음에 했던 것 처럼 MySQL을 컴퓨터에 설치하면
여러분 컴퓨터에서 데이터베이스를 이용할 수 있습니다.
근데 개발자 마케터 등 회사 내 많은 사람들이 이용하게 하고 싶으면
데이터베이스를 직접 컴퓨터에 설치하는 것 보다 AWS, GCP 같은 클라우드서비스에서 하나 호스팅받는게 훨씬 안전합니다.
- 자동 백업
- 자동 스케일업
- 모니터링
- 로그작성
- DB 접속 허용 지역설정, 접속 유저 관리
- 쿼리 성능 최적화 제안
이런것들 알아서 해주는데 안 쓸 이유가 없음
비용 절감이 목표면 AWS EC2
AWS에서 가상 컴퓨터를 한 대 빌릴 수 있습니다.
거기다가 MySQL 설치해서 직접 운영하는 방식을 써도 됩니다.
다만 여러분이 직접
- 자동 백업
- 자동 스케일업
- 모니터링
- 로그작성
- DB 접속 허용 지역설정, 접속 유저 관리
이런거 셋팅을 해놓아야하는데 어떻게 할 것이죠? 경험자가 아니면 어려울 수 있습니다.
물론 안해도 되긴 하는데 나중에 데이터가 많아져서 심각해지면 직접 저런거 셋팅하다가 고생할 수도 있습니다.
그래서 조금 비용을 더 주더라도 아마존의 RDS, Aurora 같은 'managed' 데이터베이스 서비스를 이용하는 경우도 있습니다.
그 서비스들은 위에 적어놓은걸 자동으로 해주니까요.
더 비쌀 수 있는데 개발자 한명 고용하는 비용이라고 생각해도 됩니다.
AWS RDS 또는 Aurora
RDS 또는 Aurora가 AWS에서 이용가능한 managed 데이터베이스 서비스입니다.
가장 큰 차이는
RDS는 그냥 아마존 컴퓨터 한대 빌려서 MySQL 설치해주는게 다입니다.
어떻게 보면 EC2 빌리는거랑 똑같은데 관리와 운영을 편리하게 도와줄 뿐임
Aurora는 RDS와 비슷한데 내부적으로 컴퓨터와 데이터베이스가 분리되어있습니다.
덕분에 데이터를 여러 지역에 복사본을 만들기도 쉽고 입출력 트래픽을 분산시켜주는 것도 매우 잘합니다.
그래서 대부분의 상황에서 Aurora가 더 빠르고 유연합니다.
그래서 당근마켓도 RDS 쓰다가 Aurora로 이전했다고 합니다.
가장 중요한 요금은
RDS 는 월정액같은 느낌이라면 Aurora는 입출력횟수당 과금입니다.
그래서 당근마켓이 계속 적자가 나는 것일까요
다만 Aurora는 자기가 사용량을 자동으로 조절해주기 때문에 요금이 훨씬 덜 나오는 경우도 있어서
그런건 직접 계산해보도록 합시다.
다만 AWS 처음 가입시 1년 무료 이용권을 주는데 RDS는 무료로 이용가능합니다.
Aurora는 무료로 이용 불가능하기 때문에 RDS로 만들어봅시다.
AWS 싫으면
- 구글의 Cloud SQL이라는 비슷한 상품도 있습니다.
거긴 신규가입시 6개월 이용가능한 $300 크레딧을 줍니다.
- 안써봤는데 Planetscale 이라는 사이트도 5GB 저장공간, 월 10억개 행 읽기까지 무료입니다.
근데 이런건 프로그래밍하는 분들이 유용하게 쓸 것 같군요
AWS RDS 에서 데이터베이스 만들기
1. aws.amazon.com 에서 가입하고 카드등록까지 마칩시다.
새로운 계정이면 저사양 기기들 1년 무료 이용가능
▲ 2. 우측상단 지역을 서울로 바꾸고
RDS 검색해서 들어와서 어딘가에 있는 데이터베이스 생성버튼 눌러봅시다.
▲ 3. 대충 선택하고 DB 접속용 아이디 비번도 잘 만들어줍니다.
하라는거 하면 쉬워서 솔직히 가이드 필요없음
그럼 몇분 걸려서 데이터베이스가 생성되니까 기다려봅시다.
▲ 4. 생성된 데이터베이스 이름을 눌러봅시다.
거기에 퍼블릭 액세스 가능 여부가 '아니오'로 되어있으면 '예'로 바꿔줘야 아무나 접속가능합니다.
위에 수정버튼있는데 그거 눌러서 '예'로 바꾸십시오
수정메뉴에서 퍼블릭 액세스 항목이 안보이면 드롭다운메뉴 잘 찾아보셈
5. 바로 위 사진에 있는 VPC 보안 어쩌구를 눌러서 보안을 해제해봅시다.
▲ 인바운드 규칙이 여러분 DB를 누가 접속해서 SQL 작성이 가능한지 결정하는 보안장치입니다.
편집눌러서 개나소나 접속가능하게 해봅시다.
▲ 규칙 추가누르고 / MySQL 선택하고 / 접속가능한 IP 맘대로 설정하면 됩니다.
0.0.0.0은 아무 IP나 접속가능하다는 뜻입니다.
실제 서비스 운영시엔 신원 확실한 IP들만 적어두는게 안전하겠죠?
님 아이피는 구글에 "my ip address" 검색하면 나옵니다.
6. DBeaver 이런 곳에서 방금 만든 데이터베이스에 접속하려면
DBeaver 상단에 '새 데이터베이스 연결' 눌러서
하단처럼 기입 잘 해주면 됩니다.
Host : AWS 콘솔의 '엔드포인트' 적으면 되고
Database : AWS 콘솔의 구성 메뉴에서 볼 수 있는 'DB 이름' 적으면 되는데 설정한 기억이 없으면 비워두면 됩니다
Username, Password : 아까 기입했던 DB 접속용 아이디 비번 입력하면 됩니다.
이러면 DB접속가능합니다.
DBeaver에서 Database 만들고 테이블 만들고 INSERT 하고 맘대로 할 수 있습니다.
- 백업 알아서 해줍니다. 백업메뉴도 둘러봅시다
- 로그메뉴에선 누가 뭔짓거리 했는지 로그 구경가능
- 복제본 생성도 가능합니다.
- 나머지 잡기능은 DBeaver에서 만질 수 있습니다.
1년간 무료는 맞는데 1년 이후엔 데이터 입출력이 없다고 해도 기본요금이 청구됩니다
안쓰면 방금 만든 데이터베이스 삭제해둡시다.
'Mysql&DBeaver' 카테고리의 다른 글
DBeaver) 엔티티 관계도 쉽게 잘그리는 법 (ERD) (0) | 2024.09.08 |
---|---|
DBeaver)Trigger 사용하기 (1) | 2024.09.08 |
DBeaver)돈 다루다가 큰일나기 싫으면 Transaction (0) | 2024.09.08 |
DBeaver)진짜 검색기능은 Full Text search (5) | 2024.09.08 |
DBeaver)index 만들기 / 성능평가 (2) | 2024.09.08 |