이 포스팅에서는 AWS에 가입하는 방법부터, EC2 인스턴스를 생성하는 방법에 대해서 다룹니다.
AWS는 Amazon Web Services의 약자로 아마존닷컴이 제공하는 각종 원격 컴퓨팅 서비스입니다. AWS에서 컴퓨팅 파워, 데이터베이스 스토리지, 콘텐츠 전송 및 기타 기능을 원격으로 할 수 있습니다.
AWS와 비슷한 서비스로 구글의 Google Cloud Platform, 마이크로소프트의 Azure가 있는데 이번에는 AWS 이용 방법에 대해서 알아보겠습니다.


프리 티어라는 1년 무료 플랜을 제공하나, 프리 티어의 한도를 초과하거나 1년이 지날 경우는 과금이 되므로 주의해야합니다.
지금 전화하기 버튼을 누르고 ARS가 걸려오면 화면에 보이는 번호를 입력합니다.
기본 플랜을 선택하겠습니다.
먼저 EC2의 개념은 위키백과에 잘 나와 있습니다.
아마존 일래스틱 컴퓨트 클라우드(Amazon Elastic Compute Cloud)는
아마존닷컴의 클라우드 컴퓨팅 플랫폼 아마존 웹 서비스의 중앙부를 이루며,
사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행할 수 있게 한다.
즉 이 EC2를 사용하면 자신의 앱을 돌리기 위해 서버용 컴퓨터를 개인마다 갖고 있을 필요 없이, 아마존닷컴의 인스턴스라 불리는 가상 머신을 임대 받아 자신의 앱을 돌릴 수 있습니다.
그럼 AWS에서 이 EC2에 인스턴스를 생성하는 방법에 대해서 알아보겠습니다.
미국 동부(오하이오)로 되어 있는 지역을 아시아 태평양(서울)로 변경해줍니다. 이는 서버를 어느 지역으로 설정할 것인지 정하는 것인데, 한국에서 돌린다면 한국 서버가 가장 빠르고 지연속도가 낮습니다. 참고로 한국 서버를 지원한건 이제 2년 조금 넘었습니다.
EC2를 검색해서 접속합니다. 접속 후 인스턴스 시작 버튼을 눌러줍니다.

Ubuntu Server 16.04 LTS 를 선택하겠습니다.프리티어 사용 가능 중에 선택해주세요!
프리티어 사용 가능 항목을 선택해주시면 됩니다. 유형 선택 후 다음: 인스턴스 세부 정보 구성을 눌러줍니다.
검토 및 시작을 눌러줍니다.
새 키 페어 생성을 누른 후 키 페어 이름을 작성하고 키 페어 다운로드로 다운로드 해줍니다.
결제 알림 생성 버튼을 눌러줍니다.
결제 알림 받기를 체크해주시고(참고로 한 번 체크를 하면 해제할 수 없으니, 따로 안받으실 분들은 안해주셔도 됩니다), 새로운 예산 기능을 사용해 보십시오! 를 눌러주세요.
예산 작성 버튼을 누른 후, 자신의 예산 상황에 맞게 작성하신 후 마지막에 알림 받을 이메일 주소를 입력해주시면 됩니다.

name에 이름을 입력해줍니다.

이 후 모든 내용은 Linux/Mac OS 기준으로 진행합니다.
$ cd .ssh/
no such file or directory 가 나오면 아래 명령어로 .ssh 폴더를 새로 생성해줍니다.
$ mkdir .ssh
cd .ssh/ 명령어로 접속 후 아래 명령어로 폴더를 열어줍니다.
$ open .
.ssh 폴더 안으로 넣어 줍니다..ssh 폴더에서 아래 명령어로 키 파일을 사용자 자신만 볼 수 있게 권한을 변경해줍니다.
$ chmod 400 ~~~.pem

원격으로 인스턴스에 연결하기 위해서는 터미널에 아래의 명령어를 사용합니다.
$ ssh -i pem경로 user-name@public-dns-name
~/.ssh/~~~.pem ec2-usercentosadmin 또는 rootec2-userec2-user 또는 rootec2-user 또는 rootubuntu 또는 root퍼블릭 DNS(IPv4) 값을 가져옵니다.
따라서 최종적으로 제 기준 경로는 아래와 같습니다.
$ ssh -i ~/.ssh/examplekey.pem ubuntu@ec2-52-78-234-247.ap-northeast-2.compute.amazonaws.com
위의 명령어를 터미널에 치면, 아래와 같이 인스턴스로 원격 접속한 것을 확인할 수 있습니다.

이번 포스팅에서는 AWS에 가입해 EC2 인스턴스를 생성하는 방법에 대해서 알아보았습니다.
Nginx + uWSGI로 Django 앱 배포하는 방법은 다음 포스트에서 확인 가능합니다.
다음 포스트 : EC2 인스턴스 세팅과 Nginx + uWSGI로 Django 앱 배포하기 (1/2)
개인 공부하면서 작성한 글이라 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 편하게 말씀해주시면 수정하겠습니다:)
| Django 프로젝트에 Travis-CI 연동 및 Secret Key 암호화 | 2018. 05. 14 |
|---|---|
| EC2 인스턴스 세팅과 Nginx + uWSGI로 Django 앱 배포하기 (2/2) | 2018. 05. 02 |
| EC2 인스턴스 세팅과 Nginx + uWSGI로 Django 앱 배포하기 (1/2) | 2018. 04. 25 |