관리 메뉴

SIMPLE & UNIQUE

4회차_1강 : EC2 서버 인스턴스를 생성하고, SFTP, SSH 을 사용할 수 있게 세팅한다. 본문

탈잉 강의 자료/react.js(프론트) + node.js(백앤드) 개발에서 배포까지

4회차_1강 : EC2 서버 인스턴스를 생성하고, SFTP, SSH 을 사용할 수 있게 세팅한다.

착한코딩 2020. 1. 22. 21:01

4_1 목표 : t2.micro 프리티어로 인스턴스를 생성하고, mobaXterm을 설치해 SFTP, SSH로 서버경로에 접속한다.

 

1. ec2 t2.micro 인스턴스를 생성한다.

  2회차에서 AWS 가입을 하고 RDS 인스턴스를 생성했다. ec2 서버도 마찬가지로 1년동안 무료로 사용할 수 있는 t2.micro(프리티어) 서버를 생성할 것이다. 2회차때 가입한 계정으로 로그인한 후, EC2 대시 보드로 접속한다.

인스턴스 시작 버튼을 누른다.

단계1) 에서 ubuntu 18.04 버전을 선택한다.

단계2) 에서 t2.micro 프리티어 버전을 선택 후, [다음:인스턴스 세부 정보 구성] 버튼을 클릭한다.

단계3) 은 초기값 그대로 수정하지 않고 [다음] 버튼을 누른다.

단계4) 도 초기값 그대로 수정하지 않고 [다음] 버튼을 누른다.

단계5) 도 초기값 그대로 수정하지 않고 [다음] 버튼을 누른다.

 

단계6) 보안 그룹에서는 서버에서 사용할 포트를 지정해 줄 수 있다.
  노트 5000포트는 프록시로 서버 내부에서 관리할 것이기 때문에, 리엑트 포트인 3000만 외부에서 접속 가능하도록 추가해준다. 입력 후 [검토 및 시작] 버튼을 누른다.


## 참고 ##

  80 포트는 포트 없이 사용하겠다는 설정인데, 나중에 도메인 주소를 서버 ip에 연결하려면 포트가 없어야 하기 때문에 그때를 대비해 미리 80포트도 추가해 주었다.
   3000포트를 사용하더라도 erb(로드밸런싱)을 이용하면 도메인 주소를 연결할 수 있다. erb는 과금이 되기 때문에, 접속자수가 증가에 로그밸런싱이 필요한 경우가 아니라면 80포트를 사용하는게 경제적이다.

단계7) 인스턴스 시작 검토 단계에서 [시작하기] 버튼을 누르면 아래와 같은 팝업이 뜬다. [새 키 페어 생성]을 누르고 원하는 이름으로 키 이름을 지어준다. 그리고 키 페어를 다운로드한다.
## 참고 ##

  키페어는 이때 딱 1번 파일로 다운받을 수 있다. 잃어버리지 않도록 보관하고, 외부에 유출되지 않도록 관리한다. 키페어가 있어야 서버경로에 sftp로 파일을 옮기고, ssh로 터미널에 접속할 수 있다.  

키페어 다운 후, [인스턴스 시작] 버튼을 누르면 아래 화면과 같이 인스턴스가 생성되는 것을 확인할 수 있다.

 

생성이 완료되면 인스턴스 상태가 running이 된다.

 

위에 인스턴스 [설명]탭을 보면 탄력적 IP가 비어있는데, 왼쪽 메뉴들 중 [네트원크 및 보안] > [탄력적 IP]를 클릭한다.

## 참고 ##

  탄력적 IP란 고정으로 사용할 수 있는 IP를 말한다. 위에 이미지에서 IPv4 퍼블릭 IP가 외부에서 서버에 접속 가능한 ip인데 서버를 재시작할 때마다 바뀐다. 이때 불편한점은 SFTP나 SSH로 접속할 때 IP를 계속 바꿔줘야하고, 도메인 주소를 연결한 상태라면 도메인에 연결되는 IP도 계속 수정해야한다. 
  이러한 상황을 만들지 않기 위해서 변하지않는 탄력적 IP를 생성해 인스턴스에 연결해 주는 것이다.

 

아래와 같이 선택하고 [할당] 버튼을 누른다.

 

 

생성된 줄의 첫 컬럼 체크박스에 체크하고, [작업] > [탄력적 IP 주소 연결] 버튼을 누른다.

 

 

이제 탄련적 IP에 EC2 인스턴스를 연결해줘야 하는데, 돋보기 버튼을 누르면 내가 갖고 있는 인스턴스 중 연결할 것을 선택 할 수 있다. 프라이빗 IP도 동일하다. 선택 후 [연결] 버튼을 누른다. 

 

 

다시 EC2 대시보드로 돌아오면 비어있던 탄력적 IP 값이 세팅된 것을 확인할 수 있다.

 

 

2. SFTP, SSH 접속

  1. 에서 아무것도 설치 하지 않은 EC2 서버 세팅이 끝났다. 이제 서버경로에 접근해 필요한 프로그램들을 설치하고, 소스파일을 업로드해야한다. 파일을 업로드할 땐 SFTP로 직접 압축된 파일을 전송할 것이고, 프로그램 설치나 서버 실행 등은 SSH로 터미널 접속 후 명령어로 진행할 것이다. 

 

SFTP와 SSH를 사용하기 위해 mobaXterm이라는 프로그램을 설치한다. (이미 사용하던 프로그램이 있다면 익숙한 것을 사용해도 된다.)

아래 경로에서 설치한다.

https://mobaxterm.mobatek.net/download.html

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

설치 후 아래 화면과 같이, [session] > [SFTP]를 선택한다. 

Remote host 에 탄력적 ip 주소, Username에 ubuntu를 작성한다.

그리고 Use private key를 체크해 다운받았던 키페어 파일을 업로드한다.

## 참고 ##

  Username에 ubuntu는 초기값이다. 새로운 이름과 패스워드를 추가할 수도 있지만, 여기서는 키페어를 절대 잃어버리지 않는다는 가정하에 초기값을 사용한다.

 

정상적으로 접속이 됬다면 서버 경로에 접근할 수 있다.
왼쪽이 로컬경로, 오른쪽이 서버의 /home/ubuntu 경로이다.

바탕화면에 있는 파일들을 손쉽게 드래그로 서버에 업로드 할 수 있다.

 

 

다음은 터미널에 접속하기위해 [SSH] 탭을 누른다.

Remote hose, username, private key까지 sftp와 동일하게 입력/업로드 해준다.

 

 

정상적으로 연결됬다면 아래 이미지와 같이 서버경로에 터미널로 접근할 수 있다.

아래 명령어로 root 권한으로 전환되는지 확인한다.

sudo su -

 

 

https://taling.me/Talent/Detail/19341

 

[2월/주말] REACT, NODE, MYSQL, AWS 개발부터 배포까지/ 따라하면 완성되는 웹프로젝트. | 탈잉

✔ 수업 목표 ⊙ Font-end(react), back-end(node), mysql 구조를 프레임워크화 한다. ⊙ SELECT, UPDATE, DELETE, INSERT를 각각 1세트씩 구현한다. (CRUD 세트를 참고해서 만들고 싶은 기능을 혼자 개발할 수 있어요) ⊙ AWS EC2 인스턴스를 생성하고, 서버에 접근하여 파일을 컨트롤 할 수 있다. ⊙ AWS RDS(mysql) 인스턴스를 생성하고, 필요한 테이블들을 관리할 수 있다. ✔ 제 수업만의

taling.me

 

Comments