CheerUp_Cheers
스프링 부트 - (7) AWS RDS 본문
#웹 서비스의 백엔드
- 애플리케이션 코드 작성
- 데이터베이스를 관리
but, 규모있는 회사에서는 DBA라는 직군이 있다
->이것이 백엔드 개발자가 데이터베이스를 몰라도 된다는 것을 의미 하지는 않음.
->스타트업이나 개발자가 적은 서비스에선 개발자가 데이터베이스를 관리해야함.
#RDS
if, 정한 용량을 넘더라도 쓴 만큼 비용 지불.
다음과 같은 작업을 신경 쓰지 않아도 됨.
- 모니터링
- 알람
- 백업
- HA(고가용성) : 무중단 서비스 제공
#Mysql
- 단순 쿼리 처리 성능이 압도적.
- 오랜기간 사용 -> 성능과 신뢰성(꾸준한 개선)
#MariaDB
- 좀더 활성화된 커뮤니케이션
- 다양한 스토리지 엔진
- 동일 하드웨어 사양으로 Mysql보다 향사된 성능.
7.1 AWS RDS만들기
나머지는 돈이 안드는 설정으로 방향을 잡으면 됨.
- 유의점
DB - MariaDB
퍼블릭 액세스 기능 - O(보안그룹으로 제외할것임)
자격증명 - 마스터이름, 암호는 외울 것.
7.2 RDS 운영환경에 맞는 파라미터 설정하기
#필수 설정
- 타임존
- Charater Set
- Max Connection
#파라미터 그룹 세부 정보 변경
[1] 파라미터 그룹 > 파라미터 그룹 생성
[2] 생성된 파라미터 그룹 클릭 > 파라미터 편집(편집모드)
- 타임존
- Character Set
character 관련 6개와 collation_server, collation_connetion 2개를 총8개를 utf8mb4로 변경
(?) utf8mb4와 utf8의 차이점
이모지 저장 가능여부(이모티콘)
- Max Connection 수정
현재 프리티어는 60까지만 가능.
넉넉하게 넣자.
다 끝나면 변경사항 저장 클릭!
[3] 데이터베이스에 반영
- 데이터베이스 > 해당 DB 식별자 클릭 > 수정
- 데이터베이스 옵션 > DB파라미터 그룹 > 신규 파라미터 그룹으로 변경.
- 수정사항 요약 확인 및 수정.
새 값이 제대로 됬는지 확인.
즉시 적용 : 비동기적으로 적용(서비스 중이 아니니 상관없음)
- 변경사항의 제대로된 반영을 위해 재부팅
7.3 내 PC에서 RDS로 접속해보기
[1] 보안그룹 설정하기
첫번째, 나의 IP
두번째, EC2의 복사된 보안 그룹 ID(EC2에서 RDS 연결가능하게)
[2] Database 플러그인 설치
- RDS 정보 페이지에서 엔드 포인트 확인.
- 인텔리제이에 DataBase 플러그인 설치.
File > Setting > Plugin
[3] 인텔리제이와 RDS 연결하기
- Action으로 Database Browser 실행.
Action : Ctrl + Shift + a
Host : 아까 RDS 백엔드 URL
User : 마스터 아이디
Pass : 마스터 패스워드
[4] SQL 콘솔 사용하기
SQL Console > New SQL Console
- 현재의 문자열 상태 확인
//현재의 character_set을 확인하기 위함
show variables like 'c%';
[5] 기본설정 확인하기
- charcter-setdatabase, collation_connection을 직접 변경
기본 character가 latin1이라서 직접 변경.
다음쿼리 실행
ALTER DATABASE freelec_springboot2_webservice
CHARACTER SET = 'utf8mb4';
COLLATE = 'utf8bm4_general_ci';
- 타임존 확인
select @@time_zone, now();
- 한글명이 잘들어가는지 확인.
차례대로 실행
create TABLE test(
id bigint(20) NOT NULL AUTO_INCREMENT,
content varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
)ENGINE=InnoDB;
insert into test(content) values('테스트');
select * from test;
ctrl + Enter왜 안먹는지 내일 확인;;
7.4 EC2에서 RDS로 접속해보기
[1] 보안 그룹 추가.
RDS에서 내 IP와 EC2를 인바운드로 허락해야 가능.
[2]Putty에 RDS접속
- Putty -> EC2(Load로 바로 접속)
- Mysql 설치
sudo yum install mysql
- RDS 접속.
mysql -u root -p -h 호스트 주소
Password : 입력
'서적 공부 > 스프링부트 - [스프링부트와 AWS로 혼자 구현하는 웹서비스]' 카테고리의 다른 글
스프링 부트 - (9) 코드가 푸시되면 자동배포(Travis CI 배포 자동화) (0) | 2020.04.24 |
---|---|
스프링 부트 - (8) EC2 서버에 프로젝트 배포 (0) | 2020.04.22 |
스프링 부트 - (6) AWS 서버 환경을 만들어 보자 (0) | 2020.04.07 |
스프링 부트 - (5) 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (0) | 2020.03.24 |
스프링 부트 - (4) 머스테치로 화면 구성하기 (0) | 2020.03.23 |