AWS의 콘솔홈
으로 들어가서 우측 상단의 리전을 서울로 바꿔준다.
상단 검색창에 EC2
를 검색해서 들어간다.
EC2콘솔
에 들어와 보면 가장 먼저 인스턴스 시작
이라는 버튼이 눈에 띈다. 해당 버튼을 누르고 인스턴스 시작 드롭바
를 한번 더 누른다.
버튼을 누르게되면 다음과 같은 화면으로 들어오게된다. 생각보다 굉장히 간단하다. 오히려 생성하는 것은 elastic beanstalk
보다 간단했다.
이름 및 태그
- 내가 생성할 인스턴스의 이름을 정해준다. 태그는 추가하지 않아도 상관없다.
애플리케이션 및 OS 이미지
- 인스턴스라는 것은 클라우드 즉, 원격으로 컴퓨터를 빌려서 사용하는 것이기 때문에 그 컴퓨터에도 OS가 필요하다. 그 OS를 어떤 걸 선택할 것이냐하는 것이다. 보편적으로 사람들은 우분투
를 많이 사용하는 것 같다.
아래에서는 버전을 선택할 수 있다. 규모가 큰 프로젝트가 아니라면 비교적 최신이면서 프리티어 딱지가 붙은 것을 선택하는 것이 좋다. 그러면 무료로 사용할 수 있다. 다만 성능에는 제한이 있다.
인스턴스 유형
- 위에서 말한대로 인스턴스는 컴퓨터다. 컴퓨터의 유형을 선택하는 것이다. 이것 또한 프리티어인 것을 선택하면 된다.
키페어
- 인스턴스에 접근하기 위한 키를 발급받는다고 생각하면 된다. 키가 없다면 키생성을 눌러 생성한다. (생성시에는 키페어 유형:RSA, 프라이빗 키 파일형식 .pem을 선택하면 된다.) 생성을 완료하였다면 .pem이라는 확장자를 가진 파일하나가 내 컴퓨터에 저장될 것이다. 그것의 위치를 일단 잘 기억해둬야한다. 그리고 원래의 화면들어 돌아와 생성한 키를 선택한다.
네트워크 설정
: 특별히 수정해줄 것은 없다. HTTPS, HTTP허용같은 설정들은 뒤에서 따로 설정을 해줄 것이으로 그냥 넘어가면 된다.
이 중에서 조금 눈여거 볼만한 것은 보안그룹(방화벽)이다. 여기에서는 방화벽이라고 적혀있어서 어떤 역할인지 이해가 되지만, 인스턴스 콘솔의 전반적인 곳에서 보안그룹
이라는 단어로 블리우므로 이 단어를 기억해두자. 보안그룹의 역할은 외부로 부터의 접근을 막는 것이다.(인스턴스의 기준에서 보면 지금 나의 컴퓨터도 외부다.) 위치무관 0.0.0.0/0은 모든 IP 대역의 외부 접근을 허용하겠다는 의미다. 보안상으로는 특정 IP만 접근할 수 있도록 하는 것이 좋다. 지금은 일단 생성이 주된 목적이므로 그대로 진행한다.
스토리지 구성
: GiB는 기가바이트를 의미하고, 루트 볼륨은 root Disk를 의미한다. 용량
은 프리티어는 최대 30기가까지 사용할 수 있으므로 30으로 하고, 루트 볼륨
은 초기값 그대로 진행한다.
고급 세부 정보
: 말그대로 고급 정보이므로 현재단계에서는 해당사항이 없다.
이렇게 설정을 완료했으면 우측에 설정 요약
를 확인하고 이상이 없으면 인스턴스 시작을 눌러준다.
완료가 되면 아래와 같이 인스턴스가 생성된다. 인스턴스 아이디를 들어 인스턴스에 대한 자세한 사항을 확인한다.
퍼플릭 IPv4 주소
: 외부에서 접근할 수 있는 아이피프라이빗 IPv4 주소
: 감춰져있는 IP로 이걸로 외부에서 접근할 순 없다.탄력적 아이피 주소
: 탄력적 아이피를 설정해 주지않으면 퍼블릭IP주소가 계속 바뀐다. 그러므로 좌측 메뉴에서 탄력전 IP항목을 찾아 적용해 줘야한다.우측 상단의 연결
버튼을 누르면 인스턴스에 진입할 수 있는 다양한 방식을 제공하고 있다. 나는 그중에 아까 발급받은 .pem 키로 접근가능한 SSH 클라이언트
방식을 사용할 것이다.
.pem 키로 인스턴스에 접근하는 방법은 다음과 같다.
1. 터미널에서 .pem 있는 디렉토리로 이동한다.
2. 위 사진에서 (검게 색칠되어있는 곳) 명령어를 복사해서 터미널에 붙여넣고 엔터를 누른다.
3. 끝
매우 간단하다. 이제 초기 설정을 해주기 위해 몇가지를 확인하고 필요한 것을 설치한다.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install npm -y
npm -v
node -v
여기까지 기본적인 초기 설정 과정이다.
이후 필요에 따라 도메인을 등록
해주거나 https를 적용
하거나 NginX로 리버스프록시를 구성
한 뒤 pm2를 통해 프로젝트를 배포
할 수 있다. 이에 대한 설명은 아래 링크를 참고바란다.
도메인 등록 => https 적용 => Nginx 설정 => 프로젝트 배포