공부/Server

[AWS + spring boot] 서버 배포하기 _ 1

jihyee 2021. 10. 26. 23:52
서버는 왜 배포해야할까

서버를 24시간 작동하게 하는 방법은 3가지 

 

  1. 내 pc를 24시간 구동시킨다.
  2. 호스팅 서비스를 이용한다.
  3. 클라우드 서비스를 이용한다.

 

그 중 유동적으로 트래픽 관리가 가능한 클라우드 서비스를 이용하는 것이 서버 배포와 유지 보수 관리에 유리하다.

 

 

 

클라우드란

클라우드는 인터넷 그 자체를 가리키며 이런 인터넷 환경을 통해 서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것 또한 의미한다.

 

 

  • Iaas : it인프라 대여 (ec2)
  • Paas : Iaas를 한번 더 추상화 Iaas에서 더 자동화 됨 (heroku)
  • Saas : 소프트웨어 서비스 (google drive)

 

 

클라우드 서비스는 여러가지 있는데 aws, azure, GCP 그 중 aws를 이용해 서버를 배포할 예정이다.

 

 

 

aws 계정 생성

aws 사이트에 접속

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정

aws.amazon.com

 

회원 가입 진행 (master, visa 카드 번호 필요, 지원 플랜은 무료로 사용을 원한다면 기본 플랜)

 

콘솔에 로그인 

 

 

 

인스턴스 생성

 

aws에서 제공하는 다양한 클라우드 서비스 중 현재 사용려는 것은 서버이므로 EC2 인스턴스를 생성해야 한다.

 

 

 

AMI (가상 머신에 필요한 정보를 이미지로 만들어둔 것 운영 체제 선택한다고 생각하면 되나) 선택

 

 

 

인스턴스 유형은 무료로 사용 가능한 t2.micro

 

 

 

스토리지 크기는 프리티어의 최대치인 30GB 로 하는게 이득

 

 

 

보안 그룹은 중요한데 전체 오픈으로 해두면 pem키가 노출돼서 서버에서 가상화폐가 채굴될 수도 ㅎㄷㄷ

지정된 ip주소에서만 ssh접속이 가능하도록 내 ip 선택하고 기본 포트인 8080만 전체 공개

 

 

 

pem키는 발급받아서 관리할 수 있는 디렉토리에 따로 저장해둔다.

→ 나중에 puttygen으로 변환하긴 함.

 

 

 

탄력적 IP 하나 발급 받아서 위 방식으로 생성한 인스턴스 주소랑 연결한다.

 

 

 

윈도우에서 ec2 접속

생성된 주소로 접속하기 위해 사용하는 putty

 

puttygen 으로 pen 키를 ppk로 변환해서 저장해두고 putty 실행

 

  • hostname = ec2-user@{탄력적 ip 주소} (여기서 ec2-user은 리눅스 기반 유저 default명)
  • port = 22
  • connection - SSH -Auth 에서 ppk 키 로드

 

 

 

추가 자바 기반 웹 어플리케이션 작동을 위한 필수 설정

 

자바 설치 (설치한 가상환경은 깡통 그 자체)

// 설치
sudo yum install -y java-1.8.0-openjdk-devel.x86_64
// 자바 8 선택
sudo /usr/sbin/alternatives --config java
// 버전 확인
java -version

 

타임 존 변경

sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

Hostname 변경

// 관리자로 변경
sudo -s
// 호스트 명 변경
hostnamectl set-hostname {변경할 hostname}

 

 

 

이렇게 하면 배포할 서버 생성 끝

(생각보다 간단..?)

 

 

 

다음 포스팅에서 데이터 베이스 구축과 프로젝트 실행을 정리해보겠다!

 

 

٩( ᐛ )و