지금부터는 본격적으로 환경 구축 실습을 시작해보도록 하겠습니다. 사용자들에게 서비스를 배포하려면 무엇이 필요할까? 우선 파일이 저장되어있고 서버 코드를 실행할 수 있는 서버 컴퓨터가 필요할 것이다. 서버를 위해 로컬 컴퓨터를 준비한 뒤 파일 및 데이터를 저장시켜놓고, 포트포워딩을 통해 사용자의 요청을 처리할 수 있을 것이다. 지금까지의 나도 그렇게 토이 프로젝트들을 준비했었다. 그렇지만 접속자가 늘어날 수록 학생 및 스타트업에게는 인프라 구축을 위한 비용이 많이 까다로울 수 있다. 그래서 이를 해결하기 위한 것이 AWS의 EC2(Elastic Compute Cloud) 서비스이다.
Elastic Compute Cloud. 직역하면 탄력성 있는 클라우드 컴퓨터이다. 탄력성이라는게 무슨 의미일까? 실제 컴퓨터를 주문한 것처럼 제품이 없으니 시간적 절약, 쉽게 성능을 바꿀 수도 있고, 필요가 없어지면 그냥 삭제하기에도 쉬운 점에서 탄력성이 있다고 생각할 수 있다. EC2는 AWS에서 가장 먼저 시작되었고, 지금까지도 대표하는 서비스 중 하나이다. 쉽게 생각하면, 클라우드를 통해 독립된 컴퓨터 한대를 통채로 임대해주는 서비스라고 볼 수 있다. EC2 서비스를 통해 컴퓨터를 할당받고, 코드를 실행시켜보도록 하겠다.
1) 서비스를 이용하기 위해서 회원가입을 하자. AWS를 검색하거나 위의 사이트에 접속한 뒤 가입 완료 버튼을 누른다.
2) AWS 계성 새로 만들기를 누른 뒤에 필요한 정보들을 입력한다. 영문 주소 입력이 필요한데, 아래의 링크를 참조하면 된다. 결제를 위한 카드 정보를 입력하는데, 확인을 위해 0.1 USD가 결제된다(나중에 다시 돌려준다고 한다.)
영어 주소 변환:
우편번호 확인:
3) 루트 사용자로 로그인을 하자. 최초 가입한 뒤에는 프리티어가 적용되어 서비스를 부분적 무료 이용할 후 있다. EC2의 경우 12개월동안 매달 750시간이 주어지는데, 24시간 * 31일을 해도 744가 나오므로 사실상 1년 내내 켜놔도 무료라고 생각하면 된다. 프리티어에 대한 자세한 내용은 아래의 링크를 참조하자.
4) 이제 Management Console로 이동하게 되는데 EC2 서비스를 찾아 이동하자.
5) 클라우드에서 할당되는 컴퓨터를 인스턴스라고 부른다. 인스턴스 시작 버튼을 누르자.
6) AMI는(Amazon Machine Image)는 인스턴스를 시작하는 데 필요한 정보들을 제공한다. 예를들어 운영체제가 있다. 프리티어로 사용 가능한 옵션인지 잘 확인해야한다. 우분투를 선택하겠다.
7) 딱히 설정을 건들지 말고 6.보안 그룹 생성 탭으로 넘어온다.
8) 해당 인스턴스 보안을 설정하는 탭이다. SSH는 Windows 운영체제에서 Linux에 원격 접근을 위해서 필요한 프로토콜이다. 그리고 소스 설정을 통해서 접근 가능한 IP를 설정할 수 있다. 소스 설정을 위치 무관으로 한 경우, 어느 곳에서나 SSH를 통해 해당 인스턴스에 접근할 수 있다. 특정 IP로 설정한 경우에는 해당 IP에서만 인스턴스에 접근할 수 있다.
인스턴스를 통해 웹 서비스를 배포하는 것이 목표이기 때문에 HTTP를 추가한다. 어디에서나 사용자가 웹으로 접근할 수 있어야 하기 때문에 위치 무관으로 설정한다. 이제 해당 인스턴스는 SSH와 HTTP를 통해서 접근이 가능하게 되었다.
9) 검토 및 시작 탭으로 넘어와 빠진 설정이 있나 확인한 뒤, 이상이 없다면 시작하기를 누른다. 그렇다면 키 페어 관련된 모달 창이 나온다.
새 키 페어 생성을 선택한 뒤 키 페어 이름을 입력한다. 입력한 것은 그저 키 페어의 이름일 뿐이다. 키 페어 다운로드를 누른 뒤에 얻게 되는 파일이 중요하다. 앞으로 이 키 페어 파일을 통해서 인스턴스에 접근하게 될 것이다. 한번 다운로드 받으면 다시는 다운로드 할 수 없기 때문에 보관에 주의해야 한다.
10) 인스턴스 생성이 시작되었다. 길어도 5분을 넘지 않는 시간이 소요된다. 이제 인스턴스가 생성될 것이니 원격으로 제어하기 위한 준비를 해보자.
11) windows에서 SSH 프로토콜을 통해 우분투 인스턴스를 통제하기 위해서는 PuTTY라는 프로그램이 필요하다. 위의 링크를 통해서 putty-64bit-0.74-installer.msi 파일을 다운받자.
12) 다운받은 폴더에서 PuTTYgen 파일을 실행한다.
13) Load 버튼을 누르고,
14) 다운로드 받았던 키 페어 파일을 선택한다. 만약 .pem 파일이 보이지 않는다면 파일 형식을 All Files로 되어있는지 확인해야한다.
15) 성공적으로 입력되었습니다.
16) Save private key 버튼을 클릭합니다.
17) passphrase를 설정하지 않았다고 경고 메시지가 나옵니다. passphrase는 SSH 키에 대한 암호를 이중으로 하고 싶다면 사용을 입력하는 설정입니다.
18) 이제 PuTTY 프로그램을 실행합니다. Connection - SSH - Auth 탭으로 이동한 뒤, Browse 버튼을 눌러 PuTTYgen을 통해 생성한 .ppk 파일을 입력합니다.
19) 다시 Session 탭으로 넘어옵니다. Host Name 칸에 접속할 인스턴스의 퍼블릭 IPv4 DNS 주소 값을 입력합니다. 이제Open을 누르면 접속할 수 있습니다. Save, Load 버튼을 통해 해당 정보들을 재사용할 수 있습니다.
20) 예를 선택하여 Private key를 적용합니다.
21) 인스턴스에 접속되었습니다. root로 로그인하기 위해 ubuntu를 입력합니다.
22) 이로써 회원가입 - EC2 인스턴스 생성 - PuTTY를 이용하여 우분투 인스턴스에 접속하기를 완료하였습니다.
'AWS' 카테고리의 다른 글
[AWS 5] EC2 인스턴스와 RDS 데이터베이스 연동하기 (0) | 2021.01.16 |
---|---|
[AWS 4] S3 서비스 적용하기 (0) | 2021.01.15 |
[AWS 3] git, node.js 환경 구축하기 (0) | 2021.01.15 |
[AWS 1] AWS(Amazon Web Service) 개요 (0) | 2021.01.14 |
[AWS 0] 프로젝트 개요 (1) | 2021.01.13 |