현재 재직중인 회사에서 EC2와 nginX를 이용해서 서비스를 배포하고 관리한다.
매번 서버나 배포쪽은 나몰라라 하고 언젠간 공부하겠지라는 무책임을 벗어나고자
리액트로 만든 프로젝트를 nginx로 EC2에서 배포하는 demo trial을 해보자 한다.
사전에 리서치를 하다보니 EC2 인스턴스 생성, nginX의 방식 등 모르는 부분이 너무 많았을 뿐더러
그 모든것들을 정리하고 싶지만 사실상 설정은 내가 건드는 것도 아니고 프론트 딴에서 배포함에 있어서
하나하나 다 알 필요가 없다는 한 블로거의 말을 전적으로 수용하여 (핑계)
간만한 설정-배포의 과정에 대해서만 정리해보도록 하자!
(매번 하는 말이지만 나중에 언젠간... 짬밥의 힘을 빌려 정리할 것이다.......아마도...)
아마존 aws에서는 다양한 서비스를 제공해주는데 너무 많기도 하고 이해하기도 어려웠다.
그래서 그냥 간단하게 설명하자면
예전에는 각 회사마다 서버실을 따로 두고 서버관리자가 그것을 관리하며 확장하거나 유지 또는 보수를 하였다.
이 서버실에 필요한 컴퓨터, 서버, 각종 하드웨어 및 서비스들을 아마존에서 가상 머신을 통해 제공해주고
우리는 그것을 원격으로 제어한다고 생각하고 넘어가기로 했다.
말 그대로 아마존의 서버실을 우리 전용으로 계약하여 빌리는 것이다.
여담으로 코딩과 프로그래밍을 배우며 느낀것이지만 영어라 더더욱 그렇겠지만 참 용어들이 어렵고 와닿지 않는다.
인스턴스라....
한번 살짝 만들어보니 그냥 서버용 컴퓨터를 한대 맞추는 것이였다. 다만 나에게 배송오지 않고 아마존에서 보유(?)하며 우리는 그냥 돈만 내고 모니터링하며 제어하는 것이다.
아마존 AWS로 가서 콘솔에 로그인을 하면 다음과 같은 창이 뜰 것이다.
그럼 클릭이라고 나와있는 EC2를 클릭하면 아래와 같은 화면이 나올 것이다.
뭐라뭐라 참 많은 내용이 나와있다. 하지만 걱정하지말자 우리는 몰라도 된다.(아직은 아마도)
그럼 클릭이라고 나와있는 인스턴스 시작을 눌러보자.
우리가 아마존한테 받을 가상 컴퓨터의 운영체제를 선택하는 것이다.
연습용이기에 무료로 사용 가능한 것을 선택할 것인데
프리티어 사용 가능이라고 적혀있는 운영체제는 무료로 사용이 가능하다.
그리고 이 운영체제에 대해서 무슨 기준으로 선택해야 하는지 리서치를 했지만
결국 연습용이기에 아무 의미가 없었고 나중에 접속할 때 방법이 조금 달라진다고 하니 그점만 유의해서
원하는 것을 고르면 된다.
나는 처음 EC2에 대해서 배울때 선택했던
Ubuntu Server 16.04 LTS (HVM)... 을 선택할 것이다. 아래와 같이.
아쉽(?)게도 무료로 사용하려면 하나의 선택지 밖에 없다.
인스턴스 유형이란 결국 우리가 아마존에서 맞추는 가상 컴퓨터의 사양을 세팅하는 것이다.
각각 유형 마다 사용 사례들이 있는데 추후 정말 서비스를 위해서 설정한다면 잘 읽어보고 맞는 인스턴스 유형을 선택하면 될 것 같다!
사진과 같이 선택하고 오른쪽 밑에 다음: 인스턴스 세부 정보 구성을 클릭하자
이 부분에 사실 많은 시간을 투자해서 알아보았다.
특히 서브넷과 퍼블릿 ip 자동 할당에 대해서 알아보았는데
현재 역량으로 완벽히 이해하기란 쉽지 않았다.
결국 무엇을 위해서 설정해야하는지 대충 알았지만
한 블로그에서 들어준 예가 사내용 인프라 서버였고
처음 EC2를 배울 때 내용으로 설정하였다.
기본적인 기본세팅은 위의 사진과 같고
실제로 많은 예제 블로그에서는 이 과정을 그냥 default값으로 설정하기도 한다.
하지만 내가 wecode에서 들은 세션에서는 다음과 같이 세팅을 권장하였고
정확한 이유는 기억이 나지 않지만 추후 알아내서 정리할 것이다.
적용한 설정은 서브넷 옵션들 중 2a로 끝나는 것을 클릭하고
퍼블릭 ip 자동 할당을 활성화로 바꿔주었다
스토리지 추가는 별로 건들것이 없는 설정임으로 그냥 넘어가고
태그 추가는 그냥 이 EC2에 대한 간단한 메모라고 생각하면 된다.
자유롭게 남겨주자.
key를 Name으로 설정하고 값은 자유롭게 정해주자.
보안과 관련된 설정을 하는 것인데 이 인스턴스에 접근하는, 권한과 관련된 설정을 하는 파트다.
네트워크를 통해서 누가 이 인스턴스에 접근할 수 있게 할 것인가, 어떤 방식의 접근만 허용하는지 설정하는 것이다.
먼저 나는 어느 ip든 무관하고 http와 ssh에 무관하게 접속이 가능한 웹 서비스를 배포하고 싶다.
그래서 아래와 같이 설정하였다.
그 후 다음 단계를 진행하면 여태까지 설정한 인스턴스 정보가 나올 것이고 시작하기를 누르면 키 설정이 나올 것이다.
아마 시작하기를 누르면 다음 사진과 같이 키 페어를 설정하는 창이 나올 것이다.
이는 쉽게 말하면 인스턴스의 비밀번호와도 같은 것이다.
좀 전에 설정한 보안 그룹 구성은 접속에 관한 이야기라면
이 키 페어는 인스턴스를 조작하고 제어하는 권한을 이 키로 설정하는 것이다.
다음과 같이 설정해보자.
키 페어 이름은 원하는 아무 이름이나 작성하고 키 페어 다운로드를 클릭하여 다운받자
그 후 인스턴스 시작을 누르면 끝!
다음편에 리액트 프로젝트 EC2로 띄워보기를 해보겠습니다!