1. EC2 만들기 및 설정
1) 타임존 변경
UTC와 우리나라 시간은 9시간 차가 발생합니다.
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
2) hostname 변경
https://soobarkbar.tistory.com/226
AWS ec2 (Ubuntu) Hostname 변경하기
Ubuntu에서 Hostname 변경하기 위 그림과 같이 호스트이름이 IP 번호 형태로 보여진다. 이를 본인이 원하는 이름으로 변경할 수 있다. 과정 1. /etc/hosts $ sudo vi /etc/hosts 위 명령을 치면 아래와 같은 화
soobarkbar.tistory.com
이렇게 이름이 바뀝니다
MariaDB를 사용할지 MySQL 을 사용할 지 고민이 많이 되었지만, MariaDB의 경우 풀 오픈소스이기 때문에 여러가지 지원이 된다는 점과, AmazonAurora 교체용이성 때문에 MariaDB를 선택하였습니다. 또, Aria 스토리지 엔진을 사용하여 innoDB와 비슷하게 인덱스하며 레코드 데이터까지 모두 메모리 캐시를 이용할 수 있기 때문에 Mysql에서 쓰는 MySAM에 비해서는 빠른 처리를 보장한다는 점 또한 결정을 내리는 데 도움을 주었습니다.
MariaDB는 10.2 이후 버전에서만 JSON 데이터 유형을 지원하기 때문에 그점을 유의하여 사용하였습니다.
https://aws.amazon.com/ko/compare/the-difference-between-mariadb-vs-mysql/
MariaDB와 MySQL 비교 - 오픈 소스 관계형 데이터베이스 간의 차이점 - AWS
MySQL과 MariaDB는 모두 오픈 소스 데이터베이스 기술입니다. 이들 데이터베이스를 사용하여 행과 열이 있는 표 형식으로 데이터를 저장할 수 있습니다. MySQL은 가장 널리 채택된 오픈 소스 데이터
aws.amazon.com
GiB (기가바이트 단위 용량)
- GiB는 기가바이트의 약자로, 1GiB는 약 1,073,741,824 바이트입니다.
- 최소 20GiB는 최소 20GiB의 스토리지를 할당해야 한다는 뜻이고,
프로비저닝된 IOPS
- IOPS는 초당 입출력 작업 수를 의미합니다.
- 3000 IOPS는 초당 3000번의 읽기/쓰기 작업을 처리할 수 있는 성능을 제공합니다.
스토리지 처리량
- MiBps는 메가이비트 per second(메가바이트 매 초)를 의미합니다.
- 125 MiBps는 초당 125 메가바이트의 데이터가 처리되는 성능을 제공합니다.
자 이제 rds 인스턴스 생성을 마쳤으면 파라미터 그룹을 만들고 적용해봅시다.
max_connection는 동시 접속가능한 유저수입니다.
파라미터 그룹 연결
DB로 이동해 수정을 누릅니다.
즉시적용합니다.
이제 수정중이라고 뜹니다. 완료되면 재부팅 한번 합시다.
rds에 연결된 보안규칙을 변경합시다.
인텔리제이에서 데이터베이스 연결하기
커뮤니티 버전은 DB 도구를 지원받지 않으니 database navigator 플러그인을 설치해야 합니다.
저는 인텔리제이 얼티메이트 교육용 버전을 다운받았으므로 그냥 view> Tool windows > database에서 바로 할 수 있습니다.
test connection을 눌러서 성공하면 이제 데이터베이스에 입장할 수 있습니다.
db console에서 확인해봅시다.
CREATE DATABASE goodluckynewsdb;
use goodluckynewsdb;
show variables like 'c%';
파라미터 설정을 잘하고 재부팅을 하고 만든 데이터베이스라면 제대로 적용되어 있을 것입니다.
만약 안되어 있다면 아래 명령어로 바꾸어주세요.
//바꾸어 주어야 하는 경우에 사용하는 명령어
alter database 데이터베이스명
character set = 'utf8mb4'
collate = 'utf8mb4_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;
//확인후 삭제
DROP TABLE IF EXISTS test;
참고)
https://velog.io/@janeljs/AWS-7
[AWS] RDS 설정하기
VPC 아키텍처 관련 글을 쓰고나니 뭔지 모를 뿌듯함이 들어서 RDS 관련해서도 정리해보려고 한다. RDS를 이용할 경우 가용성, 백업 및 복구, 수직 및 수평 확장 등의 측면에서 여러 장점이 있고, 프
velog.io
4. EC2에서 RDS접근 확인
mysql 8을 깔았습니다.
sudo apt update
sudo apt install mysql-server
참고)https://god-logger.tistory.com/76
안되면 아래의 것으로
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum update
sudo dnf install mysql-community-server
sudo mysql --version
sudo systemctl status mysqld
//접속 여기서 host주소는 rds에서 복사해온 엔드포인트이다.
mysql -u 계정 -p -h Host주소
그리고 계정의 비밀번호를 입력합니다.(rds에서 설정했던)
show databases;
이 명령어로 RDS가 EC2에 제대로 연결되었는지 확인할 수 있습니다.
springboot-first-db가 있다.
EC2는 애플리케이션 서버를 실행하는 데 사용되고,RDS는 데이터베이스를 관리하는 데 사용됩니다.
EC2에서애플리케이션을 실행하고, 애플리케이션은RDS에 저장된데이터베이스에 연결하여 데이터를 다룹니다.
AWS에서 제공하는 이 두 서비스를 함께 사용하면, 서버와 데이터베이스 관리의 복잡성을 줄이고 효율적으로 시스템을 구축할 수 있습니다.
'대외활동 > DRACONIST-백엔드' 카테고리의 다른 글
01. jwt 토큰 구현하기 DRACONIST (1) | 2025.03.04 |
---|---|
07. ec2 인스턴스만들기 부터 도커. DRACONIST (0) | 2025.03.04 |
02. Autowired DRACONIST (1) | 2025.02.20 |
03. validation유효성 검사 DRACONIST (0) | 2025.02.20 |
스스로 공부하는 스프링부트. 10단원 REST API~12단원 (1) | 2025.02.14 |