[Cloud Computing] 7-2 Database II

채린·2023년 10월 19일
0

2023-2클라우드컴퓨팅

목록 보기
12/13

Amazon RDS Workflow

db엔진 설정 → VPC 설정 → RDS인스턴스 생성 → 애플리케이션을 RDS db에 연결 → db작동 → db 모니터링

Amazon RDS Decision Points

virtual private cloud (VPC) 생성
Amazon EC2 인스턴스 및 Amazon RDS 데이터베이스
workload 이해, 달성하고자하는 작업 파악
실행할 db엔진 유형 선택
instance 클래스
   - 메모리양,CPU I/O 기능 결정
   - class types: standard, memory optimized, burstable performance
Security groups - 데이터베이스 인스턴스에 대한 액세스 제어

Options for Creating a DB in the Console

Amazon RDS Creation

선택한 엔진에 따라 creation options 지정됨

Amazon RDS Creation: Engine Type


엔진에 따라 아래 설정할 DB instance class 변함

Amazon RDS Creation: Templates

Amazon RDS Creation: Deployment Option

Multi-AZ DB Cluster
   - 기본 DB 인스턴스와 읽기 가능한 대기(standby) DB 인스턴스 2개
Muti-AZ DB instance
   - Primary DB 인스턴스 및 대기(standby) DB 인스턴스
Single DB instance
   - 대기(standby) DB 인스턴스 없음. Free tier

Amazon RDS Settings: DB Cluster Identifier

DB cluster identifier(식별자)는 현재 AWS Region의 AWS 계정이 소유한 모든 DB 클러스터 또는 인스턴스에서 고유해야 함
master user에 대한 로그인 ID 생성됨

Amazon RDS Settings: DB Instance Class

Standard class 표준
   - General purpose(범용) instances
Memory optimized 메모리 최적화
   - 메모리 집약적(intensive) 애플리케이션
Burstable performance
   - 기본 성능 수준(Baseline performance level) (최대 CPU 사용량까지 burst)

Amazon RDS Settings: Storage Type

대부분 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)을 위해

Connectivity: Compute Resource

EC2 compute resource에 연결O-compute resource를 DB에 연결할 수 있도록 설정이 자동으로 조정됨
EC2 compute resource에 연결X- connectivity 직접 구성

Connectivity: VPC

existing(기존) VPC를 선택하거나 새 VPC를 생성
DB는 VPC 내에 있어야 함
기존 VPC 목록에는 같은 DB 서브넷 그룹에 있는 VPC만 포함됨

Connectivity: Security Groups

DB subnet group - DB cluster가 선택한 VPC에서 사용가능한 서브넷,IP 범위 정의
높은 availability(가용성 이용성)를 위해 서로 다른 두 AZ에 두개의 서브넷이 필요
Public access
   - ‘No’선택 : RDS가 공용 IP 주소를 할당하지 않음
Security Group 규칙이 적절한 incoming(수신) 트래픽을 허용하는지 확인
보안을 위해 DB를 비공개로 유지하고 인터넷에서 접근할 수 없도록 하는 것이 가장 좋은 방법

Connectivity: Security Groups Example

Using RDS


How to connect to the DB engine
How to begin working with data in the DB

Connecting to the Database

데이터베이스 연결 허용 → 데이터베이스 테이블을 직접 사용 가능
표준 SQL 클라이언트 응용 프로그램을 사용하여 DB 인스턴스의 데이터베이스에 연결 가능
    sudo apt install mariadb-client-core-10.6
단계별 설치 과정 및 사용 안내는 이화사이버캠퍼스 'How-to' 게시판 게시물에 자세히 안내할 예정

Steps to Connecting to Database

세부정보 표시할 DB instance name 선택
Connectivity & Security 탭에서 endpoint과 port number를 복사
   - DB 인스턴스에 연결하려면 endpoint과 port number 모두 필요

MySQL Command-Line

standard SQL client application 사용해 응용 프로그램에서 DB 인스턴스의 db와 연결 가능
ex. MySQL command-line client사용

mysql -h [엔드포인트] -P [포트번호] -u [username] -p

Basic SQL Commands: CRUD

SQL(Structured Query Language): 데이터베이스와 통신하는 프로그래밍 언어

keywords집합으로 db에서 데이터 검색
   - 이 keywords를 statements라고 부름
persistent data elements의 생성 및 관리를 위한 4기본작업: Create, Read, Update, Delete
   - CRUD: 데이터베이스에 의해 구현되는 주요 작업

Adding the Database

CREATE DATABASE statement

Adding Table in the Database

데이터베이스에 테이블을 추가하려면, 먼저 command prompt에 USE 문(statement)을 사용
CREATE TABLE 문으로 테이블 생성

Adding Data to the Database

INSERT 문을 사용하여 DB에 레코드 추가

Querying Data

command line(명령줄)에서 데이터를 쿼리하려면 DB의 모든 것을 쿼리하는 SELECT *를 입력하고 FROM tablename을 입력

SELECT * FROM [테이블명]


단일 항목을 보려면 SELECT * FROM [테이블명] WHERE [칼럼명] = 'IVE'를 입력

Removing Data

DELETE command사용

Summary

▪ Amazon RDS 워크플로우와 AWS Management Console에서 Amazon RDS 데이터베이스를 생성하는 단계에 대해 배웠다
▪ 또한 DB와의 연결과 DB와의 작업 방법에 대해서도 배웠다
– 표준 SQL 클라이언트 응용프로그램의 끝점을 복사하여 DB 인스턴스의 데이터베이스에 연결

0개의 댓글