Chapter 06 AWS 서버 환경을 만들어보자 - AWS EC2

LeeKyoungChang·2022년 5월 26일
1
post-thumbnail

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 를 공부하고 정리한 내용입니다.

 

📚 1. AWS EC2

🔔 클라우드 몇 가지 형태
1. Infrastructure as a Service (IaaS, 아이아스, 이에스)

  • 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스이다.
  • 가상머신, 스토리지, 네트워크, 운영체제 등의 IT 인프라를 대여해 주는 서비스라고 생각하면 된다.
  • AWS의 EC2, S3 등

2. Platform as a Service (Paas, 파스)

  • IaaS에서 한번 더 추상화한 서비스이다.
  • 한번 더 추상화했기 때문에 많은 기능이 자동화되어 있다.
  • AWS의 Beanstalk(빈스톡), Heroku(헤로쿠) 등

3. Software as a Service (SaaS, 사스)

  • 소프트웨어 서비스를 말한다.
  • 구글 드라이브, 드랍박스, 와탭 등

 

🎁 AWS를 선택한 이유

  • 첫 가입 시 1년간 대부분 서비스가 무료이다.
  • 클라우드에서는 기본적으로 지원하는 기능(모니터링, 로그관리, 백업, 복구, 클러스터링 등)이 많아 개인이나 소규모일 때 개발에 좀 더 집중할 수 있다.
  • 많은 기업이 AWS로 이전 중으로 국내에서는 AWS 점유율이 압도적이다.
  • 사용자가 많아 국내 자료와 커뮤니티가 활성화되어 있다.

 

💡 참고

  • 진행하는 모든 AWS 서비스는 IaaS를 사용한다.
  • AWS의 PaaS 서비스인 빈스톡을 사용하면 대부분 작업이 간소화되지만, 프리티어로 무중단 배포가 불가능하다.

배포할 때마다 서버가 다운되면 제대로 된 서비스를 만들 수 없으니 무중단 배포는 필수이고 빈스톡은 사용할 수 없다.

 

💡 참고
AMI(Amazon Machine Image, 아마존 머신 이미지)

  • EC2 인스턴스를 시작하는 데 필요한 정보를 이미지로 만들어 둔 것

 

📖 A. 쉽게 ssh 접속하기(설정)

ssh -i pem ec2-user@주소을 집적 입력하여 ssh에 접속할 수 있다.

매번 주소를 찾고 입력하기에는 귀찮다!

~/.ssh/ 디렉터리로 pem 파일을 옮겨 놓으면 ssh 실행 시 pem 키 파일을 자동으로 읽어 접속을 진행한다.

  • 이후부터는 별도로 pem 키 위치를 명령어로 지정할 필요가 없게 된다.

(1) pem을 .ssh/로 옮긴다.
(2) vim config config을 생성한다.

Host 별명이름
    HostName ec2-x-xx-xxx-xxx.ap-northeast-2.compute.amazonaws.com
    User ec2-user
    IdentityFile ~/.ssh/xxx.pem
스크린샷 2022-05-30 오후 6 09 33
  • 생성되었다.

 

mac terminal에서는 ssh 별명이름을 입력하여 ec2 서버에 접속하면 된다.

스크린샷 2022-05-30 오후 6 16 25

 

📖 B. PuTTy 설정

윈도우 환경에서 Linux를 사용하기 위해서는 PuTTy를 많이 사용한다.

 

PuTTy 다운로드 주소

  • 64-bit x86 putty.exe
  • 64-bit x86 puttygen.exe

두 개를 설치한다.

 

✔ puttygen.exe 실행한다.

import key

  • puttygen.exe를 실행한다.
  • import.key를 실행

 

pem

  • pem 파일 선택

 

save private key

  • Save private key 버튼을 클릭한다.
  • ppk 파일을 생성한다.
  • ppk 파일이 저장될 위치와 ppk 이름을 등록한다.

 

✔ PuTTY 실행한다.

HOSTNAME

  • Host Name : username@public_Ip를 등록한다. 생성한 Amazon Linux에서 ec2-user@탄력적 IP 주소를 등록하면 된다.
  • Port : ssh 접속 포트인 22를 등록한다.
  • Connection type : SSH를 선택

 

Auth를 선택

  • Connection -> SSH -> Auth를 선택한다.
  • 전에 생성한 ppk 파일을 선택해서 불러온다.

 

이름저장

  • 정상적으로 불러왔다면 다시 탭으로 이동하여 현재 설정들을 저장할 이름을 등록하고 저장버튼을 클릭한다.

 

완료

  • 완료된 화면이다.

 

📚 2. 아마존 리눅스 1 서버 생성시 꼭 해야 할 설정들

✔ Java 11 설치

sudo yum install java-11-amazon-corretto.x86_64

 

설치 완료 후, 다음 명령어를 이용해서 Java 버전이 11이 맞는지 확인한다.

java -version

 

실행 결과
실행 결과

 

✔ 타임존 변경
EC2 서버의 기본 타임존은 UTC으로, 한국의 시간과는 9시간 차이가 발생한다. 이렇게 되면 서버에서 수행되는 Java 애플리케이션에서 생성되는 시간도 모두 9시간씩 차이가 나기 때문에 꼭 수정해야 한다.

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

모두 완료하면 date 명령어를 실행했을 때 타임존이 KST로 변경된 것을 확인할 수 있다.

시간

 

✔ 호스트 이름 변경
여러 서버를 관리 중일 경우 IP만으로 어떤 서비스의 서버인지 확인하기 어렵다. 그래서 각 서버가 어느 서비스인지 표현하기 위해 HOSTNAME을 변경해보자

sudo vim /etc/hosts

이 명령어를 수행한 뒤, 127.0.0.1에 이름을 원하는 이름으로 변경하자.

 

이름 변경

다음 명령어를 수행한 뒤 위에서 바꾼 이름과 동일하게 변경하자

sudo vim /etc/hostname

springhomeservice

원래는 ip-[IP 주소]로 되어 있으나 별명을 지정해준다.

 

모두 수정을 완료했으면 서버를 재부팅한다!

sudo reboot

다시 서버에 접속하면 원하는 이름으로 변경된 것을 확인할 수 있다.

완료2

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글