본문 바로가기
Server

AWS 서버 환경을 만들어보자

by 동기 2021. 7. 10.
반응형

*이 글은 이동욱님의 '스프링부트와 AWS로 혼자구현하는 웹서비스' 책을 보며 작성하였습니다.

AWS(Amazon Web Service)라는 클라우드 서비스를 이용해 서버 배포를 진행하여 보자.

 

*클라우드 서비스란?

인터넷(클라우드)을 통해 서버, 스토리지, DB, 네트워크, SW, 모니터링 등의 컴퓨팅 서비스를 제공하는것을 말한다.

 

외부에서 자신의 서비스에 접근하려면 24시간 작동하는 서버가 필요하다.

회사서비스의 경우 회사서버를 쓰면되고, 개인으로 쓰려면 선택지는 3가지가있다.

  • -집의 pc를 24시간 구동시킨다.
  • -호스팅 서비스(Cafe24, 코리아호스팅)을 이용한다.
  • 클라우드 서비스(AWS,AZURE,GCP 등) 을 이용한다.

일반적으로 호스팅서비스나 개인PC를 이용하는것이 저렴하다. 특정시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴 수 있는 클라우드가 유리하다.

또한 AWS의 EC2는 서버 장비를 대여하는것이지만, 그 안의 로그, 모니터링, 하드웨어교체, 네트워크 관리등을 기본적으로 제공해준다.

 

이런 클라우드에는 몇 가지 형태가 있다.

  1. Infrastructure as a Service ( Iaas )
    • 추상화서비스 이며, 가상머신, 스토리지, 네트워크, 운영체제 등의 IT 인프라를 대여해주는 서비스(EC2, S3 등)
  2. Platform as a Service ( Paas )
    • Iaas 를 한번 더 추상화한 서비스, 때문에 많은 기능이 자동화 되어있음 ( Beanstalk, Heroku 등)
  3. Software as a Service ( Saas )
    • 소프트웨어 서비스를 말함 ( 구글 드라이브, 드랍박스, 와탭 등)

AWS는 첫 가입시 1년간 대부분 서비스가 무료이며, 지원하는 기능이 많아 개인이나 소규모일때 개발에 좀 더 집중할 수 있다고 한다.또한 많은 기업이 AWS로 이전중이고, 국내 점유율이 압도적이기때문에 AWS사용 경험은 도움이 될 것이다.

 

이 책에서는 1번 Iaas를 이용한다. Paas 서비스인 빈스톡을 사용하면 작업이 간소화 되지만, 프리티어로 무중단 배포가 불가능하다.(결제하면 가능)

 


1. AWS 회원가입

 

AWS 공식 사이트

 

AWS 프리 티어

12개월 무료: 이 프리 티어 오퍼는 AWS 신규 고객에게만 제공되며 AWS 가입일로부터 12개월 동안 유효합니다. 12개월의 무료 사용 기간이 만료되거나 애플리케이션 사용량이 프리 티어 범위를 초과

aws.amazon.com

Master 혹은 Visa 카드가 필요합니다.

개인으로 체크 하시고, 자신의 영문주소를 기재하고, 자격증명 확인, 플랜선택 단계로 진행하시면 됩니다.

 

영문주소로 변환하기

 

플랜선택은 무료로 사용하기 위해서 기본 플랜을 선택합니다.

가입완료를 누르시면 회원가입은 끝입니다! 다음 단계를 위해 루트사용자로 로그인을 해주시면 됩니다.


2. EC2 인스턴스 생성하기

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

※ AWS에서는 첫글자가 중복되면 숫자로 표기합니다. 따라서 ECC가 아닌 EC2라고 부르고 있습니다.

 

무료 플랜인 프리티어 플랜에서는 사양이 t2.micro, 월 750 시간의 제한만 지킨다면(24시간 * 31일 = 744시간) 무료로 사용 가능합니다.

 

EC2를 만들기 전에 리전을 확인후, 아시아 태평양(서울)로 변경해 줍니다.

화면 우측 상단에 오하이오로 되어있다. 서울로 바꿔주자

다음으로

 

AWS 관리 콘솔의 솔루션 구축 파트의 가상머신 시작 버튼을 눌러줍니다.

 

1. Amazon Machine Image ( AMI ) 선택

그럼 아래와 같은 화면이 나오는데, Amazon Linux 2 AMI 를 선택해 줍시다.

(책에는 Linux 1 을 선택하라고 나와있지만, 현재 기준 목록에서 보이지 않습니다!! 따라서 2를 선택해 주었습니다.)

 

 

2. 인스턴스 유형 선택

인스턴스 유형은 프리티어 사용가능한 t2.micro 로 선택해 줍니다. 

우측 하단의 다음:인스턴스구성 을 클릭해서 넘어갑니다.

 

3.인스턴스 구성

기업의 경우 VPC, 서브넷 등을 설정하겠지만, 여기서는 혼자서 1대의 서버만 사용할 것이기 때문에 다음:스토리지 추가로 넘어가 줍니다.

4. 스토리지 추가

스토리지는 서버의 용량을 얼마나 정할지 선택하는 단계입니다.

크기의 기본값이 8GB로 되어있지만, 프리티어 최대 크기는 30GB 까지 가능하다고 합니다.

크기를 30GB로 바꿔 주었다.

 

5. 태그 추가

태그는 웹 콘솔에서 표기될 태그인 Name 태그를 등록합니다. EC2의 이름을 붙여준다고 생각하시면 됩니다.

저는 당근마켓 챗봇을 만들 예정이라 Carrot으로 짓겠습니다.

 

6. 보안 그룹 구성

보안그룹은 방화벽을 이야기 합니다. '서버로 80 포트 외에는 허용하지 않는다'는 역할을 하는 방화벽이 AWS에서는 보안 그룹으로 사용 됩니다.

그룹 이름을 적으시고, 유형은 SSH 및 소스는 내 IP로 지정합니다.

내 IP를 선택하시면 현재 장소의 IP가 자동 지정됩니다.

집 외의 다른장소에서 접속할때는 해당장소의 IP를 다시 SSH 규칙추가로 추가해주시면 됩니다.

저는 현재 집이 아니고 카페기 때문에 설명란에 카페로 적고 추가를 하였습니다.

 

7.검토

검토화면은 현재 단계까지 설정한 부분들을 볼 수 있습니다. 별 이상이 없다면 화면 우측 하단의 시작하기 버튼을 누릅니다. 누르면 키 페어 선택화면이 뜨게 됩니다.

 

8.키 페어 생성

인스턴스로 접근을 하기 위해서는 pem키(비밀키, Private Key)가 필요합니다.

주로 비밀키는 유저로컬에, 공개키는 서버에 있습니다.

인스턴스는 지정된 pem키와 매칭되는 공개키를 가지고 있어서, 해당 pem키 외에는 접근을 허용하지 않습니다.

 

※pem키는 비밀 키 이기때문에 유출되면 안됩니다!! 잘 관리할수 있는 디렉토리에 저장하세요.

 

기존에 생성된 pem키가 있다면 선택하고, 없다면 새로 만들어 줍니다.

새 키 페어 생성 후 키페어 다운로드 클릭하여 000.pem 파일 다운로드 후, 잘 보관해 준다.

다 되셨다면 인스턴스 시작을 누르시면 됩니다!! 그러면 시작 상태 화면이 뜨게되는데

 

'지금 인스턴스를 시작중 입니다.' 부분의 인스턴스 id를 클릭해서 EC2 목록으로 이동합니다.

 

Name 및 인스턴스 유형 등 우리가 설정해놨던 인스턴스 정보가 잘 들어옵니다!

인스턴스도 하나의 서버이기 때문에 IP가 존재하는데, 이 인스턴스가 중지하고 다시 시작할때 새로 IP가 할당됩니다.

매번 접속해야하는 IP가 변경되어서 매번 IP주소를 확인해야하는데, 이런 번거로운 과정이 없게 고정IP를 할당 받을 수 있습니다.

 

이것을 EIP ( Elastic IP, 탄력적 IP ) 라고 합니다.

화면 좌측 하단의 네트워크 및 보안 항목에서 '탄력적 IP'를 선택해 줍니다.

그 다음 화면의 우측 상단의 '탄력적 IP 주소 할당' 버튼을 클릭합니다.

별 다른 설정 없이 할당을 눌러줍니다.

 

할당이 완료되며, 우측 상단에 이 '탄력적 IP 주소 연결'을 눌러 아까 만들었던 EC2에 연결을 할 수 있습니다.

 

인스턴스 및 프라이빗 IP주소는 place holder쪽을 클릭하면 선택창이 뜹니다.

그 후 연결을 눌러시면 성공!

 

다시 EC2 인스턴스 목록으로 가보면

탄력적 IP 주소가 연결된 것을 알 수 있다!

 

※탄력적 IP는 생성하고 EC2 서버에 연결하지 않으면 비용이 발생한다고 합니다!! 바로 연결 하시거나, 연결할 인스턴스가 없다면 탄력적 IP를 삭제하셔야 비용청구가 되지 않습니다!!

 

 

반응형

'Server' 카테고리의 다른 글

[Linux] tmux  (0) 2021.11.02
리눅스 명령어  (0) 2021.09.14
VM bridge 설정  (0) 2021.06.20
Apache? Tomcat? NginX? 차이와 Ubuntu에 Tomcat 설치 방법  (0) 2021.06.20
가상머신 설치 및 우분투 설치  (0) 2021.06.20

댓글