[0609] TIL 43일차

nikevapormax·2022년 6월 9일
0

TIL

목록 보기
43/116
post-custom-banner

😂 AWS 2주차

😭 백앤드 구성해보기

- EC2

  • Amazon Elastic Compute Cloud
  • EC2 생성하기
    • 해당 메뉴로 들어가 인스턴스 시작 클릭
    • 아래의 우분투 서버를 선택
    • 아래 사항을 선택 (이것은 서비스에 따라 천차만별로 달라짐!)
    • 나머지 뒤의 단계들은 본인의 니즈에 맞게 튜닝
    • 보안그룹도 설정할 수 있음
      • 22번 포트 : SSH의 포트이고, 기본적으로 이 부분이 열려있어야 서버에 접속해 무언가를 할 수 있음
      • 0.0.0.0/0 : 완전히 열려 있음
    • 본인이 설정한 내용 파악
    • 키페어를 생성하거나, 이미 있다면 아래와 같이 있는 키페어 사용
    • 인스턴스 시작을 누르면 인스턴스가 생성되고, 해당 인스턴스 확인 가능
  • 방금 전 설정했던 22번 포트를 확인하고 싶다면 아래와 같이 보안 - 보안그룹으로 들어가면 확인 가능
  • 보안 그룹으로 들어오면 아래와 같이 인바운드 규칙을 확인할 수 있으며, 다른 규칙 또는 태그 확인이 가능함
    • 우리가 아까 설정했던 22번 포트를 볼 수 있음
  • 이제 SSH를 사용해서 인스턴스(EC2)에 접속해보도록 하자..!
    • 빨간 박스가 쳐져있는 부분에서 키페어 부분에는 본인의 키페어를 끌어다 놓으면 되고, ubuntu@ 뒤에는 본인 EC2의 퍼블릭 IPv4 주소를 쓰면 됨

  • 리눅스 명령어 연습
  • iterm에서 리눅스 패키지 설치
# 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/nikevapormax/my-front
  • 이렇게 해서 레파지토리에 있는 app.py를 리눅스 명령어를 통해 실행할 수 있다.
python app.py
  • 이렇게 파일을 실행하고 퍼블릭 IPv4 주소:5000를 치게 되면 아마 들아가지지 않을 것이다.
  • 이때 보안그룹에 가서 다음과 같이 포트를 열어주어야 한다.

- ELB

  • Elastic Load Balancer

  • 장점

    • EC2의 성능이 부족한 경우 인스턴스 추가가 가능
    • 실제 서비스 제공 시 실시간 대응 가능
      • EC2의 경우 인스턴스 추가 시 시간이 걸림
  • ELB 생성

    • 검색창에 ELB 검색하면 로드 밸런서라는 메뉴 나옴

    • 로드 밸런서 생성 버튼 클릭

    • 우리는 application Load Balancer 사용

    • 아래와 같이 설정 진행
      - Internet-facing : 외부와 연결. 이 설정을 선택하면 웹 브라우저와 통신 가능
      - Internal : 내부 백앤드 서버에서 api 통신할 때 사용
      - VPC : 현재 VPC의 경우 하나밖에 없으므로 디폴트값 선택
      - Mappings : region을 선택하는 것이고, 보통 2개의 region을 선택해 오류가 나면 해결해 나가도록 한다고 함(a&c 또는 b&b)

  • 이러고 바로 맨 아래에 주황 버튼을 눌렀는데, 이 부분을 채우지 않아 넘어가지 못했다.

    • 현재 사진에서는 타겟 그룹이 생성되어 있지만 처음에는 없다
    • 빨간 박스 아래에 파란 글씨 Create target group을 눌러 타겟 그룹을 생성해보자
      - 빨간 박스의 내용들을 설정하면 되며, 포트번호가 5000번인 이유는 우리는 현재 5000번 플라스크 서버를 돌리고 싶기 때문이다.
      - 헬스 체크의 경우 건드린 부분 없음


  • 이렇게 하면 성공!

  • 아까 내가 만들었던 타겟 그룹 메뉴로 들어가서 헬스 체크 등의 정보를 확인할 수 있다. 현재 나는 백앤드 깃헙을 만들지 않아서 헬스 체크를 진행하지는 못해 건강하지 못하다.

- EC2 자동 추가

  • AMI 만들기
    • EC2 메뉴로 이동
    • 인스턴스 ID 우클릭 후 이미지 생성 클릭
    • 다음과 같이 이미지 생성
    • 이미지 메뉴의 AMI로 가서 확인해보면 생성되어 있는 것을 볼 수 있음
  • Auto Scaling 시작구성 만들기
    • 몇 대로 자동으로 늘릴지만 숫자를 설정해주면 알아서 늘려줌
    • 해당 메뉴로 들어가 설정
    • 시작 구성 생성을 눌러 생성 시작
      • AMI : 앞서 만들었던 이미지
      • 인스턴스 유형 : 과금이 되지 않도록 t2.micro 선택

      • 보안 그룹의 경우 보안그룹 아이디가 기억나지 않는다면 EC2로 다시 가서 내가 만들었던 EC2의 정보를 다시 확인해도 되고, 새로 다시 만들어도 상관없음. 그러나 새로 만드는 경우 보안그룹이 많아져 관리에 힘들 수 있어 원래 있던 보안그룹을 사용하는 것을 권장
    • 다음과 같이 생성이 완료된 것을 확인할 수 있음
  • Auto Scaling Group 생성
    • 똑같이 EC2 - Auto Scaling - Auto Scaling Group으로 들어가 생성
    • 다음과 같이 정보를 입력
      • 별표가 쳐져있는 부분이 원래는 시작 구성으로, 메뉴가 시작 템플릿 구성으로 되어 있다. 별표 부분을 누르게 되면 다음 화면과 같이 변하게 되며, 우리는 시작 구성을 하였으므로 우리가 만든 python-autoscale을 선택한다.
    • VPC는 어짜피 기본설정으로 하나밖에 없고, 앞에서와 같이 서브넷을 a와 c 2개를 골라준다.
    • 다음 페이지는 다음과 같이 설정
profile
https://github.com/nikevapormax
post-custom-banner

0개의 댓글