2 분 소요

1) AWS와 EC2 인스턴스 소개

클라우드 서비스란?

  • 내가 컴퓨터, 인프라를 소유하지 않아도, IT 인프라를 필요한 만큼 비용을 내고 사용하고, 필요없을 때는 언제든 반납(종료)할 수 있다.
  • 소프트웨어 만으로도 IT인프라를 사용할 수 있고, 비용도 사용한만큼 지불하기 때문에 생산성을 크게 향상 시킨다.

왜 AWS인가?

  • 한국어로 된 레퍼런스가 가장 많다.
  • 국내 시장점유율이 가장 높은 클라우드 서비스 프로바이더이다.

왜 EC2인가?

  • EC2는 AWS내에서 컴퓨팅 리소스를 사용할 수 있는 서비스이다.
  • 데이터 엔지니어링 코스를 쉽게 배울 수 있는 상용 서비스이다.

2) AWS 기초 개념

VPC란?

  • VPC(Virtual Private Cloud)는 논리적으로 분리한 서브 네트워크로 AWS 환경내의 네트워크 최소 단위.
  • 사용자의 AWS 계정 전용 가상 네트워크, 하나의 리전에 대해 계정 당 하나의 VPC를 받는다.
  • Amazon EC2와 같은 AWS 리소스를 VPC에서 실행할 수 있다.
  • VPC에서 실행된 AWS 리소스는 다른 AWS 리소스 혹은 인터넷에 연결될 수 있다.

subnet이란?

  • 서브넷은 VPC의 분할된 IP주소 범위이다. VPC CIRD 블럭을 서브넷으로 지정한다.
    지정된 서브넷으로 AWS 리소스를 실행할 수 있다.
  • 각 서브넷은 단이리 가용 영역 내에서만 존재해야 하며, 여러 영역으로 확장할 수 없다.
  • 별도의 가용영역에서 인스턴스를 시작함으로써, 단일 영역에서 장애가 발생할 경우 애플리케이션을 보호할 수 있다.

image

CIRD이란?

  • CIDR(Classless Inter-domain Routing)는 클래스없는 도메인 간 라우팅 기법이다.
  • CIDR를 이용하여 network 파트와 host 파트를 구분할 수 있으며, 특정 host가 어떤 network에 포함되는지 빠르게 확인 가능하다.
  • IPv4는 8비트가 4번 등장하는 구조로 되어 있으며, 이런 IPv4뒤에 /24와 같이 / 를 이용하여 CIDR를 표현할 수 있다.
    /24의 경우 앞의 24 비트를 network 파트로 이용하고 뒤 8비트를 host 파트로 이용하는 것을 의미한다.
  • 192.168.1.1/24의 경우 앞의 24비트에 해당하는 192.168.1가 network 파트에 해당된다.
    192.168.1.0 ~ 192.168.1.255가 동일한 network 파트에 속한다.

AWS에서 Subnet 마다 예약된 IP 주소

  • subnet의 몇몇 ip는 특정용도를 위해 subnet 생성과 함께 예약된다.
  • 예를 들어 10.0.0.0/24 대역으로 서브넷의 CIDR 블럭을 생성한다면, 아래 ip는 사용자의 AWS 리소스의 ip로 사용할 수 없다.
    • 10.0.0.0 : Network address
    • 10.0.0.1 : VPC router에서 사용됨
    • 10.0.0.2 : DNS server로 사용됨
    • 10.0.0.3 : 미래에 AWS에서 필요한 경우 사용하기 위해 남겨둠.
    • 10.0.0.255 : Network broadcast 주소.

Internet Gateway란?

  • Internet Gateway는 VPC와 인터넷을 연결해주는 하나의 관문이다.
  • VPC와 Internet 간의 통신을 가능하게 해준다.
    subnet의 라우팅 테이블에 ex)172.31.0.0/16에 매칭되지 않은 ip의 경우 0.0.0.0/0 에 해당되는 Internet Gateway로 라우팅 된다.

NAT Gateway란?

  • NAT Gateway는 프라이빗 서브넷이 인터넷과 통신하기 위한 아웃바운드 인스턴스이다.
  • 프라이빗 네트워크가 외부에서 요청되는 인바운드는 필요없더라도 아웃바운드 트래픽만 허용되어야 하는 경우 사용된다.
  • NAT Gateway는 프라이빗 서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 Internet Gateway와 연결한다.

image

Security Group & ACL

  • ACL과 Security Group(보안그룹)은 방화벽과 같은 역할을 하며, 트래픽에 대한 보안정책을 설정할 수 있다.
  • 보안그룹:
    • 인스턴스 기준으로 적용
    • 룰에 대한 허용 규칙만 적용
    • 아웃바운드 요청에 대한 응답 자동 허용
  • ACL:
    • 서브넷 기준 적용
    • 룰에 대한 허용 및 거부 규칙 적용
    • 아웃바운드 요청에 대한 응답 규칙 적용 필요

image

Region 이란?

  • Amazon은 세계 각지의 여러 곳에서 호스팅되고 있다.
    위치는 Rigion Availability Zone으로 구성된다.

Region을 선택하는 이유

  • 응답속도는 AWS 센터와 이벤트 어플리케이션에 접속하는 사용자가 지리적으로 가까울수록 빠르며 멀수록 느리다.
  • 예를들어 국내에 거주하는 사용자를 대상으로 하는 어플리케이션의 응답 속도를 빠르게 하고 싶다면 서울 리전을 선택해야된다.
  • AWS 서비스 요금은 리전에 따라 다르다.
    예를 들어 가상 서버인 EC2 타입 중 하나인 t2.medium 인스턴스는 미국 동부가 서울보다 저렴하다. 인터넷 데이터 전송 요금도 마찬가지이다. 응답속도보다 중요하다면 미국 동부 리전이 유리하다.

Availability Zone (가용영역) 이란?

  • 하나의 Region 안에는 장애로 격리된 여러개의 데이터 센터가 존재하는데 이를 Availability Zone 이라고 한다.
  • Availability Zone 안의 노드끼리는 전용선을 이용해 데이터를 빠르게 전송할 수 있다.
    2022년 기준 서울 리전에는 4개의 Availability Zone이 있다.

image

Availability Zone (가용영역) 을 나누는 이유

  • 각 가용영역은 다른 가용영역의 장애로 부터 격리될 수 있다.
  • 자연재해 또는 단층선에 문제가 발생해 하나의 가용영역에 문제가 생겨도 다른 가용영역을 통해 서비스가 가능하다.
  • 데이터를 가용영역 전반적으로 백업하여, 데이터센터의 장애에 대응할 수 있다.

업데이트: