EC2
EC2는 AWS의 가장 기본적인 서비스 중 하나이다. 서버 컴퓨터를 하나 빌려서 프로그램들을 설치하고 사용하면 된다.
EC2 만들기
물론 추후엔 EB를 통해 통합적으로 관리하지만, 우선은 하나의 EC2를 어떻게 만들어가는지 알아보자.
EC2 접속 > 인스턴스 시작
- AMI(Amazon Machine Image)선택 - 원하는 AMI 선택, ubuntu를 가장 많이 쓰며, 18.04LTS 선택 / 만약 먼저 생성해 둔 AMI가 있다면, 해당 AMI선택
- 인스턴스 유형 선택 - 성능에 따라 과금 다름, 프리티어 선택
- 인스턴스 구성
- 스토리지 추가
- 태그 추가
- 보안 그룹 구성 - 포트와 소스 등 지정, 지금은 22번 포트로 들어오는 모든 대역대를 허용 / 22번 포트는 SSH 프로토콜 포트
- 검토 - 시작하기 클릭
- 키페어 선택 및 생성 - 웬만하면 키페어를 다운로드 받아 사용 / 다운 받은 키페어는 잘 보관하다.
이제 발급받은 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에서 내 서버를 돌릴 수 있는데 그 전에 몇가지 설정을 해줘야 한다. 우선 인스턴스 보안 설정하기다.
- AWS에서 자신의 인스턴스로 접속
- 보안
- 보안 그룹
- Edit inbound rules
- 규칙 추가 후 사용자 지정 TCP, 5000번 포트
- 규칙 저장
근데 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 |