db엔진 설정 → VPC 설정 → RDS인스턴스 생성 → 애플리케이션을 RDS db에 연결 → db작동 → db 모니터링
virtual private cloud (VPC) 생성
Amazon EC2 인스턴스 및 Amazon RDS 데이터베이스
workload 이해, 달성하고자하는 작업 파악
실행할 db엔진 유형 선택
instance 클래스
- 메모리양,CPU I/O 기능 결정
- class types: standard, memory optimized, burstable performance
Security groups - 데이터베이스 인스턴스에 대한 액세스 제어
선택한 엔진에 따라 creation options 지정됨
엔진에 따라 아래 설정할 DB instance class 변함
Multi-AZ DB Cluster
- 기본 DB 인스턴스와 읽기 가능한 대기(standby) DB 인스턴스 2개
Muti-AZ DB instance
- Primary DB 인스턴스 및 대기(standby) DB 인스턴스
Single DB instance
- 대기(standby) DB 인스턴스 없음. Free tier
DB cluster identifier(식별자)는 현재 AWS Region의 AWS 계정이 소유한 모든 DB 클러스터 또는 인스턴스에서 고유해야 함
master user에 대한 로그인 ID 생성됨
Standard class 표준
- General purpose(범용) instances
Memory optimized 메모리 최적화
- 메모리 집약적(intensive) 애플리케이션
Burstable performance
- 기본 성능 수준(Baseline performance level) (최대 CPU 사용량까지 burst)
대부분 DB engine에서, Amazon RDS DB 인스턴스는 Amazon EBS 볼륨 사용
- Amazon RDS는 성능 향상을 위해 여러 Amazon EBS 볼륨에 자동으로 stripe(db의 각 repo들이 각 다른 volume에 저장→나중에 parallel하게 접근)
Storage type
- General purpose
광범위한 워크로드에 사용되는 cost-effective storage
- Provisioned IOPS
낮은 I/O 지연 시간, 높은 처리량이 요구되는 I/O-intensive DB workloads
- Magnetic
하위 호환성(backward compatibility)을 위해
EC2 compute resource에 연결O-compute resource를 DB에 연결할 수 있도록 설정이 자동으로 조정됨
EC2 compute resource에 연결X- connectivity 직접 구성
existing(기존) VPC를 선택하거나 새 VPC를 생성
DB는 VPC 내에 있어야 함
기존 VPC 목록에는 같은 DB 서브넷 그룹에 있는 VPC만 포함됨
DB subnet group - DB cluster가 선택한 VPC에서 사용가능한 서브넷,IP 범위 정의
높은 availability(가용성 이용성)를 위해 서로 다른 두 AZ에 두개의 서브넷이 필요
Public access
- ‘No’선택 : RDS가 공용 IP 주소를 할당하지 않음
Security Group 규칙이 적절한 incoming(수신) 트래픽을 허용하는지 확인
보안을 위해 DB를 비공개로 유지하고 인터넷에서 접근할 수 없도록 하는 것이 가장 좋은 방법
How to connect to the DB engine
How to begin working with data in the DB
데이터베이스 연결 허용 → 데이터베이스 테이블을 직접 사용 가능
표준 SQL 클라이언트 응용 프로그램을 사용하여 DB 인스턴스의 데이터베이스에 연결 가능
sudo apt install mariadb-client-core-10.6
단계별 설치 과정 및 사용 안내는 이화사이버캠퍼스 'How-to' 게시판 게시물에 자세히 안내할 예정
세부정보 표시할 DB instance name 선택
Connectivity & Security 탭에서 endpoint과 port number를 복사
- DB 인스턴스에 연결하려면 endpoint과 port number 모두 필요
standard SQL client application 사용해 응용 프로그램에서 DB 인스턴스의 db와 연결 가능
ex. MySQL command-line client사용
mysql -h [엔드포인트] -P [포트번호] -u [username] -p
SQL(Structured Query Language): 데이터베이스와 통신하는 프로그래밍 언어
keywords집합으로 db에서 데이터 검색
- 이 keywords를 statements라고 부름
persistent data elements의 생성 및 관리를 위한 4기본작업: Create, Read, Update, Delete
- CRUD: 데이터베이스에 의해 구현되는 주요 작업
CREATE DATABASE
statement
데이터베이스에 테이블을 추가하려면, 먼저 command prompt에 USE
문(statement)을 사용
CREATE TABLE
문으로 테이블 생성
INSERT
문을 사용하여 DB에 레코드 추가
command line(명령줄)에서 데이터를 쿼리하려면 DB의 모든 것을 쿼리하는 SELECT *를 입력하고 FROM tablename을 입력
SELECT * FROM [테이블명]
단일 항목을 보려면 SELECT * FROM [테이블명] WHERE [칼럼명] = 'IVE'
를 입력
DELETE
command사용
▪ Amazon RDS 워크플로우와 AWS Management Console에서 Amazon RDS 데이터베이스를 생성하는 단계에 대해 배웠다
▪ 또한 DB와의 연결과 DB와의 작업 방법에 대해서도 배웠다
– 표준 SQL 클라이언트 응용프로그램의 끝점을 복사하여 DB 인스턴스의 데이터베이스에 연결