[TIL] 220426

Moon·2022년 4월 26일

VPC

AWS계정을 만들면 기본적으로 외부 인터넷과 연동된 디폴트 VPC가 하나 생성된다.

  • IPV4 CIDR : IP의 범위를 지정하는 방법
    EX) 172.31.0.0/16 -> IP의 범위는 172.313.00~172.31.255.255로 지정된다.

서브넷

연결되는 서버 컴퓨팅 자원들에 내부IP를 할당한다.

  • igw (인터넷 게이트 웨이) : VPC를 igw와 연결되면 외부랑 연결된다.

👉 VPC는 AWS의 네트워크 안에서 논리적 네트워크 요소이다.
네트워크적으로 볼 때 클라우드 네트워크 안에 또 논리적으로 내 네트워크를 만들 수 있는 방법.

보안그룹

보안그룹 = 방화벽

  • 인바운드 규칙 - 내 리소스로 들어오는 트래픽에 대한 포트
  • 아웃바운드 규칙 - 내가 어떤 api를 호출할 때 나가는 포트

백엔드 구성해보기

EC2

AWS EC2 공식문서 - https://docs.aws.amazon.com/ec2/?id=docs_gateway

  • Amazon Elastic Computer Cloud
  • 인스턴스라고도 하며 홈페이지를 사용할 때의 서버라고 보면 된다. (클라우드 가상 서버)

퍼블릭 IPv4 주소:5000 (5000번 포트로 접속) - 보안그룹에서 5000번 포트 추가해주기!

EC2+ELB

ELB : 여러 대의 EC2를 묶어서 사용하기 위한 서비스.Elastic load Balancer

서버의 트래픽 용량을 증설할 수 있는 방법 : EC2 앞에 ELB 연결하는 것

ELB 검색 > 로드밸런서 > 로드밸런서 생성 > Application Load Balancer 선택

ElasticBeanstalk 이용해보기

EC2를 직접적으로 사용하는 형태 중에 제일 편리하게 사용할 수 있다.

배포만 하면 EC2, AutoScaler, ELB같은 것들을 AWS상에서 설정으로 간단하게 조절할 수 있다. 개발자는 인프라를 떠나서 개발에만 집중할 수 있게 해준다.

모니터링하다가 트래픽이 많이 들어올 것 같으면 용량설정의 최소 인스턴스 개수를 늘려주면 실행중인 EC2 인스턴스가 늘어난다.

Git Action으로 배포

CORS (Cross-Original domain)

cors = CORS(application, resources={r"/*": {"origins": "*"}})

백엔드에서는 EB로만 배포하면 되기 때문에 ACCESS_KEY랑 AWS_SECRET_ACCESS_KEY만 필요하다. 우선 settings > Action Secrets에 키를 넣어준다.

EB는 소스만 배포하면 자동으로 배포되고 Auto Scaling도 되기 때문에 편하게 쓸 수 있다. 라이브러리 설치도 알아서 하기 때문에 설치할 라이브러리 목록을 만들어서 레퍼지토리에 포함시켜야 한다.

  • 가상환경 만들어주기
    settings > Python Interpreter > 톱니바퀴 > add > 가상환경 만들기

  • 터미널에 명령어 입력 -> 라이브러리 목록 만들기

 pip freeze > requirements.txt
 pip install boto3 flask flask_cors 

request.txt 파일이 생기면 다시

pip freeze > requirements.txt

라이브러리 목록이 생긴다.

front 때와 마찬가지로 commit과 push를 해주면 Git Action이 생성된 것을 확인할 수 있다.

profile
매일 성장하는 개발자 되기😊

0개의 댓글