[AWS] EC2

youngseo·2022년 12월 23일
0

AWS

목록 보기
1/4

Amazon Web Service

1. 배울 세가지 내용

  • AWS에서 가장 대표적인 서버인 EC2
    • AWS에서 가장 기본이 되는 서버 단위
    • 서버를 통해서 하나의 컴퓨터 안에서도 원하는 모든 것을 구현할 수 있음
    • 서버안에 데이터 베이스를 설치할 수도 있습니다.
    • 보통 EC2 instance라고 많이 부릅니다.
  • AWS에서 가장 대표적인 파일 저장소 S3
    • 간단하게 파일을 업로드하고 다운로드할 수 있는 저장소
    • 정적 웹사이트도 s3에 올려서 배포할 수 있습니다.(저장소 뿐만 아니라 호스팅에으로도 사용할 수 있다)
  • AWS에서 가장 대표적인 관계형 데이터베이스 RDS
    • 적합한 표현은 AWS의 RDS입니다.

2. AWS 가입 및 프리티어 설명

2-1 보안그룹

  • 우리가 만든 서비스에 어떤요청이 들어오고, 나가는 요청에 대한 (인바운드 아웃바운드)에 규칙을 설정해 그에 부합하지 않는 요청을 모두 block할 수 있습니다.
  • 인바운드 규칙
    • http를 열어줄 수 있음
      • 위치 무관: 어디서든 요청을 보내고 받을 수 있도록 할 수 있음
      • 사용자지정을 하는 경우: 특정한 ip에서만 할 수 있도록
      • 나만 사용하는 경우: 내ip

2-2 로드밸런서

  • 서버가(ec2인스턴스가) 일정한 부하를 받게 되었을 때, 똑같은 자신의 이미지를 가진 상태로 서버가 늘어나고 줄어나는 규칙을 만들어주는 곳.
  • 즉, 서버가 터지는 것을 방지하는 것

3. EC2생성하기

단계1. AMI선택

  • 아마존에서 자주 사용하는 형태에 대해 미리 이미지를 두었는데, 그 이미지가 설치된 상태로 서버를 사용하는 것.

단계2. 인스턴스 유형 선택

  • 실제 서비스를 만들 때 생각해야하는 것은 cpu성능과 메모리성능

단계3. 인스턴스 세부 정보 구성

  • 처리해야 하는 데이터들이 복잡해지거나 딜레이가 발생할 때 개발자가 선택할 수 있는 방법 2가지.
    • Scaling up 컴퓨터 자체의 성능을 윗단계로 올림
      • ex) 신형 cpu로 변경, rem을 8기가 두개 넣는다던지.
    • Scaling out 서버의 개수를 늘려서 부하를 처리해줌
  • Auto Scaling의 경우 스케일 아웃에 대한 도움을 줍니다.
  • 스팟인스턴스: 최대로 발생할 수 있는 비용에 대해 설정 가능
  • 네트워크
    • 만든 모든 서버는 VPC(Virtual Private Cloud)에 들어가게 됩니다.
    • vpc란 나만의 공간
    • 즉, 나만의 공간에 인스턴스를 넣어놓은 것으로 다른 공간에서는 이 공간에 침입을 하지 못합니다.
    • auto 스케일링을 걸어놓으면 이 vpc안에서만 인스턴스가 늘어나는 일이 생기며, 자원공유도 안에서만 공유가 되게 됩니다.
    • 프로젝트를 여러개 하다보면 vpc가 여러개 생길 수 있습니다.
  • 서브넷
    • vpc안에 파티션과 같이 나눠지는 서브공간
  • 퍼블릭 ip 자동할당
    • 누구나 이 ip주소로 접근이 가능하게 하는지
    • 만약 내가 만든 서버가 vpc밖으로 나갈 일이 없다면 굳이 할당할 필요는 없습니다.
  • IAM
    • 일종의 사용자
    • 서비스를 만들었을 때, 다른 팀원들이 들어와서 프로젝트를 사용할 필요가 있음
    • 각 팀원들에게 관리 권한을 부여해줄 때 설정할 수 있음
    • default는 사용을 하지 않으며, 프로젝트가 커질 수록 설정을 해줘야합니다.

단계4. 스토리지 추가

  • 기본적인 서버에서 몇 GB까지 쓸 수 있는지.

단계5. 태그

  • 일종의 필요로하는 구분자
  • ex) 키:Name 값:First App 인스턴스, 볼륨, 네트원크 인터페이스

단계6. 보안 그룹 구성

  • 트랙픽 제어를 위한 방화벽 규칙 세트.

단계7. 키페어

  • ssh를 이용해 서버에 들어갈 때 키페이가 있어야 증명이 가능합니다.
  • 만약 잃어버리면 새로 키페어를 발급받아야합니다.

4. 인스턴스 연결

  • 예전에는 직접 연결이 좋지 않아, 보통 ssh클라이언트와 보안 키페어를 사용해 접근하는 방식을 많이 사용했습니다.
  • 최근에는 EC2인스턴스 연결을 하는것이 조금 더 편리한 편.


위와 같이 루트 경로에 원하는 것들을 설치하면 됩니다.

4-1 어떻게 설치할까요?

  • 보통은 아파치나 Nginx를 많이 씁니다.
  • 따라서 Nginx가 설치가 되어야하며, 그거에 대한 컨피그레이션, 노드코드도 존재해야합니다.
  • 먼저, 노드가 설치되어 있는지를 확인해야합니다.

5. SSH클라이언트 사용하기

  • ssh클라이언트의 경우 사용하고 있는 환경에 따라 세팅방법이 달라지게 됩니다.
  • 만약, 윈도우를 쓰고 있다면 구글 검색창에 putty를 검색한 후 컴퓨터에 맞게 다운로드해 사용을 하면 됩니다.
    • puttyzen을 이용해서 변환하여 사용가능.
  • 리눅스나 맥의 경우 터미널을 이용하면 쉽게 진행할 수 있습니다.

5-1 맥

  • pem 파일 다운로드
  • permission 바꾸기
    • permission보는 법(ls -al)
      • r: 4, w: 2
    • chmod 400 FristApp.pem
    • ssh -i "FirstApp.pem" ubuntu@ec2-54-86-52-71.compute-1.amazonaws.com

6. EC2중지, 삭제, 비용

  • 인스턴스 설정에서 중지를 했다고 해서, 비용이 발생하지 않는 것은 아닙니다. 따라서 비용을 내지 않기를 위해서는 중지가 아닌 삭제(종료)해야합니다.
  • 또한 종료후에는 복구가 안되기 때문에, 백업이 필요한 경우 이에 대한 이미지를 만들어놓거나 볼륨을 저장해놓으면 됩니다.

0개의 댓글