[클립명]
1. AWS 개요
2. Window 서버 접속
3. Mac 서버 접속

나는 현재 네이버 클라우드 서버를 사용 중인데, AWS로 바꿔야 하지 않을까 하는 막연한 생각만 하고 있는 중이다. 워낙에 AWS가 대세이기도 하고, AWS 자격증까지 있으니...
구글링해보면 구글 클라우드, MS 애져, 네이버 클라우드, AWS에 대한 비교글이 좀 보이는데, 관심있다면 한 번 찾아보는 것도 좋을 것 같다.
■ AWS 배포 강의 구성
패스트캠퍼스 Node 웹 프로그래밍 올인원 패키지 강의에는 AWS 배포 관련된 강의 클립이 있다.
강의는 아래와 같이 구성되어 있다. AWS에 무료 계정을 생성하고 EC2 서비스를 이용하여 서버를 구성하고 소스를 업로드하여 서비스를 배포하는 과정이다.
- AWS 개요
- Windows 서버 접속
- Max 서버 접속
- Node.js 설치
- MySQL RDS
- 소스파일 업로드
- Nginx 설치 및 배포완료
이번에는 강의를 보면서 AWS에 서비스를 배포해보자!
■ AWS 무료 계정 생성하기
AWS 무료 계정을 생성한다. 구글에 'AWS Free Tier' 를 검색하거나 무료계정생성 페이지로 이동한다.

웹페이지의 내용을 잘 읽어보면서 무료 계정 생성 절차를 쭉 진행하면 된다.
중간중간 '리전'을 선택해야 하는데, '대한민국'을 선택하면 된다. 신용카드 정보를 입력하는 과정도 있다.
프리 티어 계정은 아래와 같은 무료 혜택이 주어진다. ( 요금표 보기 )

■ EC2
EC2는 'Elastic Compute Cloud'의 약자로서, 아마존이 전세계의 데이터센터에 구축해놓은 서버를 원격으로 임대하여 사용할 수 있도록 해주는 AWS의 대표적인 서비스이다. 프리 티어 계정에서는 월별 750시간씩 12개월 동안 무료로 사용할 수 있다.
계정 생성 완료 후, AWS 관리 콘솔 페이지에 접속한 후에, 우측 상단에 지역을 '서울'로 바꿔준다.
검색창에 'EC2' 검색하여 선택하면, 아래와 같이 EC2 콘솔화면이 나온다. 지역을 서울로 변경하고, 인스턴스 시작 버튼을 클릭한다.

■ 단계 1. AMI (Amazon Machine Image) 선택
이제부터가 진짜 EC2 설정의 시작이다. EC2 서버는 리눅스, Ubuntu, 윈도우 등의 OS를 선택할 수 있다. 강의에서는 Ubuntu 서버를 선택하여 진행하기 떄문에 나도 Ubuntu를 선택한.

■ 단계 2. 인스턴스 유형 선택
쉽게 말해서 서버의 스펙을 설정하는 단계이다. 프리 티어에서는 선택할 수 있는 것은, CPU는 1개이고 메모리는 1GB인
t2.micro 한 개 뿐이다. '다음:인스턴스 세부 정보 구성' 버튼을 클릭한다.

■ 단계 3. 인스턴스 구성
여기는 그냥 다음 단계로 패스하자!

■ 단계 4. 스토리지 추가
서버에서 사용할 스토리지(저장공간)를 추가한다. 프리티어는 30GB까지 무료로 제공되므로, 30GB로 설정한다.
- SSD종류 : 범용과 provisioning이 있는데, provisioning SSD는 속도를 직접 설정할 수 있지만 속도만큼 비용이 많이 발생할 수 있으므로 범용으로 하자.
- 종료시 삭제 : 인스턴스 종료 시 스토리지 자동 삭제 옵션이다. 선택 안하면 나중에 비용이 발생할 수 있으니 체크!

■ 단계 5. 태그 추가
인스턴스의 목적, 용도 등을 기록하여 인스턴스를 구분하기 위한 설정 페이지이다. 간단히 적고 다음 단계로 넘어가자.

■ 단계 6. 보안 그룹 구성
현재 생성하고 있는 서버 인스턴스에 접속 권한 및 규칙을 설정할 수 있는 페이지다.
아래의 설정은 해당 서버의 SSH 접속은 22번 포트로 가능하고, 접속하는 IP는 어떤 IP(0.0.0.0/0)라도 가능하도록 설정한 것이다.
SSH 접속은 인스턴스의 각종 설정/관리를 위해 서버 담당자만 접속해야 하므로 서버 담당자의 IP나 사무실의 IP에서만 접속이 가능하도록 설정해두는 것이 필수다.
그리고 서비스하고자 하는 웹애플리케이션이 사용하는 포트(주로 3000, 8080, 80)들은 어떤 IP에서도 접속이 가능하도록 설정해둬야만 일반 이용자들이 서비스를 이용할 수 있다.

■ 단계 7. 검토
자신이 선택한 인스턴스 및 각종 설정들이 맞는지 최종 검토하는 페이지이다. 이전 단계인 보안그룹 설정에서 어떤 IP에서도 모두 접속이 가능하도록 설정해뒀더니, 인스턴스 보안을 개선하라는 경고 문구가 출력되어 있는 것을 볼 수 있다. 테스트 서버이므로 일단 무시하고 진행하자.

■ 키파일 생성
서버 인스턴스에 SSH로 접속 시 인증을 하기 위한 키파일을 생성한다. 아이디/패스워드 방식이 아니라 키파일을 보유하고 있는 사용자만 서버에 접속이 가능하므로 보안 측면에서 더 강화된 방법이다.
'새 키 페어 생성'을 선택하고, 키 페어 이름에 test.pem 이라고 입력한다. (반드시 test.pem 으로 명명할 필요는 없음)

[키 페어 다운로드] 버튼을 클릭하여 키파일을 다운로드 받아서, 윈도우 사용자라면 아래 경로에 해당 파일을 복사하자.
- C:\Users\{자신의USER명}\.ssh
■ .ssh 이름으로 폴더 생성 시 앞에 .이 있어서 오류가 나므로 ' .ssh. ' 으로 생성하면 된다. (마지막 . 부호 자동 삭제됨)
개인키 파일은 절대 재발급이 되지 않으므로, 별도로 백업받아두는 것이 중요하다.
인스턴스 시작 버튼을 클릭하여 서버를 구동시킨다.
EC2 콘솔 페이지에 내 서버 인스턴스가 '실행중' 상태로 보이는 것을 확인할 수 있다.

여기까지 문제없이 완료했다면, AWS의 EC2 인스턴스 1개를 정상적으로 생성한 것이다.
즉, 내 AWS 서버가 1개 생겼다는 것이다.
휴, 이제 이 서버에다가 이것저것 연습해봐야지!
'Dev > Node' 카테고리의 다른 글
| [NODE 강의] Semantic Versioning (제품 버전 관리) (0) | 2021.05.02 |
|---|---|
| [NODE 강의] Redis (0) | 2021.04.13 |
| [NODE 강의] GraphQL 데이터 CRUD (0) | 2021.04.03 |
| [NODE 강의] GraphQL (0) | 2021.04.01 |
| [NODE 강의] 크롤링 (Crawling) - 배송위치 추적 (0) | 2021.03.27 |