여태까지 local에다가만 함, 이제 이거를 다른 PC에서도 접속가능하게
만들려면 배포를 해야함
서버용 PC 구매해서 배포
AWS와 같은 클라우드 컴퓨팅 서비스 이용해서 배포
(V)따로 운영체제 설치와 같은 작업 없어도 가능
기업이 구축한 환경
에 서버 환경을 마련
할 수 있어 편리
다만 서비스가 조금 복잡해서 서비스 사용을 위한 공부 필요
EC2
: AWS에서 제공하는 원격 서버, 클라우드 서비스에서 PC를 1대 빌리는 것
오토 스케일링
: 유동적으로 EC2 관리해줌
내가 만든 서비스 인기 급 상승
: EC2 증가
내가 마든 서비스 인기 급 감소
: EC2 감소
로드 밸런서
: 요청을 분산
시킴타겟 그룹이 필요
타겟 그룹
: 로드 밸런서의 분산 목표 그룹
RDS
: AWS에서 제공하는 원격 데이터베이스
엘라스틱 빈스톡
: 앞에 언급한 EC2, 오토 스케일링, 로드 밸런서, 타겟 그릅, RDS 한번에 관리 해줌
밀키트
라고 생각하기엘라스틱 빈스톡 과정
회원가입하고 카드 번호 등록하기
데이터베이스 편집 클릭
사용자 이름, 비밀번호 기억
엔드포인트 + 포트 (기억하기)
다시 엘라스틱 빈스톡 -> 구성 -> 편집
SPRING_DATASOURCE_URL : jdbc:mysql://엔드포인트+포트번호/blog
SPRING_DATASOURCE_USERNAME : canine89(사용자이름)
SPRING_DATASOURCE_PASSWORD : 비밀번호
spring:
jpa:
show-sql: true
properties:
hibernate:
format_sql: true
defer-datasource-initialization: true
# 애플리케이션 실행 시 엘리스틱 빝스톡에서 값을 덮어쓰므로 여기는 삭제
# datasource:
# url: jdbc:h2:mem:testdb
# username: song
h2:
console:
enabled: true
security:
.
.
.
RDS 이동
VPC 클릭
인바운드 규칙 생성 클릭
(삭제 안하면 무슨 You may not specify a referenced group id for an existing IPv4 CIDR rule
에러 뜰거임)
삭제 -> 생성 -> 유형 : MYSQL/Aurora -> 소스 : 내 IP -> 규칙 저장
(만약 이렇게 해도 502에러가 뜬다? -> 아래 추가 후 실행 -> 그리고 다시 해당 부분 삭제 하고 다시 실행)
완성 장면
아이피 주소 확인(Ipv4)
명령창에 ipconfig 쳐서 확인(알아서 확인들 하시요)
인텔리제이와 연동하기
DB Browser 확인
HOST, PORT, USER, PASSWORD 입력 -> Test Connection 클릭
new SQL console
create database blog;
use blog;
create table article (
id bigint not null AUTO_INCREMENT,
author varchar(255) not null,
content varchar(255) not null,
created_at timestamp,
title varchar(255) not null,
updated_at timestamp,
primary key (id)
);
create table refresh_token (
id bigint not null AUTO_INCREMENT,
refresh_token varchar(255) not null,
user_id bigint not null,
primary key (id)
);
create table users(
id bigint not null AUTO_INCREMENT,
created_at timestamp,
email varchar(255) not null,
nickname varchar(255),
password varchar(255),
updated_at timestamp,
primary key (id)
);
implementation 'mysql:mysql-connector-java'
세팅 끝