RDS 생성
RDS 생성글을 참고해 RDS를 생성합니다.
미리 만들어 놓은 security-group-aws-v5 보안그룹을사용할것입니다.
RDS 생성이 되었으면 엔드포인트로 RDB를 생성합니다.
-- create database readnthink
USE `readnthink`;
CREATE TABLE `readnthink`.`Book`(
id bigint auto_increment primary key,
title varchar(255),
content varchar(255),
author varchar(255)
);
select * from readnthink.Book;
-- 시간설정
스키마명은 환경설정에 RDS_HOST 와 일치해야 합니다!
DB 한글/시간 변경하기
SELECT @time_zone, now()
시간이 미국기준으로 되어있습니다.
Set global time_zone='Asia/Seoul'; 명령이 권한이 없다고 나옵니다.
원래 DB에서 한글,시간설정이 가능하지만
RDS는 파라미터 그룹으로 한글설정과 시간설정을 해야합니다.
RDS 파라미터 그룹
RDS 파라미터 그룹으로 가보겠습니다.
그룹 생성 후 zone을검색하여 설정합니다.
적용하기 위해 RDS의 수정 탭에서 수정을 합니다.
재접속해도 여전히 미국 시간입니다...
RDS를 재부팅해주어야 합니다.
시간이 미국시간 09시 -> 18시 한국시간 으로 바뀌었습니다!
엘라스틱빈스톡 생성
엘라스틱빈스톡을 생성하겠습니다.
애플리케이션 이름 : asw-v5-beanstalk
플랫폼 : java
프리셋 : 사용자 지정 -> 로드밸런서를 2개 만들것이기 때문입니다.
DB : 비활성화
- 데이터베이스를 엘라스틱빈스톡만들때 생성하면 RDS를 사용 할수 없습니다.
보안그룹 : RDS에서 선택한 것과 같은 보안그룹을 선택합니다.
- 앞서 설명한 것처럼 RDS는 같은 그룹으로 설정된 곳에서만 접근 가능하기 떄문입니다.
용량(로드 밸런서) : 로드 밸런서를설정하는 것입니다.
- 로드밸런서 유형 : Application Load Blancer
- 리스너 : 80포트
- 프로세스 : 80포트
인스턴스(EC2)를 2개 사용한다는 뜻은 아래와 같습니다.
EC2 앞에 ALB(Application Load Balancer)를 두고 클라이언트는 ALB에게만 접근합니다.
이제 ALB가 알아서 클라이언트 요청을 부하 분산하여 EC2에게 클라이언트 요청을 전송합니다.
이때 트래픽이 높아지면 자동으로 Auto Scaling을 하여 서버를4대로 복제 시킬 수 있습니다.
이후 트래픽이 낮아진다면 자동으로 서버를 2대로 줄이게 됩니다.
롤링 없데이트및 배포 : 변경불가 (블루/그린 배포)
환경속성 : 환경변수들을 설정해 주어야 합니다.
RDS_HOSTNAME : {RDS 엔드포인트}
RDS_DB_NAME : {스키마명}
RDS_PORT : 3306
RDS_USERNAME : {db_username}
RDS_PASSWORD : {pw}
'AWS' 카테고리의 다른 글
AWS에서 내 돈을 훔쳐간다?? (RDS backup storage 비용) (0) | 2024.01.06 |
---|---|
엘라스틱빈톡 & DB & CI/CD 배포하기 1 (CI/CD, Webhock - GitAction) (0) | 2023.11.13 |
엘라스틱빈스톡 RDS 결합 배포 (VPC) (0) | 2023.11.12 |
엘라스틱 빈스톡 SSH 접속 후 nginx, spring 동작 및설정 확인하기 (0) | 2023.11.12 |
AWS 엘라스틱 빈스톡 내부 구성 이해하기 (0) | 2023.11.12 |