일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- DispatcherServlet
- Bean
- spring
- 1
- Component
- 스프링
- layout #thymeleaf #화면분할
- 오토와이어드
- autowired
- 스프링 부트
- zepettoworld.com
- git #gitlab #github
- Today
- Total
기록과 정리
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 06 본문
이 글은 이동욱(jojoldu)님의 <스프링 부트와 AWS로 혼자 구현하는 웹 서비스> 를 참고하였습니다.
m.yes24.com/Goods/Detail/83849117
AWS 서버 환경 구축 1 - AWS EC2
서버 환경 구축의 종류
AWS, amazone web servic라는 클라우드 시스템을 이용하여 서버를 구축하여 보자.
서버 구축에는 크게 3가지가 있다.
1. 집에 PC를 24시간 구동한다.
놀고 있는 데스크탑이나 노트북으로 가장 무난하고 저렴하게 구축할 수 있다. 하지만 네트워크&인프라 관련 공부를 조금(?) 해야한다.
zepettoworld.tistory.com/7?category=919004
2. 호스팅 서비스( Cafe24 등) 이용
처음 호스팅을 해볼때 이용했던 cafe24 해당 링크는 학생때 만든 사이트이다. ( 안보일수도 있음. 관리 안함 )
3. 클라우드 서비스 (AWS, AZURE, GCP 등)을 이용
aws.amazon.com/ko/
우리가 해보는 것은 3번의 클라우드 서비스 중 AWS를 이용해보려한다.
비용적 측면에서 1, 2가 유리할 수 있으나 3의 경우,막강하게 유연한 대처를 할 수 있으며 ( 특정 시간대에 트래픽이 몰림에 따라 유동적으로 사양 변경 ) 서버 이외에 스토리지/데이터베이스/로그/모니터링 등의 서비스를 제공하며 가장 큰 장점은 많은 기업에서 AWS를 채택하고 있다. ( 경험을 해볼 수 있다거나 레퍼런스가 많다는 점에서 큰 장점이 아닐까 )
AWS 회원가입
AWS는 가입시 프리티어 등급으로 1년간 무상으로 이용할 수 있다. 가입에는 별다른 특이사항이 없이 Visa 나 Master 카드를 통해 1달러 지불후 가입을 하게 된다.
EC2 인스턴스 생성
EC2, Elastic Compute Cloud 는 성능과 용량등을 유연하게 대처할 수 있는 서버라고 생각하면 된다. AWS 접속 후 , 인스턴스 생성을 하자.
책에서는 아마존 리눅스 1을 선택하라고 하지만 현재 아마존 EC2 목록에서 찾을 수 없었다. ( 누가 찾으면 댓글 부탁드려요 ) 따라서 Amazone Linux 2로 진행했다. 레드헷 베이스이며 1에 비해 레퍼런스가 적고 환경설정이 조금 다르지만 무난히 찾아가면서 할 수 있을 것 이다.
트래픽은 낮은 서비스들이 주로 사용하는 t2.micro , 작은 프로젝트이니 t2.micro 를 이용하자 . 선택할 필요없이 Next
VPC, 서브넷등 자세한 세부 정보 구성이다 여기도 Next
프리티어는 30GB까지 추가 할 수 있다. 가능하다면 30GB 로 추가 후 진행 Next
웹콘솔 구분하는 이름을 설정하도록 한다. Next
보안그룹을 통해 방화벽 설정을 할 수 있다. 서버로 부터 80포트 이외에는 허용하지 않는 설정을 한다. 22번 포트는 ssh 로 접속시 , 본인 로컬에서 가능하도록 '내 IP'로 설정을 해주도로고하자. pem키가 존재하여야 ssh 접속이 가능하여 어디서나 접속할 수 있도록 하는 경우가 종종 있는데, 보안상 안전하지 않으니 키관리 + 로컬 접속을 추천
다음 진행시, 키페어를 다운로드할 수 있다. 해당 pem 키는 로컬이나 본인이 따로 지정해놓은곳에 잘보관을 해놓도록 하자.
EIP 할당
EIP, Elastic IP 는 일종의 고정 IP 이다. 인스턴스 재가동시 IP가 변동이 되는데 이를 방지하는 것이다.
탄력적 IP 주소 할당으로 주소를 생성후 , 작업 drop box 선택후, 주소 연결을 시켜주도록 하자.
EC2에 접속하기 위한 설정이 완료 되었다.
EC2 접속
Mac 기준으로 설명
ssh -i pem <pem 키 위치> <EIP주소>
위 명령어로도 접속이 가능하지만 매번 이렇게 하기 번거로우니 config 파일을 통해 쉽게 접속하도록 하자.
cp pem 키를 받은 위치 ~/.ssh/ -> 폴더에 따로 보관
chmod 600 ~/.ssh/pem키 명 -> 키 권한 변경
vim ~/.ssh/config -> config 파일 생성
config 파일 내 설정 내용 -----
#주석
Host 본인이 원하는 서비스명
HostName ec2의 탄력적 IP 주소
User ec2-user
IdentityFile ~/.ssh/pem키 이름
저장 후 종료 -> :wq
chmod 700 ~/.ssh/config -> config 파일의 실행 권한 설정
ssh <config 파일에 설정해놓은 서비스 명>
이외 자바8 설치 / 타임존 변경 ( 한국 시간대 ) / 호스트네임 을 추가적 셋팅하여 서버 초기 환경 설정을 하도록 하자.
'IT > 스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 07 (0) | 2021.05.24 |
---|---|
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 05 (0) | 2021.03.30 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 04 (0) | 2021.03.16 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 03 (0) | 2021.03.09 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 02 (0) | 2021.03.04 |