본문 바로가기

AWS

[AWS] 6. EC2

EC2



EC2는 AWS의 가장 기본적인 서비스 중 하나이다. 서버 컴퓨터를 하나 빌려서 프로그램들을 설치하고 사용하면 된다.


EC2 만들기


물론 추후엔 EB를 통해 통합적으로 관리하지만, 우선은 하나의 EC2를 어떻게 만들어가는지 알아보자.


EC2 접속 > 인스턴스 시작

  1. AMI(Amazon Machine Image)선택 - 원하는 AMI 선택, ubuntu를 가장 많이 쓰며, 18.04LTS 선택 / 만약 먼저 생성해 둔 AMI가 있다면, 해당 AMI선택
  2. 인스턴스 유형 선택 - 성능에 따라 과금 다름, 프리티어 선택
  3. 인스턴스 구성
  4. 스토리지 추가
  5. 태그 추가
  6. 보안 그룹 구성 - 포트와 소스 등 지정, 지금은 22번 포트로 들어오는 모든 대역대를 허용 / 22번 포트는 SSH 프로토콜 포트
  7. 검토 - 시작하기 클릭
  8. 키페어 선택 및 생성 - 웬만하면 키페어를 다운로드 받아 사용 / 다운 받은 키페어는 잘 보관하다.

이제 발급받은 SSH를 이용하여 인스턴스에 접속 할 수 있다.


mac인 경우

$ sudo chmod 400 받은키페어를끌어다놓기 # 권한 설정
$ ssh -i 받은키페어를끌어다놓기 ubuntu@퍼블릭 IPv4 주소
$ yes

windows인 경우

$ ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피
$ yes

python 이라는 명령어로 3 버전 이상을 실행하도록 하는 명령어

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

리눅스 패키지 설치

# pip3 설치
$ sudo apt-get update
$ sudo apt-get install -y python3-pip

# 버전 확인
$ pip3 --version

# pip3 대신 pip 라고 입력하기 위한 명령어
# 아래 명령어를 입력하면 pip 라고 쳐도 pip3를 작동시킬 수 있다.
$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

# 파이썬 개발에 필요한 라이브러리 설치
$ pip install flask boto3 flask-cors

git 연동

$ git --version # 제대로 설치되어있는지 확인
$ git clone https://github.com/Lukaid/lukaid-aws-back.git # 본인 repo주소

위의 진행을 쭉 따라왔다면, 하나의 EC2 인스턴스에 환경설정, 패키지 설치, 내 프로젝트 다운로드가 끝났다. 이제 EC2에서 내 서버를 돌릴 수 있는데 그 전에 몇가지 설정을 해줘야 한다. 우선 인스턴스 보안 설정하기다.


  1. AWS에서 자신의 인스턴스로 접속
  2. 보안
  3. 보안 그룹
  4. Edit inbound rules
  5. 규칙 추가 후 사용자 지정 TCP, 5000번 포트
  6. 규칙 저장

근데 Linux shell을 닫으면 연결이 끊어지면서 서버가 종료된다. 이를 방지하기 위해 백그라운드 실행을 해주자.


$ nohup python app.py &

이제 shell을 종료해도 인스턴스가 종료되지 않는다.

'AWS' 카테고리의 다른 글

[AWS] 8. ElasticBeanstalk (EB)  (0) 2021.10.11
[AWS] 7. ELB  (0) 2021.10.11
[AWS] 5. Github Actions를 통한 배포_front  (0) 2021.10.11
[AWS] 4. Amazon CloudFront  (0) 2021.10.11
[AWS] 3. Amazon SDK  (0) 2021.10.11