어디까지 갈 수 있을까?
AWS 서버, 데이터베이스 환경을 만들어보자(EC2, RDS) 본문
IaaS(Infrastructure as a Service)
IT 인프라 대여(가상머신, 스토리지, 네트워크, 운영체제 등)
AWS EC2
PaaS(Platform as a Service)
IaaS를 한 번 더 추상화
빈스톡
SaaS(Software as a Service)
소프트웨어 서비스
구글 드라이브
AWS EC2 인스턴스
EC2(Elastic Compute Cloud), AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버, 가상머신
aws.amazon.com/ko/portal.aws.amazon.com/billing/signup#/start |
|
30GB까지 프리티어 이용 가능 EC2의 이름 HTTPS의 기본포트는 443, HTTP의 기본 포트는 80 |
|
인스턴스는 지정된 pem키(비밀키)와 매칭되는 공개키를 가지고 있어 pem키 외의 접근을 허용하지 않는다 |
인스턴스가 중지하고 다시 시작할 때 새 IP가 할당되기 때문에 매번 변경되지 않고 고정 IP를 갖게 하기 위해 EIP(Elastic IP)를 할당한다 |
EC2 서버에 접속하기
https://www.putty.org/
에서 putty.exe, puttygen.exe 받음 |
putt.exe 실행 방금 생성한 ppk키 넣고 |
리눅스 서버 생성 시 꼭 해야 할 설정들
자바 8 설치 sudo yum install -y java-1.8.0-openjdk-devel.x86_64 자바 버전을 8로 변경 sudo /usr/sbin/alternatives --config java 1.8 버전 선택 사용하지 않는 자바7 삭제 sudo yum remove java-1.7.0-openjdk 자바 버전 확인 java -version |
타임존 변경 EC2의 기본 타임존은 UTC 이기 때문에 한국시간으로 변경 sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 타임존 확인 date |
Hostname 변경 sudo hostnamectl set-hostname freelec-springboot2-webservice sudo reboot sudo vim /etc/hosts 127.0.0/1 freelec-springboot2-webservice |
curl freelec-springboot2-webservice 아직 80포트로 실행된 서비스가 없음을 뜻하는 에러가 뜨면 성공 |
RDS 인스턴스 생성하기
RDS를 생성하면 타임존, Character Set, Max Connection설정을 해야 함 |
char 검색 시 나오는 모든 항목 utf8mb4로 변경 |
RDS의 DB 파라미터 그룹을 아까 생성한 DB 파라미터 그룹으로 변경한다 재부팅하기 |
내 PC에서 RDS에 접속해보기
RDS보안 그룹 인바운드로 EC2에 사용된 보안 그룹의 ID와 내 IP를 추가한다 RDS와 개인 PC, EC2 간의 연동 설정이 완료 |
인텔리제이에서 설치 |
Name에 RDS DB식별자 Test Connection 성공 |
사용할 DB이름 입력
|
한글명이 잘 들어가는지 테스트해보자 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; |
EC2와 RDS가 잘 연동되는지 확인
EC2에 putty로 SSH 접속 진행 MySQL 접근 테스트 위해 설치 sudo yum install mysql RDS 접속 mysql -u 계정 -p -h Host주소 host에는 RDS의 엔드 포인트를 넣는다 |
show databases;
|
'책 > 스프링부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
NGINX 무중단 배포 (0) | 2021.04.30 |
---|---|
EC2 서버에 프로젝트를 배포해보자 &코드가 푸시되면 자동으로 배포해 보자 (0) | 2021.04.12 |
스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (0) | 2021.03.25 |
[작성중] 프로젝트 구조 (0) | 2021.03.16 |
머스테치로 화면 구성하기 (0) | 2021.03.14 |