[SQL] AWS RDS

허재훈·2023년 4월 27일
0

SQL

목록 보기
10/17
post-thumbnail
post-custom-banner

1. AWS RDS (Amazon Relational Database Service)

  • AWS 에서 제공하는 관계형 데이터베이스 서비스
  • Cloud 상에 Database 를 구축해 봅시다.

2. AWS 회원가입

  • 2/5 단계 - 개인으로 가입합니다

  • 3/5 단계 - 결제정보

    • 프리티어를 사용할 예정이지만, 카드정보를 넣어야 가입이 완료됩니다.
      결제는 카드 체크를 위해서 시도 되며 곧 승인취소 됩니다.

  • 3/5 단계 - 카드 정보 입력

  • 4/5 단계 - 문자 인증

  • 4/5 단계 - 문자로 받은 코드 확인

  • 5/5 단계 - 무료 버전 선택

  • 가입 완료 - AWS 관리 콘솔로 이동

3. MySQL RDS 생성

  • AWS 관리 콘솔 - 서비스 선택

  • 데이터베이스 - RDS 선택

  • 대시보드 - 데이터베이스 생성 선택

  • 데이터베이스 생성 - 표준 생성 방식 선택

  • 엔진 유형 - MySQL 선택

  • 템플릿 - 프리티어 선택

  • 기본 설정 - MySQL 접근 계정 정보

  • DB 인스턴스 클래스 - db.t2.micro

  • 스토리지 자동 조절 활성화 끄기 (비용문제)

  • 가용성 및 내구성 - 기본설정

  • AWS RDS 에서 퍼블릭 엑세스란?

  • 퍼블릭 엑세스 - 예 (외부에서 접속하기 위해)

  • 보안 그룹 및 포트 - 기본 설정 유지

  • 데이터베이스 인증 - 암호 인증

  • 자동백업 - 비활성화 (비용)

  • 기본설정

  • 삭제 방지 - 활성화

  • 요금 주의 - 사용시간과 용량 확인

  • 데이터베이스 생성

  • 데이터베이스 상태 확인 - 생성 중

  • 데이터베이스 상태 확인 - 사용 가능

4. AWS RDS 외부 접속 설정

  • 서비스 > RDS > 데이터베이스 - DB 식별자 선택

  • 선택된 데이터베이스 페이지

  • 연결&보안 - VPC 보안 그룹 선택

  • 보안 그룹 페이지 - 보안 그룹 ID 선택

  • 해당 보안 그룹 ID 페이지 - 인바운드 규칙 편집 선택

  • 규칙 추가 후 저장

    • 유형 - MYSQL/Aurora
    • 소스 - AnywhereIPv4

  • 해당 보안 그룹 ID 페이지 - 규칙 확인

5. MySQL RDS 접속

  • 서비스 > RDS > 데이터베이스 - DB 식별자 선택

  • 선택된 데이터베이스 페이지

  • 연결&보안 - 엔드포인트 및 포트 확인

    • 엔드포인트를 host 이름으로 쓸 예정

  • 터미널 실행 (원격으로 접속)

    • 가운데 대문자 -P 주의
  • cmd 창에서

  1. mysql -h "엔드포인트복붙" -P 3306 -u admin -p 엔터
  2. Enter password : 이렇게 뜨면 아마존 AWS 마스터 비번 넣으면 mysql 접속함

  • Database 목록

  • USER 목록
    • use mysql
    • select host, user from user;
    • 외부(%) 사용자 admin 을 확인할 수 있다

6. AWS RDS 중지

  • AWS RDS 중지

    • 750 시간이 넉넉하지는 않으니까, 사용하지 않을 때는 중지하는 방법을 알아봅시다
  • 서비스 / RDS / 데이터베이스 - database-1 체크

  • 작업 - 중지 선택

  • 스냅샷(백업) / 아니오 (비용) - '예, 지금 중지합니다.' 선택

  • 데이터베이스 상태 확인 - 중지 중

  • 데이터베이스 상태 확인 - 중지됨

7. AWS RDS 시작

  • 중지된 AWS RDS 를 다시 시작하는 방법을 알아봅시다.

  • 서비스 / RDS / 데이터베이스 - database-1 선택

  • 아래 캡처는 '사용가능'이 아닌 '중지됨' 인걸로 치고 보자.

  • database-1 페이지 / 작업 - 시작

  • database-1 페이지 / 상태 - 시작 중

  • database-1 페이지 / 상태 - 사용 가능

8. 문제

1. AWS RDS (database-1) 접속

  • 문제 1. AWS RDS (database-1) 에 접속하세요.

    • cmd 창에서
    1. mysql -h "엔드포인트복붙" -P 3306 -u admin -p 엔터
    2. Enter password : 이렇게 뜨면 아마존 AWS 마스터 비번 넣으면 mysql 접속함
# cmd 창에서 입력
mysql -h "엔드포인트복붙" -P 3306 -u admin -p
Enter password: *********

2. Database 생성

  • 문제 2. Database (zerobase) 를 생성하고 확인하세요.
    (DEFAULT CHARACTER SET utf8mb4)
CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4;

3. 사용자 추가

  • 문제 3. 사용자(zero) 를 추가하고 확인하세요.
# 사용자 추가, 비밀번호는 zerobase
CREATE USER 'zero'@'%' IDENTIFIED BY 'zerobase';
# 사용자 확인
use mysql
# 위 실행 후 아래 실행
select host, user from user;

4. 사용자 권한 부여

  • 문제 4. 사용자(zero)에게 외부에서 zerobase 에 접근해서 사용하기 위한 권한을 부여하세요.
# 권한 확인
show grants for 'zero'@'%';

# 권한 부여
grant all on zerobase.* to 'zero'@'%';
# 권한 확인
show grants for 'zero'@'%';

# 권한 뺏기
revoke all on zerobase.* to 'zero'@'%';

5. 다른 사용자로 AWS RDS 재접속

문제 5. 현재 접속을 종료하고 AWS RDS (database-1)의 zerobase 에 zero 로 접속하세요. (admin이 아님)

(위 문제 4.에서 모든 권한을 부여했기 때문에 접속이 가능한 것임)

# 접속 종료
exit

# cmd 창에서 입력
# 마지막 -p에 붙여서 비밀번호 입력해도 됨
mysql -h "엔드포인트복붙" -P 3306 -u zero -p
Enter password: *********


위 글은 제로베이스 데이터 취업 스쿨의 강의자료를 참고하여 작성되었습니다.

profile
허재
post-custom-banner

0개의 댓글