My Profile Photo

DongChanS's blog


수학과 학생의 개발일지


AWS EC2 서버 설치 하기

설치 가이드

AWS서버 위에서 텔레그램 챗봇을 자동화하고싶어서 일단 AWS EC2 환경설정을 해보았습니다.

  1. AWS(Amazon Web Service)란?

    아마존 웹 서비스(Amazon Web Services; AWS)

    아마존닷컴이 제공하는 각종 원격 컴퓨팅 서비스(웹 서비스)

    다른 웹 사이트나 클라이언트측 응용 프로그램에 대해 온라인 서비스를 제공

    서비스의 상당수는 최종 사용자에 직접 공개되는 것이 아니고, 다른 개발자가 사용 가능한 기능을 제공하는 플랫폼 제공 (PaaS)

    각종 서비스는 REST 프로토콜 및 SOAP 프로토콜을 통해 접근, 이용 및 관리가 가능 비용은 실제 사용량에 따라 결정되며, 일부 서비스의 경우 미리 고정된 금액을 지불함

  2. AWS 계정 만들기

    계정 만들기 가이드를 참고하시면 됩니다.

    주소는 영어로 써야하는데, 이곳에서 자신의 영어 도로명주소를 찾을 수 있습니다.

  3. EC2 설정하기 (Amazon Elastic Compute Cloud (Amazon EC2))

    AWS 클라우드에서 확장식 컴퓨팅을 제공하는 기능

    • EC2의 장점

    하드웨어에 선투자 필요 없음

    빠르게 애플리케이션을 개발, 배포

    원하는 만큼 가상 서버를 구축, 보안 및 네트워크 구성, 스토리지 관리 가능

    트래픽 예측 필요성 줄어듬

    • EC2의 세부적인 기능 : 참고링크

    • EC2 셋팅 : 가이드

      1) 한국을 대상으로 하는 서비스라면 리전을 서울로 해야 빠르다고합니다.

      2) 사이드바 -> Instance -> Instance 생성

      Ubuntu Server(프리티어 사용 가능한 것, 현재는 18.04 LTS)

      3) EC2 Instance 생성이 끝나면 .pem 확장자(private key 형식)

      의 Private key를 발급받을 수 있다.

      (한글로 입력하면 안됩니다.)

      • 바로 접속은 안되므로 Instance State가 pending -> running으로 바뀔때까지 잠시 기다려줍시다.

      4) 우리는 Putty를 사용할건데, putty에서 사용하기 위해서 .pem를 .ppk로 변환해야한다.

  4. Putty 셋팅 참고링크

    1

    1) Session -> Host Name : ubuntu@퍼블릭 DNS(IPv4)

    2) SSH - Auth -> Private key PPK파일 주소 건네주기

    ​ -> 단, 파일위치가 바뀌면 안되기때문에 안정적인 디렉토리(ex: 루트디렉토리)를 만들어서 하는것을 추천.

    3) Session -> Saved Sessions : 세션이름(영어)로 아무거나 작성하고, Save

    4) 이제 컴퓨터를 꺼도 다시 이 셋팅으로 서버를 이용할 수 있다.

    2

    이제 우분투 터미널로 서버를 원격접속 할 수 있게 되었습니다!

    (번외) Mobaxterm을 이용해서 더 편한 UI로 서버를 다룰 수 있다!

    3

  5. FLASK를 활용한 파이썬 서버구축하기

    참고링크1참고링크2를 참고했습니다.

    • 항상 처음에는 업데이트하기

    • 파이썬 버전확인

    • pip (파이썬 라이브러리 설치를 도와주는 도구) 설치

    • virtualenv (원하는 파이썬 버전을 설정하는 도구) 설치

      작은 파이썬을 새로 설치해서 내가 원하는 모듈만 운용하는 바구니.

      운영체제 안에서 새로운 운영체제를 만들어내는 가상머신과 비슷한 개념이다.

    • virtualenv 이용하여 가상환경 설정

      ​ virtualenv –python python3 dongchan 이런식으로 버전을 명시해줘야 하는듯합니다.

      ​ source ./bin/activate : 가상환경실행

comments powered by Disqus