AWS RDS(Amazon Relational Database Service)
- AWS 에서 제공하는 관계형 데이터베이스 서비스
- Cloud 상에 Database 를 구축
AWS RDS 회원가입
- 아래 주소로 이동하여 회원가입을 시작합니다.
https://portal.aws.amazon.com/billing/signup#/start
- 개인으로 가입
- 프리티어를 사용할 예정이지만, 카드정보를 넣어야 가입이 완료됨
- 결제는 카드 체크를 위해서 시도 되며 곧 승인취소 됨
- 카드 정보 입력
- 문자 인증
- 문자로 받은 코드 확인
- 무료 버전 선택
- AWS 관리 콘솔로 이동
MySQL RDS 생성
- AWS 관리 콘솔 - 서비스 선택
- 데이터베이스 - RDS 선택
- 대시보드 - 데이터베이스 생성 선택
- 데이터베이스 생성 - 표준 생성 방식 선택
- 엔진 유형 - MySQL 선택
- 템플릿 - 프리티어 선택
- 기본 설정 - MySQL 접근 계정 정보
- DB 인스턴스 클래스 - db.t2.micro
- 스토리지 자동 조절 활성화 끄기 (비용문제)
- 가용성 및 내구성 - 기본설정
- AWS RDS 에서 퍼블릭 엑세스란
- 퍼블릭 엑세스 - 예 (외부에서 접속하기 위해)
- 보안 그룹 및 포트 - 기본 설정 유지
- 데이터베이스 인증 - 암호 인증
- 자동백업 - 비활성화 (비용)
- 기본설정
- 삭제 방지 - 활성화
- 요금 주의 - 사용시간과 용량 확인
- 데이터베이스 생성
- 데이터베이스 상태 확인 - 생성 중
- 데이터베이스 상태 확인 - 사용 가능
AWS RDS 외부 접속 설정
- 서비스 > RDS > 데이터베이스 - DB 식별자 선택
- 선택된 데이터베이스 페이지
- 연결&보안 - VPC 보안 그룹 선택
- 보안 그룹 페이지 - 보안 그룹 ID 선택
- 해당 보안 그룹 ID 페이지 - 인바운드 규칙 편집 선택
- 규칙 추가 후 저장
- 해당 보안 그룹 ID 페이지 - 규칙 확인
MySQL RDS 접속
- 서비스 > RDS > 데이터베이스 - DB 식별자 선택
- 선택된 데이터베이스 페이지
- 연결&보안 - 엔드포인트 및 포트 확인
- 터미널 실행
- Database 목록
- USER 목록
AWS RDS 중지
- 750 시간이 넉넉하지는 않으니까, 사용하지 않을 때는 중지하는 방법을 알아봅시다
- 서비스 / RDS / 데이터베이스 - database-1 체크
- 작업 - 중지 선택
- 스냅샷 / 아니오 (비용) - '예, 지금 중지합니다.' 선택
- 데이터베이스 상태 확인 - 중지 중
- 데이터베이스 상태 확인 - 중지됨
AWS RDS 시작
- 중지된 AWS RDS 를 다시 시작하는 방법을 알아봅시다
- 서비스 / RDS / 데이터베이스 - database-1 선택
- database-1 페이지 / 작업 - 시작
- database-1 페이지 / 상태 - 시작 중
- database-1 페이지 / 상태 - 사용 가능
실습환경 만들기
- sql_ws 폴더를 만들고 그 하위에서 실습
[SQL File 생성 방법]- sql_ws 폴더 하위에서 다음을 실행 (현재 폴더를 VSCode 로 열라는 뜻)
- VSCode 의 sql_ws 폴더에서 새파일을 선택
- 생성할 파일 이름을 정하고, 파일 확장자를 sql 로 입력하면 비어있는 SQL 파일이 생성됨
SQL File
SQL 쿼리를 모아놓은 파일
- SQL File 실행
- 예제 - 경찰서 정보를 테이블로 만들기
- sql_ws 폴더 위치로 이동하여 zerobase 에 접속
- SQL File 을 실행
- 결과를 확인
- SQL File 실행 2 - 외부에서 바로 실행
- MySQL 연결 종료
- 예제 2 - 서울특별시 관서별 5대 범죄 현황 정보를 테이블로 만들어보기
- zerobase Database 에 접속하면서 SQL File 을 실행
- Zerobase 에 접속하여 결과를 확인
Database Backup
- SQL File 로 Database 를 백업할 수 있다
- zerobase Database Backup
- VSCode 에서 zerobase.sql 확인
Database Restore
데이터베이스를 백업한 SQL File 을 실행하여 그 시점으로 복구하거나 이전 할 수 있다 (SQL File 을 실행하는 방법과 동일함)
- AWS RDS (database-1) 서비스가 사용 가능한 상태에서 접속
- Database Restore 예제
- zerobase Database 이동
- AWS RDS (database-1) 의 zerobase Database 를 복원
- 결과 확인
Table Backup
- Table 단위로도 백업할 수 있다
- Local Database 에서 celeb Table 을 백업
- VSCode 에서 celeb.sql 파일을 확인
Table Restore
Table 을 백업한 SQL File 을 실행하여, 해당 테이블을 복구하거나 이전할 수 있다
- AWS RDS (database-1) 의 zerobase 에서 celeb 테이블을 삭제
- AWS RDS (database-1) 의 zerobase 에서 celeb 테이블을 복구
- 결과 확인
Table Schema Backup
- 데이터를 제외하고 테이블 생성 쿼리만 백업할 수 있다
- Local Database 에서 snl_show Table Schema 백업
- VSCode 에서 snl.sql 확인 (Data 는 포함하지 X)
AWS RDS를 가입하고 처음 사용하여 수업을 들었는데 새로웠고, 지금까지는 localhost로 접속하던 것에 반해 이번에는 외부에서 접속을 할 수 있는 부분이 신기했다
처음 외부 접속을 시도하느라 오류도 많이 났고 지금까지 MySQL client 프롬프트로 수업을 진행했었지만 새로 window 자체의 프롬프트를 이용하는 방법으로 바꾸어서 헷갈리고 세팅하는데 시간이 많이 걸렸다
슬슬 어려워지기 때문에 걱정이 되는 것이 사실이지만 확실히 익히고 넘어가야겠다
내일은 Python with MySQL 부분을 공부할 예정이다