AWS 가입 및 EC2 인스턴스 생성

AWS에 가입하는 방법부터, EC2 인스턴스를 생성하는 방법에 대해서 다룹니다.

Posted on April 24, 2018

AWS 가입 및 EC2 인스턴스 생성

이 포스팅에서는 AWS에 가입하는 방법부터, EC2 인스턴스를 생성하는 방법에 대해서 다룹니다.

1. AWS 가입

AWS는 Amazon Web Services의 약자로 아마존닷컴이 제공하는 각종 원격 컴퓨팅 서비스입니다. AWS에서 컴퓨팅 파워, 데이터베이스 스토리지, 콘텐츠 전송 및 기타 기능을 원격으로 할 수 있습니다.

AWS와 비슷한 서비스로 구글의 Google Cloud Platform, 마이크로소프트의 Azure가 있는데 이번에는 AWS 이용 방법에 대해서 알아보겠습니다.

1.1. https://aws.amazon.com/ko 사이트 접속

그림1

1.2. 이메일 입력 후 계정 정보 입력

  • 계정 유형은 기업이 아닐 경우 개인으로 선택하고, 주소는 모두 영어로 기입합니다.

그림2

1.3. 결제 정보 입력

  • AWS는 기본적으로 새로운 계정에게 프리 티어라는 1년 무료 플랜을 제공하나, 프리 티어의 한도를 초과하거나 1년이 지날 경우는 과금이 되므로 주의해야합니다.

그림3

1.4. 전화 인증

  • 전화 번호를 입력 후 지금 전화하기 버튼을 누르고 ARS가 걸려오면 화면에 보이는 번호를 입력합니다.

그림4

1.5. 지원 플랜 선택 후 가입 완료

  • 상황에 맞게 플랜을 선택하면 되나, 지금은 테스트이므로 기본 플랜을 선택하겠습니다.

그림5



2. EC2 인스턴스 생성

먼저 EC2의 개념은 위키백과에 잘 나와 있습니다.

아마존 일래스틱 컴퓨트 클라우드(Amazon Elastic Compute Cloud)는
아마존닷컴의 클라우드 컴퓨팅 플랫폼 아마존 웹 서비스의 중앙부를 이루며,
사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행할 수 있게 한다.

즉 이 EC2를 사용하면 자신의 앱을 돌리기 위해 서버용 컴퓨터를 개인마다 갖고 있을 필요 없이, 아마존닷컴의 인스턴스라 불리는 가상 머신을 임대 받아 자신의 앱을 돌릴 수 있습니다.

그럼 AWS에서 이 EC2에 인스턴스를 생성하는 방법에 대해서 알아보겠습니다.

2.1. 지역 변경

  • 우선 로그인 후, 우측 상단에 미국 동부(오하이오)로 되어 있는 지역을 아시아 태평양(서울)로 변경해줍니다. 이는 서버를 어느 지역으로 설정할 것인지 정하는 것인데, 한국에서 돌린다면 한국 서버가 가장 빠르고 지연속도가 낮습니다. 참고로 한국 서버를 지원한건 이제 2년 조금 넘었습니다.

그림6

2.2. EC2 메뉴 선택 및 인스턴스 생성

  • 검색창에 EC2를 검색해서 접속합니다. 접속 후 인스턴스 시작 버튼을 눌러줍니다.

그림7 그림8

2.3. AMI(Amazon Machine Image) 선택

  • AMI는 인스턴스에 어떤 소프트웨어를 구축해 놓을지 정하는 것입니다. 배포하려는 앱이 어떤 서버인지에 따라 선택해주시면 됩니다. 저는 Django 앱을 배포하기 위해 Ubuntu Server 16.04 LTS 를 선택하겠습니다.
  • 참고로 무료로 사용하실 분들은 반드시 프리티어 사용 가능 중에 선택해주세요!

그림9

2.4. 인스턴스 유형 선택

  • 인스턴스 유형은 가상 머신의 성능을 선택하는 것입니다. 상황에 맞게 선택해주시면 되며 성능이 높을수록 당연히 가격이 올라갑니다. 무료로 사용하실 분은 두번째 프리티어 사용 가능 항목을 선택해주시면 됩니다. 유형 선택 후 다음: 인스턴스 세부 정보 구성을 눌러줍니다.

그림10

2.5. 보안 그룹 구성

  • 1 ~ 5번 항목까지 다음을 눌러주시고, 보안 그룹 구성으로 옵니다. 여기서 보안 그룹 이름과 설명을 나중에 알아보기 쉽게 바꿔 주고, 검토 및 시작을 눌러줍니다.

그림11

2.6. 키 페어 생성

  • 키 페어는 나중에 원격으로 이 인스턴스에 접속하기 위해서 반드시 필요합니다. 새 키 페어 생성을 누른 후 키 페어 이름을 작성하고 키 페어 다운로드로 다운로드 해줍니다.
  • 키 페어는 한 번 발급 받은 후, 다시 받을 방법이 없으므로 반드시 잘 보관해야합니다!!
  • 키 페어 관리 방법과 사용 방법은 아래에서 다룰 예정이니, 그 때까지 잘 보관해주세요!

그림12

2.7. 예상 요금 알림 받기

  • 인스턴스가 생성되는 동안, 예상 요금을 이메일로 알림 받을 수 있도록 세팅해보겠습니다. 먼저 예상 요금 알림 받기 항목에서 결제 알림 생성 버튼을 눌러줍니다.

그림13

  • 결제 알림 받기를 체크해주시고(참고로 한 번 체크를 하면 해제할 수 없으니, 따로 안받으실 분들은 안해주셔도 됩니다), 새로운 예산 기능을 사용해 보십시오! 를 눌러주세요.

그림14

  • 예산 작성 버튼을 누른 후, 자신의 예산 상황에 맞게 작성하신 후 마지막에 알림 받을 이메일 주소를 입력해주시면 됩니다.

그림15 그림16

2.8. 인스턴스 생성 완료

  • 축하합니다! 인스턴스 생성이 완료되었습니다. 알아보기 쉽게 name에 이름을 입력해줍니다. 그림17

2.9. 키 페어 관리

이 후 모든 내용은 Linux/Mac OS 기준으로 진행합니다.

  • 터미널을 실행 후 아래 명령어를 입력해 봅니다.
    $  cd .ssh/
    
  • no such file or directory 가 나오면 아래 명령어로 .ssh 폴더를 새로 생성해줍니다.
    $  mkdir .ssh
    
  • 그 후 위에 cd .ssh/ 명령어로 접속 후 아래 명령어로 폴더를 열어줍니다.
    $  open .
    
  • 폴더가 열렸으면 아까 다운로드 받은 프라이빗 키 파일(~~~.pem)을 .ssh 폴더 안으로 넣어 줍니다.
  • 그 후 다시 터미널 .ssh 폴더에서 아래 명령어로 키 파일을 사용자 자신만 볼 수 있게 권한을 변경해줍니다.
    $  chmod 400 ~~~.pem
    

    그림18

2.10. 원격으로 인스턴스에 접속

원격으로 인스턴스에 연결하기 위해서는 터미널에 아래의 명령어를 사용합니다.

$  ssh -i pem경로 user-name@public-dns-name
  • pem경로~/.ssh/~~~.pem
  • user-name 의 경우 아직 인스턴스의 user를 따로 설정하지 않았기 때문에 default 값을 따릅니다. default 값은 아래와 같습니다.
    • Amazon Linux AMI의 경우, ec2-user
    • Centos AMI의 경우, centos
    • Debian AMI의 경우, admin 또는 root
    • Fedora AMI의 경우, ec2-user
    • RHEL AMI의 경우, ec2-user 또는 root
    • SUSE AMI의 경우, ec2-user 또는 root
    • Ubuntu AMI의 경우, ubuntu 또는 root
  • public-dns-name 은 aws 사이트에서 퍼블릭 DNS(IPv4) 값을 가져옵니다. 그림19 따라서 최종적으로 제 기준 경로는 아래와 같습니다.
    $  ssh -i ~/.ssh/examplekey.pem ubuntu@ec2-52-78-234-247.ap-northeast-2.compute.amazonaws.com
    

    위의 명령어를 터미널에 치면, 아래와 같이 인스턴스로 원격 접속한 것을 확인할 수 있습니다.

그림20


이번 포스팅에서는 AWS에 가입해 EC2 인스턴스를 생성하는 방법에 대해서 알아보았습니다. Nginx + uWSGI로 Django 앱 배포하는 방법은 다음 포스트에서 확인 가능합니다.

다음 포스트 : EC2 인스턴스 세팅과 Nginx + uWSGI로 Django 앱 배포하기 (1/2)

개인 공부하면서 작성한 글이라 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 편하게 말씀해주시면 수정하겠습니다:)