AWS 기본 개념

danbi lee·2024년 3월 8일

배포(Deployment)란?

산출물을 사용자가 이용 가능하도록 인터넷상에 올리는 행위

내 컴퓨터에서 작업할땐 localhost 주소에서 개발을 한다.
localhost는 외부에서 접근이 불가능한데, 배포를 하면 고유의 주소(IP, 도메인)가 부여가 되어 외부에서 해당 주소로 접근이 가능해진다.
이게 바로 배포이다!

EC2(Elastic Compute Cloud)란?

컴퓨터를 원격으로 빌려쓰는 것 = 하나의 컴퓨터

EC2를 왜 배울까?

서버를 배포하려면 컴퓨터가 필요하다.
내 컴퓨터에서 서버를 배포해서 이용하게 만들수도 있는데~ 단점이 존재한다.
1. 24시간동안 컴퓨터를 켜놔야 함
2. 내 컴퓨터에 접근할 수 있게 만들어서 보안적으로 위험함

이러한 단점 때문에 AWS EC2라는 컴퓨터를 빌려쓴다.
(이외에 로깅, 오토스케일링, 로드밸런싱 등등 많은 기능이 존재해서 이기도함)

리전(Region)이란?

인프라를 지리적으로 나누어 배포한 각각의 데이터 센터

EC2를 통해 빌려 쓸 수 있는 전 세계 AWS 컴퓨터 위치를 보고 리전이라고 한다.

리전의 특징

  1. AWS는 전세계적으로 다양한 Region을 보유하고 있다.
  2. 각 Region은 고유의 이름을 가진다.

리전 선택 기준

애플리케이션 주 사용사와 가까운 Region을 선택하는게 좋다.

사용자들이 애플리케이션을 사용할때 네트워크 통신을 하게 된다. 이 때, 사용자와 애플리케이션을 실행시키는 컴퓨터와 위치가 멀면 멀수록 속도가 느려진다.

예) 아시아 태평양 (서울), 아시아 태평양 (도쿄)가 두 개의 Region을 두고 봤을때, 내가 한국에서 개발을 하는데 주 사용자가 일본인이라면 서울이 아닌 도쿄로 선택해야 한다.

많이 하는 실수

아시아 태평양 (서울) 리전에서 EC2를 생성해놓고, 실수로 미국 동부 (버지니아 북부) 리전에 들어가서 생성한 EC2가 사라졌다고 당황하는 경우가 종종 있다. 리전마다 EC2가 따로 관리되고 있으니 다시 아시아 태평양 (서울)로 들어가면 된다.

인스턴스(Instance)란?

EC2에서 빌리는 컴퓨터 1대를 의미

인스턴스는 AWS EC2와 컴퓨터를 원격 접속해서 빌려서 사용하는 서비스이다.

보안 그룹(Security Group)이란?

AWS 클라우드에서의 네트워크 보안을 의미한다.

보안 그룹은 방화벽인데, EC2 인스턴스를 집이라고 생각하면 외부인의 방문을 막는 경비실, 1층 키패드라고 이해하면 된다.

보안 규칙

보안 그룹을 만들면 보안 규칙을 지정해야 한다.

  • 규칙 1. 인바운드 트래픽: 외부에서 EC2 인스턴스로 보내는 트래픽
  • 규칙 2. 아웃바운드 트래픽: EC2 인스턴스에서 외부로 나가는 트래픽

보안 규칙을 통해 어떤 트래픽만 허용할지 설정할 수 있다.
예) 사내 IP만 접근이 가능하고~ 80번 포트(port)에 대한 요청만 받을거다.

IP란?

네트워크 상에서의 특정 컴퓨터를 가르키는 주소

Port란?

한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소이다.

Port를 쓰는 이유

한 컴퓨터에는 여러가지 프로그램이 실행된다.(크롬도 쓰고 피그마도 쓰고 인텔리제이도 쓰고~) IP 주소로 어떤 컴퓨터에 접근을 했는데 한개가 아닌 여러개의 프로그램이 실행중이라면? 어떤 프로그램과 통신을 해야할지 알수가 없다. 그래서 서버와 통신을 할땐 IP주소 외 서버가 실행중인 포트 번호까지 알고 있어야 한다.

잘 알려진 포트란?

Well-known port: 주요 통신 규약 포트번호

0~65535번까지 포트 설정이 가능한데 0~1023번까진 주요 통신을 위한 규약이 정해져있다. 자주 사용되는 3가지의 번호는 아래와 같다.

  • 22번 (SSH, Secure Shell Protocol): 원격 접속을 위한 포트 번호
  • 80번 (HTTP): HTTP로 통신할때 사용
  • 443번 (HTTPS): HTTPS로 통신할때 사용

HTTP 통신을 할때 80번 말고 3000번이나 8080을 써도 상관은 없다. 꼭 80을 써야하는건 아니다.

profile
계속해서 보완중

0개의 댓글