본문 바로가기

개발/Programming

[배포] AWS를 통한 배포 방법 알아보기(인스턴스 생성과 연결)

반응형

안녕하세요😎 백엔드 개발자 제임스입니다 :)

이번 포스팅에서는 AWS를 통한 배포하는 방법을 정리하려고 합니다. AWS는 Amazon에서 제공하는 클라우드 서비스입니다. 우리는 다양한 방법으로 애플리케이션을 배포할 수 있습니다. 기존 방식으로 개인의 컴퓨터를 통해서 배포할 수도 있습니다. 하지만 컴퓨터를 항상 작동시켜야하며, 이 외에도 귀찮은 일이 이만저만이 아닙니다. AWS는 간단하게 컴퓨터를 빌려주는 것이라고 생각하면 좋은데요. 덕분에 편리하게 배포와 관리를 할 수 있게 됩니다. AWS 뿐만 아니라 클라우드 서비스를 제공하는 플랫폼은 굉장히 많습니다. 글머에도 여전히 AWS가 많이 이용되고 있기 때문에, AWS에 집중해서 정리하도록 하겠습니다.


1. 다양한 AWS 서비스


Name AWS 분류 기준 유닛 기준 모델 및 클래스
EC2 컴퓨팅 AWS t2.micro
S3 스토리지, 서버리스 AWS S3 Standard
RDS 데이터베이스 서비스 AWS MySQL. db.t2.micro
CodeBuild 개발자 도구 배포 자동화  
CodeDeploy 개발자 도구 배포 자동화  
CodePipeline 개발자 도구 배포 자동화  
IAM 보안 자격 증명 및 규정 준수 AWS  
System Manager 보안 자격 증명 및 규정 준수 배포 자동화  

1) EC2

  • 아마존 웹 서비스에서 제공하는 클라우드 컴퓨팅 서비스
  • 서버, 스토리지, 데이터베이스 등의 서비스를 제공
  • 가상의 컴퓨터를 빌려주는 것
  • 손쉽게 운영체제, CPU, RAM, 용량 구성

2) AMI

  • 소프트웨어 구성이 기재된 템플릿
  • ex) 운영체제(윈도우, 우분투 리눅스 등)만 깔려있는 템플릿, 특정 런타임이 설치된 템플릿(윈도우 + JVM 등)
배포를 하다보면, 인스터스라는 용어를 계속 보게 됩니다. 인스턴스는 1대의 컴퓨터를 의미하는 단위입니다.
AWS에서 컴퓨터를 빌리는 것을 인스턴스 생성이라고 합니다.

3) RDS (Relational Database Service)

  • 관계형 데이터베이스 서비스
  • 말그대로 관계형 DB를 대여해주는 것

4) S3 (Simple Storage Service)

  • 인터넷 공간에 데이터를 저장하는 저장소인 클라우드 스토리지 서비스
  • 높은 확장성
  • 버킷을 통해 정적 웹 사이트 호스팅 가능
웹 호스팅 : 서버의 한 공간을 빌려주어 웹사이트의 배포, 운영이 가능하게 만들어주는 서비스입니다.

2. 3 Tier-Architecture 배포 전략


위에서 AWS에서 제공하는 서비스에 대해서 알아보았습니다. 사실 이 외에도 제공하는 서비스는 굉장히 많습니다. 그 중 3 Tier-Architecture 배포 전략이 있는데요. 위에서 알아봤던 서비스인 EC2, S3, RDS를 활용하는 것입니다. 앞으로 해당 전략을 통한 배포에 대해서 포스팅할 예정인데요. 그 전에 이번 포스팅에서는 배포를 하기 전에 진행해야 할 중요한 과정인 인스턴스 생성과 연결의 방법을 알아보도록 하겠습니다.


1) 서버 배포 (EC2) - 인스턴스 생성


(1) 인스턴스 생성 버튼을 누릅니다.

 

(2) 인스턴스의 이름을 작성하고, 용도에 맞게 AMI를 선택합니다.

여기서는 ubuntu와 프리티어가 가능한 t2.micro 유형을 선택했지만, 상황, 리전에 따라 상이할 수 있습니다.
(로컬 환경에 ubuntu를 설치해주세요.)

(3) 새 키 페어를 생성합니다.

현재 생성하고 있는 인스턴스를 원격으로 제어하기 위해서는 SSH 연결이 필요합니다.

위 과정에서 EC2 인스턴스에 연결하기 위한 Key 이름을 작성합니다. 그리고 키 페어 생성 버튼을 누르면, pem 파일로 다운로드가 됩니다.

(4) 인스턴스 생성 버튼 클릭

키 페어까지 생성했다면, 화면 가장 하단에 있는 인스턴스 시작 버튼을 클릭합니다. 그 외에 내용은 지금은 건드리지 않아도 괜찮습니다.

인스턴스 생성이 완료된 모습

인스턴스 생성이 완료되면, 위와 같이 실행 중인 인스턴스가 보일 것입니다. 인스턴스는 여러개 만들 수 있습니다. 이때 인스턴스 ID를 통해 구분할 수 있습니다. 지금까지 과정이 AWS에서 PC 한 대를 빌린 것과 동일합니다. 그렇다면 이렇게 빌린 이 PC를 사용해야겠죠?

사용하는 방법은 원격접속을 하는 것입니다. 그리고 이 때 필요한 것이 위에서 다운로드한 키 페어 파일(.pem)입니다.

 


2) 서버 배포 (EC2) - 인스턴스 연결


(1) 이어서 인스턴스 ID를 클릭합니다.

(2) 해당 창이 나오면 우측에 연결을 클릭합니다.

(3) 다음은 로컬 터미널에서 SSH 프로토콜을 이용해서 인스턴스와 연결할 것입니다.

이전에 다운로드했던 키 페어 파일(.pem)을 활용할 것인데요. 파일에 접근하기 위해서는 권한을 수정해줘야 합니다.
권한을 수정해주는 명령어는 위 이미지에서 1번 명령어 입니다.

(4) 로컬에 있는 ubuntu 터미널을 연 뒤, 키 페어 파일이 설치된 경로로 이동합니다. 

/chmod 400 {키_페어_파일}.pem
* chmod란 Linux의 기본 명령어로 change mode의 축약어입니다.
* chmod 뒤에 3개의 숫자는 순서대로 소유자/그룹/전체에 대한 권한을 의미합니다. (읽기(4), 쓰기(2), 실행(1) 숫자의 조합)
* 400 은 나에겜만 읽기 권한이 있도록 권한을 부여
권한을 수정하지않고 진행하면 shh 키 접속 시 거절됩니다.

(5)  이어서 로컬 ubuntu 터미널에 shh 명령어를 입력하여 인스턴스에 접속합니다.

계속 연결할 것이냐는 질문이 나오면 yes를 입력하면 됩니다.

 

인스턴스 연결 성공

이제 우리가 생성했던 인스턴스 컴퓨터에 연결했습니다. 위 그림처럼 경로가 바뀐 것이 보이나요?

  • ssh 프로토콜 명령어
  • 키 페어 파일 이름의 Key
  • 사용자 이름 ( ubuntu 인스턴스를 생성한 경우 기본적으로 unbuntu라는 사용자 이름이 생성됨)
  • 가상 PC

지금까지 인스턴스를 생성하고 연결하는 과정을 수행했습니다. 과정이 길기 때문에 게시글을 여러개로 나누고 있습니다.

EC2 서비스를 활용한 서버 배포 방법은 아래 링크를 참고해주세요!

https://kang-james.tistory.com/entry/%EB%B0%B0%ED%8F%AC-AWS%EB%A5%BC-%ED%86%B5%ED%95%9C-%EB%B0%B0%ED%8F%AC-%EB%B0%A9%EB%B2%95-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0EC2-%EC%84%9C%EB%B2%84-%EC%8B%A4%ED%96%89

 

[배포] AWS를 통한 배포 방법 알아보기(EC2 서버 실행)

안녕하세요😎 백엔드 개발자 제임스입니다 :) 저번 포스팅에서 인스턴스를 생성하고 연결까지 해보았습니다. 이전 내용이 궁금하면 아래 링크를 통해 확인해주세요. https://kang-james.tistory.com/entr

kang-james.tistory.com

 

반응형