RDS(relation database service)
Amazone Aurora: 최대 15개 읽기 전용 복제본 만듬 aws 에서 mysql가지고 만든 것입니다.
사용자가 1000명 이상 되면 db 도 이중화 필요합니다.
이중화 시에는 로드 밸런스가 필요합니다.
로드 밸런스 종류 3가지 , application, network, classic
외부하고 통신하려면 application 로드 밸런스 써야함 그런데 이것은 인증서 필요 (https 로 들어와야함)
인증서 설치시에는 도메인 필요
요즘에는 퍼블릭 존에는 bastion, alb 만 두고,
나머지 서버들은 프라이빗 존에 둡니다.
rds 데이터 베이스 생성-> mysql, 표준생성 선택
- 프로덕션: 운영할때 쓰는 템플릿, 이중화 가능
- 개발 테스트: 개발 테스트시 쓰는 템플릿, 이중화 가능
- 프리티어: 이중화 불가
- 다중 AZ DB 클러스터: 읽기 가능한 read replica 2개 , 이중화 (acive stanby) 만들어 줍니다.
- 다중 AZ DB 인스턴스: active standby만 설치합니다.
- 단일 DB 인스턴스: 싱글 DB 만 생성합니다.
이번 실습은 프리티어로 진행하겠습니다.
마스터 사용자 이름은 mysql 로그인시 id 에 해당합니다.
마스터 암호는 mysql 로그인시 비밀번호 입니다.
프리티어다 보니 버스터블만 가능합니다.
마그네틱은 sata 를 의미합니다.
DB 쿼리 편집기 로컬 설치해서 로컬에서 db 연결할 때 퍼블릭 엑세스 yes 설정해야합니다.
(미리 서브넷 그룹을 프라이빗 서브넷으로 구성해놓으면 db 서브넷 그룹에서 생성한 그룹을 선택할 수 있습니다.)
https://raratech.tistory.com/50
[AWS] DB 서브넷 그룹을 프라이빗 서브넷으로 설정하기
RDS 생성하기 전에 미리 DB 인스턴스가 생성될 프라이빗 서브넷 그룹을 묶어서 그룹 생성을 해놓습니다. 서브넷 그룹 정보에서 이상하게?? 맨 앞의 문자를 숫자로 하니 자꾸 에러가 떠서 이름 수
creb-akay.com
EC2 보안 그룹에 인바운드에 3306 추가되어 있어야합니다. 없다면 인바운드 규칙 편집으로 추가해줍니다.
DB 에 적용할 보안 그룹을 선택 적용합니다.
참고로, RDS 생성 전에 vpc 설정에서 dns 설정 두가지 다 check 되어 있어야 합니다.
그런데 db 생성이 안되었다면,
서브넷이 단일이라면 생성이 안되고, 다른 가용 영역에 서브넷을 하나 더 만들어주면 해결됩니다. (프리티어더라도 이중화 위한 서브넷 2개는 필수인가 봅니다. )
MySQL Workbench 쿼리 편집기 다운로드하기
aws-rds 에서 엔드 포인트 복사
커넥션 네임 임의로 넣어주고
아까 복사했던 엔드 포인트를 hostname에 넣어줍니다.
rds 로 연결되면 아래와 같은 화면이 뜹니다.
혹은 rdb 연결 요청
참고로, 비밀번호 수정하는 방법
workbench 대신에 ububtu 에서 CLI 로도 직접 RDS 에 접근해보겠습니다.
Ubuntu 20.04 버전 이미지 인스턴스 하나 설치하고 여기에 mysql 설치하기
https://blogshine.tistory.com/322#recentComments
[AWS] EC2에 MySQL 설치하기
다른 여타 어느 블로그의 글 보다 자세하게 설명 하였습니다. 도움이 될 수 있길!!! 총 3개의 글 시리즈로 작성할 것 입니다!! 1. EC2 인스턴스 만들기 (이전 글) 2. AWS의 EC2에 MySQL을 설치하고, Sequal A
blogshine.tistory.com
mysql 접속하기
mysql -u 계정 -p -h 엔드포인트 dns
rds는 ip 가 없기 때문에 hostname을 넣어야 함
mysql -u admin -p -h mysqldb.ciwbgunirzdv.ap-northeast-2.rds.amazonaws.com
workbench 에서는 쿼리에 명령어 입력 후 번개 모양을 누르면 똑같은 결과를 볼 수 있습니다.
데이터 베이스, 테이블 및 유저 생성
CREATE DATABASE [생성할 데이터 베이스 이름];
USE [생성할 데이터 베이스 이름]; # 생성한 데이터 베이스를 특정하는 과정
# 생성한 데이터 베이스에 TABLE 생성하기
CREATE TABLE MEMBER(
id CHAR(40) NOT NULL,
pwd CHAR(40) NOT NULL,
name CHAR(20) NOT NULL,
email CHAR(60),
PRIMARY KEY(id)
)CHARSET=utf8;
CREATE TABLE Test(ID INT, Name VARCHAR(30), ReserveDate DATE, RoomNum INT);
# 생성한 TABLE 에 USER 추가하기
create table user(idx int, name varchar(100), age int);
insert into user values(1, 'Harry', 20);
insert into user values(2, 'James', 30);
insert into user values(3, 'July', 25);
ubuntu 에서도 동일한 결과 확인
한국 시간과 다른 시간(utc)이 나와버립니다.
시간을 맞춰줘야 합니다.
이는 매우 중요한 과정이므로 따로 포스팅하겠습니다.
'클라우드 기초 > AWS' 카테고리의 다른 글
[AWS] nginx 인스턴스 Autoscaling (0) | 2023.07.06 |
---|---|
[AWS] tomcat 설치 (0) | 2023.07.06 |
[AWS] DB 서브넷 그룹을 프라이빗 서브넷으로 설정하기 (0) | 2023.07.05 |
[AWS] VPN 으로 서로 다른 site 연결하기 (0) | 2023.07.04 |
[AWS] PEM 키 대신 비밀번호로 SSH 접속 및 AMI 로 인스턴스 생성 (0) | 2023.07.04 |
댓글