2. EC2 서비스 생성 후 아마존이 관리하는 데스크탑(윈도우즈10) 부여받기(고정 아이피)
3. 그냥 쓰면 방화벽에 포트가 막혀있어서 서버를 못 열기 때문에 그 해결 과정 후 테스트까지.
(꼭 필요한 부분만 적어두고 나중에 점차 다듬어갈 게시글)
(아래 한번 스크롤 빠르게 내려서 필요한 부분만 보고 해결할 것을 추천)
(위쪽 과정은 다른 튜토리얼에서도 충분히 알 수 있는 내용임)
1. AWS 가입하면 아래와 같은 솔루션 구축 창이 뜬다. 이미 아이디가 있으면 서비스란 잘 찾아보면 있다.2. EC2 솔루션 구축을 시작하자. 아마존으로부터 고정 아이피를 가진 가상 컴퓨터를 부여받을 수 있다.
3. 윈도우즈에서 돌아가는 서버를 만들 것이기에 적당히 선택4. 다른 건 무료 아닌 것 같으므로 CPU1, 메모리1기가의 똥컴을 부여받는다. 선택 후 검토 및 시작을 하면5. 곧바로 7단계인 인스턴스 시작 검토로 넘어가는데, 여기서 보안 그룹 편집을 한번 하자. 6. 위와 같이 타 인터넷 환경에서 내가 사용하는 서비스에 접근 가능한 아이피와 포트를 설정 해 줄 수 있다.소스라고 되어있는 부분은 기본 모든 아이피에서 접근 가능하도록 되어있기 때문에 저렇게 놔두고, 필요한 유형(포트)을 오픈할 수 있도록 규칙 추가를 통해 위와 같이 추가 해 준다. 굳이 HTTP, HTTPS가 아니라도 필요한 포트가 있으면 더 추가해 주면 된다. 끝났다면 검토 및 시작.7. 인스턴스 시작하기8. 키 페어라는 게 있는데, 내가 생성한 인스턴스(컴퓨터)에 접근 가능하도록 패스워드같은 것. 적당히 이름을 지어 다운로드 후 잘 보존하자.9. 기존 사용하던 게 있다면 그대로 사용 가능10. 시작한 인스턴스 보기11. 인스턴스 상태가 준비중일 것이다. running이 되어 시간이 좀 지나면 연결이 가능하다. 아래의 '암호 가져오기'를 수행하는 데에 인스턴스 생성 후 5분정도 기다려야 되었던 것으로 기억.12. 켜져 있는 윈도우즈를 직접 관리하기 위해 원격 데스크톱 파일을 다운받는다.13. 요것.
14. 아까 만들어두었던 키를 불러와서 해독한다. 그러면 아래와 같이 암호를 알려줌.15. 만들어진 암호를 복사(Ctrl+C) 해 두고16. 아까 다운받아뒀던 원격 데스크톱 파일을 실행한다.17. 적당히 필요에 따라 체크박스도 체크 해 주면서 예 예 하면서 진행18. 위와 같이 실행된 데스크탑. 전체화면으로 안 해두면 좀 다루기 힘든 감이 있다. 원격 데스크톱 설정에서 화면 크기 75% 등으로도 설정 가능하니 전체화면이 힘들다면 참고.19. 지금까지 봐 왔던 튜토리얼은 여기서 끝낸다 ㅠㅠㅠ 이대로면 윈도우즈에서 서버를 열어도 방화벽에 막힌 포트때문에 작동하지 않으니 좀 더 힘내자. 대충 시작버튼 누르고 Windows Defender Firewall에 접근.20. 좌측 탭에 Advanced Settings에 들어간다.21. 아까 인스턴스를 만들면서 Inbound Rules(보안그룹 설정)을 진행했었으나, 내부에서도 설정을 통해 포트를 열어주어야 하는 시스템인 것 같다. 좌측 탭의 Inbound Rules를 눌러, 우측 탭에서 새 규칙 추가를 한다.22. 열어두고 싶은 포트를 적어서(위 예시에서는 HTTP:80, HTTPS:443) 다음으로 진행23. ㅇㅇ 다음24. ㅇㅇㅇ25. 적당히 이름이랑 설명 붙여서 끝낸다.26. 대략 설정은 위 과정에서 끝이다. 여기서부터는 테스트이므로 굳이 안 따라하셔도 된다... 설치된 인터넷 익스플로러를 켠 후 간단한 서버 구축에 필요한 NodeJS를 다운 받을 것이다. 위와 같은 경고창 계속 나오는데 ㅠㅠㅠ 적당히 모두 Close 해 주면서 진행했다. 어디 분명 끄는 게 있을 것인데 찾아보진 않았다.27. NodeJS 페이지에서 현재 추천 버전인 10.16.0을 받아주었다. 스크린샷에서는 좌측 초록색 직사각형 버튼. 설치까지 마친다.
28. 메모장을 열어 적당히 코드 작성 후 적당히 아무곳이나 저장 해 주었다.
위 예시에서는 HelloWeb.js로 저장하였다.
CMD를 열어 파일 위치로 cd 명령을 통해 접근 후 node 명령으로 해당 파일을 실행한다.
위 예시에서는 node HelloWeb.js 입력 후 엔터까지 눌러 준 상태이다.
인터넷 창을 열어 http://localhost:(포트번호)/ 입력으로 현재 내 컴퓨터에서 송출?하는 서버의 페이지를 확인할 수 있다.
(크롬이나 파이어폭스에서는 localhost:포트번호 만 입력해도 되지만 IE에서는 안되더라 ㅠㅠ)
localhost는 내 컴퓨터 주소에 접근하는 키워드.
코드 작성 시 8080포트로 통신하도록 써 두었었기 때문에 이대로라면 외부 IP에서는 접속할 수 없다. 그걸 어떻게 확인하느냐 하면
29. 우측 상단의 Public IP주소를 통해 접속해보는 것이다. localhost대신 위 아이피를 대신 입력하면 인터넷 환경을 경유하여 돌아오기 때문에 접속이 되지 않을 것이다. 때문에 아래와 같이 코드 수정을 한다.
30. 수정된 코드. 80은 HTTP로 사용되도록 설정된 기본 포트번호이기 때문에 'IP주소:80' 라고 입력해야 하는 것을 'IP주소' 이렇게 생략할 수 있다. 중요한 건 아니고..; 암튼 위와 같이 외부 IP에서도 접속이 가능하다는 것을 확인할 수 있고 이게 정말 된 것인가 신뢰가 가지 않는다면31. 정말로 다른 IP환경에서 접속해보면 된다. 실제 사용하는 데스크톱이든, 스마트폰이든.
본인은 여기까지 과정을 한번에 정리해 둔 한글 튜토리얼이 없었기 때문에, 정리 해 볼 겸 작성 해 두었다.