AWS EC2 인스턴스 생성하기(Ubuntu AMI)

콜트·2021년 1월 6일
0
post-thumbnail

AWS

AWSAmazon에서 클라우드 환경을 구축하여 가상컴퓨터를 대여해주는 서비스이다. 이러한 서비스는 이 외에도 Azure, GCP 등이 있다. 서버를 구동하기 위해서는 여러 물리적 자원과 시간, 비용이 필요하게 되는데 AWS를 이용하면 이 모든 절차를 생략할 수 있다. 아마존에서 구축해놓은 가상컴퓨터의 일부를 빌려서 내 컴퓨터처럼 사용하는 것이다. 여기서 EC2(Elastic Compute Cloud)AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버를 말한다.

Amazon EC2의 기능

다음은 AWSAmazon EC2 공식 문서에서 발췌한 것이다.

Amazon EC2는 다음의 기능을 제공한다.

  • 인스턴스: 가상 컴퓨팅 환경(쉽게 말해, 아마존에서 제공하는 가상환경을 임대한다고 생각하면 된다)
  • Amazon 머신 이미지(AMI): 서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들 수 있습니다.
  • 인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성 제공
  • 키 페어를 사용하여 인스턴스 로그인 정보 보호(AWS는 퍼블릭 키를 저장하고 사용자는 개인 키를 안전한 장소에 보관하는 방식)
  • 인스턴스 스토어 볼륨: 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제됨
  • Amazon Elastic Block Store(Amazon EBS), 즉 Amazon EBS 볼륨을 사용해 영구 스토리지 볼륨에 데이터 저장
  • 인스턴스와 Amazon EBS 볼륨 등의 리소스를 다른 물리적 장소에서 액세스할 수 있는 리전 및 가용 영역
  • 보안 그룹을 사용해 인스턴스에 연결할 수 있는 프로토콜, 포트, 소스 IP 범위를 지정하는 방화벽 기능
  • 탄력적 IP 주소(EIP): 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소
  • 태그: 사용자가 생성하여 Amazon EC2 리소스에 할당할 수 있는 메타데이터
  • AWS 클라우드에서는 논리적으로 격리되어 있지만 원할 때마다 고객의 네트워크와 간편히 연결할 수 있는 가상 네트워크인 Virtual Private Clouds(VPC)

이 외에 자세한 내용은 Amazon EC2이란 무엇입니까?를 참고하도록 하자.


Amazon EC2 인스턴스 생성하기

  1. AWSEC2 인스턴스를 이용해서 서버를 구축할 것이다. 따라서, 먼저 Amazon EC2 인스턴스를 생성해줘야 한다. 클라우드 서비스 - Amazon AWS에서 AWS 계정을 생성한 뒤(프리티어로 생성한다), 내 계정 - AWS Management Console으로 들어간다.
    Amazon EC2 인스턴스 생성-1
  1. 그 다음으로는 가장 먼저, 우측 상단에 보이는 지역(리전)을 서울로 변경해준다.
    Amazon EC2 인스턴스 생성-2-2

  2. 그 다음, 상단에 보이는 서비스 버튼을 누르면 다음과 같은 화면이 나오는데, EC2를 선택해서 진입한다.
    Amazon EC2 인스턴스 생성-2

  3. 중앙에 보이는 인스턴스 시작 버튼을 누르면 AMI(Amazon Machine Image)를 선택하는 화면이 나온다. AMI란, EC2 인스턴스를 시작하는데 필요한 정보를 이미지로 만들어 둔 것을 말한다. 인스턴스라는 가상 머신에 운영체제 등을 설치할 수 있게 구워 넣은 이미지로 생각하면 된다.
    Amazon EC2 인스턴스 생성-3

  4. 본인은 그 중에서 Ubuntu Server 16.04 LTS (HVM), SSD Volume Type을 선택했다. 단, 여기서 AWS 계정을 생성하고 1년동안 제공되는 무료서비스로 인스턴스를 이용하고자 한다면 여기서 프리티어 사용가능이라고 표기된 것을 선택해야 한다(프리티어란 무엇입니까?를 참고하도록 하자). 쉽게 말하면, 프리티어는 기간이 1년짜리인 무료 체험판과 같은 것이라고 보면된다.
    Amazon EC2 인스턴스 생성-4

그런데 AWS에서 무료로 제공하는 프리티어로 인스턴스를 생성할 때는 다음과 같은 제한이 있다.

  • 사양이 t2.micro만 가능하다.
    • vCPU(가상 CPU) 1 Core, 메모리 1GB 사양이다.
    • 보통 vCPU는 물리 CPU 사양의 절반 정도의 성능을 가진다.
  • 월 750 시간의 제한이 있다. 초과하면 비용이 부과된다.
    • 24시간 * 31일 = 744시간이다. 즉, 1대의 t2.micro만 사용한다면 24시간 사용할 수 있다(그러니까, 2대 이상의 인스턴스를 사용한다면 비용이 부과된다는 뜻이다).
  1. 여기서는 t2.micro를 선택하고 다음으로 넘어간다.
    Amazon EC2 인스턴스 생성-5

간단히 유형에 대해 소개하면, t2는 요금 타입을 이야기하고, micro는 사양을 이야기하며, 이 외에도 다양한 사양들이 있다. 이들은 크레딧이란 일종의 CPU를 사용할 수 잇는 포인트 개념이 있다. 인스턴스 크기에 따라 정해진 비율로 CPU 크레딧을 계속 받게 되며, 사용하지 않을 때는 크레딧을 축적하고, 사용할 때 이 크레딧을 사용하게 된다. 정해진 사양보다 더 높은 트래픽이 오면 크레딧을 좀 더 적극적으로 사용하면서 트래픽을 처리하지만, 크레딧이 모두 사용되면 더이상 EC2를 사용할 수 없다. 그래서 트래픽이 높은 서비스들은 T 시리즈를 쓰지 않고 다른 시리즈를 사용하기도 한다.

  1. 다음 단계는 세부정보 구성이다. 기업에서 사용할 경우 화면상에 표기된 VPC, 서브넷 등을 세세하게 다루지만, 여기서는 혼자서 1대의 서버만 사용하니 별다른 설정을 하지 않고 넘어가도록 한다(VPC와 서브넷 등AWS 서비스들의 네트워크 환경을 구성하는 정도로 이해하면 된다).
    Amazon EC2 인스턴스 생성-6

  2. 다음은 스토리지 선택인데, 스토리지는 흔히 하드디스크라고 부르는 서버의 디스크를 이야기하며 서버의 용량을 얼마나 정할지 선택하는 단계이다. 설정의 기본값은 8GB로 되어있지만 30GB까지 프리티어로 가능하므로 최대치인 30GB로 변경해준다.
    Amazon EC2 인스턴스 생성-7

  3. 다음 단계는 태그 추가이다. 태그는 쉽게 말하면 EC2에 이름을 붙인다고 생각하면 간단하다. 원하는 대로 입력해주자.
    Amazon EC2 인스턴스 생성-8

  4. 다음은 보안 그룹인데, 보안 그룹은 방화벽을 말한다. 서버로 80 포트 외에는 허용하지 않는다는 역할을 하는 방화벽이 AWS에서는 보안 그룹으로 사용된다. 여기서 원격제어 프로토콜은 꼭 포함하여야 한다. SSH란 원격제어 프로토콜에 보안 개념이 들어간 것이다. 우린 SSH만 존재하게 하고 넘어 간다.
    Amazon EC2 인스턴스 생성-9

  5. 검토 및 시작 버튼을 누르면 설정한 것들을 볼 수 있는 화면이 나오는데, 우측 하단의 시작하기 버튼을 누르면 키페어 생성 화면이 나온다. 이는 AWS 접속에 쓰이므로 절대 잃어버리면 안된다. 재발급 과정이 매우 복잡하다고 한다.
    Amazon EC2 인스턴스 생성-10

  6. 마지막으로 새 키 페어 생성을 선택하고 키 페어 이름을 입력한 뒤 키 페어 다운로드 버튼을 눌러 키 페어를 다운로드 하면 인스턴스를 시작할 수 있게 된다.
    Amazon EC2 인스턴스 생성-11

  7. 인스턴스 시작 버튼을 누르면 인스턴스 시작 상태를 확인할 수 있는 창이 나오며, 인스턴스 보기 버튼을 누르면 인스턴스가 생성된 것을 확인할 수 있다.
    Amazon EC2 인스턴스 생성-12
    Amazon EC2 인스턴스 생성-13


참고자료


profile
개발 블로그이지만 꼭 개발 이야기만 쓰라는 법은 없으니, 그냥 쓰고 싶은 내용이면 뭐든 쓰려고 합니다. 코드는 깃허브에다 작성할 수도 있으니까요.

0개의 댓글