위코드 3개월 과정을 마치고, 아쉬움이 남은 2차 프로젝트를 리팩토링 하기로 했다.
AWS를 통해 배포도 진행하여 프로젝트 라이프 사이클을 전체적으로 경험하려고 한다.
프로젝트 라이프 사이클
"Envisioning(비전 제시), Planning(계획), Developing(개발), Stabilizing(안정화), Deploying(배포)"
출처: 마이크로소프트 MSF 방법론
오늘 AWS EC2를 통해 일정 한도까지 무료로 사용할 수 있는 프리 티어 서비스를 구매하고 배포를 진행하려고 했는데, 아무리 설명서를 읽어봐도 어떤 기준과 내용이 있는지 잘 이해가 되지 않는다.
기업에 입사를 지원하며 포트폴리오를 제출할 때 배포한 사이트도 함께 소개하고 싶은데 여러 명이 동시접속할 수 있는지도 잘 확인되지 않고, 3일 정도 리팩토링을 진행하면서 사이트에 20시간 정도 접속할 것 같은데 이 경우에 과금이 되는지도 잘 감이 오지 않는다.
그래서 생활코딩에서 간략하게 AWS에 대해 이해하고, AWS EC2로 프론트엔드 코드 배포하는 법 및 AWS로 배포한 서버와 연결하는 법 등에 대해 알아보고자 한다.
클라우드 컴퓨팅의 대표적인 서비스로 아마존 사에서 운영한다.
AWS의 대표적인 상품이다. 마치 독립된 컴퓨터 한 대를 통채로 임대해주는 것과 같은 서비스를 제공한다.
"AWS 프리 티어에는 1년간 매달 750시간의 Linux 및 Windows t2.micro 인스턴스(t2.micro가 제공되지 않는 리전의 경우 t3.micro) 사용 시간이 포함됩니다. 프리 티어를 계속 유지하려면 EC2 마이크로 인스턴스만 사용하십시오."
출처: aws homepage
Instance에 대한 설명이며, Key + Value 로 이루어져있다.
사람들이 내가 생성한 Instance에 접속할 수 있는 것을 허용하거나 막는 기능이다.
Instance에 접속하는 방식은 원격접속이다.
Instance를 생성하는 단계 중 Security Group에서 '나의 Instance로 네트워크를 통해 접속하는 방법을 제한'할 수 있다.
SSH은 Unix 계열에서 사용하는 원격제어 방법이다.
모든 SSH의 접속을 다 허용하고 싶으면 Anywhere, 내 IP 주소에서만 접속을 허용하고 싶으면 My IP를 선택한다.
Instance에 네트워크를 통해 접속할 때 사용할 비밀번호를 지정할 수 있다.
굉장히 복잡한 key pair를 사용하여 Instance를 공격으로부터 보호한다.
최초 발급 시에만 알려주고, 그 이후 다시는 알려주지 않는다. 이 비밀번호가 없으면 다시는 나의 Instance에 접속할 수 없기 때문에 꼭 소중히 보관하자.
cd desktop/wecode/aws_pem2
ssh -i project_wellie.pem ubuntu@퍼블릭 IPv4 주소
-> 인스턴스 재 시작하면, 퍼블릭 IPv4 주소 새로 확인하고 접속하기.cd wellie_project
node frontend_server.js &
퍼블릭 IPv4 주소:8000