스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - AWS 서버환경 만들기(AWS EC2)

화나·2021년 1월 28일
0
post-thumbnail
  • 외부에서 내가 만든 서비스에 접근하려면 24시간 작동하는 서버는 필수
  • 이 프로젝트에서는 클라우스 서비스(IaaS)를 사용하여 서버를 구축

    클라우드 서비스란?
    인터넷(클라우드)를 통해 서버, 파일 저장소, 데이터베이스,
    네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것

    1. Infrascructure as a Service(IaaS)
      • 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스
      • IT인프라를 대여해주는 서비스
      • AWS의 EC2, S3 등
    2. Platform as a Service(PaaS)
      • IaaS에서 한번 더 추상화한 서비스, 한번 더 추상화했기 때문에 많은 기능이 자동화 되어있음
      • AWS의 빈스톡, 헤로쿠 등
    3. Software as a Service(SaaS)
      • 소프트웨어 서비스
      • 구글 드라이브, 드롭박스 등

1. EC2 인스턴스 생성하기

  • EC2(Elastic Compute Cloud)는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수있는 서버

  • AWS 서비스 -> EC2 선택

  • 인스턴스 시작 클릭
    인스턴스란 EC2 서비스에 생성된 가상머신

  • 단계1. AMI 선택(Amazon Linux 2 AMI (HVM), SSD Volume Type)
    AMI(Amazon Machine Image)란 EC2 인스턴스를 시작하는데 필요한 정보를 이미지로 만들어 둔 것
    인스턴스라는 가상머신에 운영체제 등을 설치할 수 있게 구워넣은 이미지라고 생각하면 됨

  • 단계2. 인스턴스 유형 선택 : 기본 선택 되어 있는 t2.micro 선택

  • 단계3. 인스턴스 세부 정보 구성
    인스턴스 세부 정보 구성단계는 혼자서 1대의 서버만 사용하니 별다른 설정 없이 다음:스토리지 추가 버튼을 눌러 다음 단계로 넘어감

  • 단계4. 스토리지 추가
    서버의 용량을 얼마나 정할지 선택하는 단계
    30GB까지 프리티어로 가능

  • 단계5. 태그 추가
    웹 콘솔에서 표기될 태그인 Name 태그를 등록함
    태그는 해당 인스턴스를 표현하는 여러 이름으로사용 될 수 있음

  • 단계6. 보안 그룹 추가
    보안 그룹은 방화벽을 이야기함
    SSH이면서 22번포트인 경우 : AWS EC2 터미널로 접속 할 때
    내 IP로 변경해줘야함

  • 단계7. 시작하기
    인스턴스로 접근하기 위해서는 pem키(비밀키)가 필요함
    지정된 pem키 외에는 접근을 허용하지 않음
    pem키는 일종의 마스터키이기 때문에 유출되면 안되고 잃어버리면 재발급도 불가능하다.
    기존에 생성된 pem키가 없다면 새로 생성해준다.

    이 이후 단계는 다 생성이 되어버려서 말로만 설명하려고한다😭

2. 인스턴스에 고정IP 할당하기

  • 인스턴스도 하나의 서버이기 때문에 IP가 존재하고, 이 인스턴스를 다시 시작할 때 새로운 IP가 다시 할당된다.
  • 이렇게 되면 매번 접속하는 IP가 변경되어서 번거롭기 때문에, 매번 변경되지 않는 고정 IP를 할당하려고 한다.
  • AWS의 고정 IP를 EIP(Elastic IP, 탄력적 IP)라고 한다.
  • 이 탄력적IP를 인스턴스와 연결해 주어야한다. 연결방법
  • 탄력적 IP는 생성하고 바로 연결하지 않으면 비용이 발생함

3. EC2 서버에 접속하기

  • 윈도우는 PUTTY로 진행
  • puttygen : putty는 pem키로 사용이안되며 pem키를 ppk파일로 변환해야만 사용이 가능함
    puttygen은 이 과정을 진행해주는 클라이언트
    EC2 서버에 접속하기

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

  • JAVA8 설치
    java 8 설치 코드
    sudo yum install -y java-1.8.0-open-jdk-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
    date 명렁어로 타임존이 KST로 변경된 것을 확인함

  • 호스트네임 변경
    변경하는법

0개의 댓글