일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 보드게임점수
- 휴식
- 부천파티룸
- 코딩
- 옥길요거트
- 구로파티룸
- 옥길파티룸
- 개발자
- 보드게임점수계산
- 가장존경하는인물
- mysql
- 웹개발
- 그릭요거트
- 광명파티룸
- 스컬킹점수
- 부천공간대여
- 스컬킹점수계산
- 해외여행
- MBTI
- 옥길그릭요거트
- 착한코딩
- 취미
- 스페이스우일
- 옥길동요거트
- 서울파티룸
- 존경하는위인
- 파티룸
- 스컬킹
- 옥길동파티룸
- 일
- Today
- Total
SIMPLE & UNIQUE
3-2강 : AWS 웹 서버 인스턴스 생성, SFTP & SSH 연결 본문
3_2 목표 : 개발한 프로젝트를 AWS서버에 배포하기 위해, EC2서버 인스턴스를 생성한다. EC2서버에 파일을 직접 올릴 수 있는 FTP와, 명령어를 실행할 수 있는 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
설치 후 아래 화면과 같이, [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
강의 문의 : ljung5@naver.com
'탈잉 강의 자료 > 2020_비전공자도 가능한 웹 프로젝트' 카테고리의 다른 글
3-4강 : 배치(스케줄러) 구현, EC2서버에 배포 (0) | 2020.08.03 |
---|---|
3-3강 : EC2서버에 NODE 설치, 서버 구동 후 외부 접속 (0) | 2020.08.03 |
3-1강 : 삭제 기능 구현, ALERT 패키지 사용, GITHUB 사용 (0) | 2020.08.03 |
2-5강 : 수정 페이지 구현, UPDATE쿼리 실행 (0) | 2020.08.02 |
2-4강 : 파일, 이미지 업로드 구현 (0) | 2020.08.01 |