나무 숲

아마존 웹 서비스AWS EC2 웹서버 (1) 구축-연결 (무료!) 본문

Career/웹

아마존 웹 서비스AWS EC2 웹서버 (1) 구축-연결 (무료!)

wood.forest 2018. 7. 29. 13:08

아마존 웹 서비스AWS EC2 웹서버 구축-연결

ㅋㅋㅋㅋ..
어렵지 않은 내용인데 삽질로 인해 3일동안 붙잡고 있으면서 온갖 솔루션을 적용했고 인스턴스를 region별로 만들었으나 결국은 와이파이 문제였다. 몇십 번의 반복으로 인해 과정을 걍 다 외워버려서 복습 겸 작성.

aws 무료 서버 개발

AWS는 아마존에서 제공하는 클라우드 서버인데 종류도 아주매우 다양하지만 유료이고, 어쨌거나 기본 셋팅으로 1년동안 무료로 사용할 수 있는 루트가 있다.
나는 이걸 웹 서버용으로 만들기 위해 시작함.


1. 회원가입

여기서 가입 >> https://aws.amazon.com/ko/

가입하다보면 결제 가능한 카드 확인용으로 1달러를 결제하는 단계가 있는데 이게 실제로는 부과되지 않는 금액이라고 한다. 난 아직 돌려받진 못했지만.. 한달쯤 뒤에 오려나 싶다. 아 그리고 주소같은건 날려 써도 되는데 전화번호는 인증을 하기 때문에 제대로 써야함.


2. 인스턴스 생성

aws에서 생성 가능한 한 대의 서버를 인스턴스라고 부르는 듯. 인스턴스는 놀랍게도+감사하게도 여러 개 생성 가능하다.
만드는 방법은 아래와 같다.

ec2 접속 (웹 서버 역할을 할 수 있는 상품)


EC2 클릭



시작하기 클릭


필요하다면 지역 설정. (보통 국내에서는 서울/도쿄 많이 하는 듯)



인스턴스 생성-시작 클릭




인스턴스 설정


대부분 우분투나 센토스를 선택하더군요.

헌데 처음에 프리 티어 사용 가능이라고 되어있는 텐서플로 장착한 우분투 골랐더니 돈내라고 해서 그냥 다시 평범한 우분투 선택.



무료라고 되어있는 것 그대로 두고 검토 및 시작 하면 돈을 내야하는지 알려줌.

별말 없으면 무료이고 돈내야하는 커스텀을 골랐으면 창을 띄워준다.


여기에서 바로 보안 그룹을 설정할 수도 있긴 함

위에 저건 기본 설정되어 있는 security group

그리고 시작을 누르면




.pem확장자의 키를 다운받아야 한다. 그리고 시작!

(만약 돈 청구되거나 과금되면 이메일로 알려달라하는거 설정할 수 있음)





3. 인스턴스 설정 (보안 그룹)

사실 위 2번에서 만들던 와중에도 설정할 수 있..지만 수정하는 것을 연습 겸 여기서.


서버가 잘 돌아가고 있음. 하단에 나타난 인스턴스 정보들에서 퍼블릭DNS는 나중에 putty 연결할 때 또 씀.

왼쪽 메뉴 밑에 보안 그룹 클릭

launch-wizard-1이 우리가 만든 인스턴스 그룹 이름. (많이 만들어서 헷갈린다면 이 위에 스샷에서 해당 인스턴스 선택 시 하단 정보창에서 이름 확인 가능)

이걸 선택 후 인바운드 클릭.


웹 서버용으로 만든 거기 때문에 HTTP 추가하고 소스는 어디서나 접근으로 설정하면 목록이 자동으로 두개가 됨.  (포트 자동 할당)

첨부터 만들어져 있는 SSH는 보안을 위해 내 IP로 하라고 aws가 그랬음.
트래픽은.. 남들이 하길래.. 서버 접속 안될때 이것때문인가 해서 넣어본 것.



Putty로 서버 연결

삽질하던 중 xshall 비롯한 온갖 쉘프로그램 사용했으나 aws 공식 홈페이지에서도 가이드라인을 putty로 제공하기 때문에 이걸로.

putty를 사용하는 이유는 서버를 구성하는 우분투 리눅스를 원격으로 연결해서 사용하기 위함이다.

putty 설치는 이곳에서 >> https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html


1. 키 변경

.pem 확장자의 키를 .ppk확장자의 private key로 변경하는 과정이다.
putty를 통합설치하면 딸려있는 puttygen을 이용한다.



Load 클릭 - 모든 파일 - 아까 만들었던 .pem 키 선택



지 알아서 해주고 Save private key로 저장. (이름은 똑같이 하는게 편할..듯)


2. 설정 및 접속

여기>>https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html 를 참조하면 되기 때문에 우분투의 경우는 이렇다는 것을 간단하게만.
호스트 네임 ubuntu@(public dns)
SSH 포트22
SSH-Auth-아까 만든 .ppk 키 불러오기
편의를 위해 세션 저장 후 접속하면 처음에 무슨 경고창 같은게 뜨는데 살짝 쫄았으나 걍 확인 하면 그 이후로는 존나 잘 접속됨.





웹 서버(아파치) 설치

이제 할 일은 웹 서버로서 사용하기 위해 가장 익숙한.. 아파치를 설치한다.
putty로 연 콘솔창에 이것들을 입력한다.

sudo apt-get update
sudo apt-get install apache2

설치는 ㅈㄴ 빨리 되고 두번째 명령같은 경우 y/n를 물으니 멍때리다 엔터 쳐주면 됨.

이제 퍼블릭 dns를 주소창에 쳐넣으면 아래와 같은 창이 뜬다. 웹서버 간단 완성!! 이제 관리만 하면 된다.



.
.
.

그리고 aws 접속 과정의 에러에 대해.

나같은 경우 처음엔 timeout 에러를 먹다가 connection refused에 점령당했었는데, 그 과정에서 얻은 몇 가지 솔루션들.



  1. 와이파이 (와이파이를 바꿔 보세요. ssh 서버 접속을 학교 말고 집에서 해보세요.)

  2. 보안 그룹 인바운드 체크 (제대로 필요한거 다 되어있는지)

  3. 라우팅 테이블 체크 (인터넷 게이트웨이 제대로 연결되어있는지.. 근데 사실 이건 기본적으로 알아서 설정되는거라 큰 문제는 없을 거 같은데)

  4. 컴의 방화벽 체크 (SSH 연결 등을 할 때 방화벽 인바운드/아웃바운드에 22포트가 허용되어 있는지 확인해야 하는데 그 많은 목록들 중에 확인하긴 어려우니 걍 목록에 추가하면 됨. 근데 이것도 문제가 될 경우는 적은 것 같다.)



지금 당장은 다른 것들이 생각 안나는데 aws 지원 센터에 내 문제로 넣은 문의에 대해 답변받은, 추천 솔루션 링크들을 첨부.


+) 그 외로 아예 처음부터 접속이 안되는 게 아닌, 되었는데 안된다거나 되었다 말았다 하거나 터미널은 되는데 브라우저는 안되거나 이런 경우 ping 등등으로 확인을 해보거나 웹서버에 올린 프로그램에 대해 확인을 해보라고 합니다.


728x90
반응형
Comments