AWS VPC 서비스란?
17153
post-template-default,single,single-post,postid-17153,single-format-standard,bridge-core-1.0.4,ajax_fade,page_not_loaded,,qode_grid_1200,qode-theme-ver-18.0.8,qode-theme-bridge,disabled_footer_top,wpb-js-composer js-comp-ver-5.7,vc_responsive
 

AWS VPC 서비스란?

AWS VPC 서비스란?

1. VPN(Virtual Private Network)

  • 여러 곳에 분산되어 있는 컴퓨터들을 연결하는 보안성 높은 사설 네트워크를 만듦
  • 인터넷을 활용해 원격지 간에 네트워크를 서로 연결하고 암호화 기술을 적용하여 보다 안정적인 보안성 높은 통신 서비스를 제공하는 서비스

※ 기존 IDC 센터에서 서비스하는 모든 시스템을 클라우드로 이전하는 것은 어려운 일이며, IDC – 클라우드 간의 네트워크 연결을 통해 기존 시스템클라우드 시스템 간의 데이터 통신이 필요함

※ AWS는 VPC와 VPC Gateway를 통해 온프레미스의 VPN 장비와 AWS 간의 VPN연결을 할 수 있고, 이를 보안성 높은 하이브리드 클라우드 환경이라 함

2. VPC(Virtual Private Cloud)

  • 논리적으로 격리된 네트워크 공간을 할당하여 가상 네트워크에서 AWS 리소스를 이용할 수 있는 서비스를 제공
  • Amazon VPC 자체 가상 네트워킹 환경을 완벽하게 제어 가능하고, VPC에서 IPv4와 IPv6를 모두 사용하여 리소스와 애플리케이션에 안전하고 쉽게 액세스가 가능
    • Amazon VPC 자체 가상 네트워킹 환경 구성 예시

vpc

*** 아마존 VPC 개념도**

주요 특징

  • AWS에 사설 네트워크 구축
  • 회사와 AWS 간 VPN을 연결하거나 가상 네트워킹 구현
  • 기존 데이터 센터와 연결(하드웨어 가상 사설 네트워크 연결)을 통해 하이브리드 환경 구성(기업의 데이터 센터를 확장할 것처럼 사용 가능)
  • AWS를 회사 인프라의 일부처럼 사용 가능하며, 내부 시스템 소프트웨어의 연동이 쉬움(메일, 그룹웨어 업무 시스템, 파일 서버 등)
  • 세심한 네트워크 설정 가능
  • 모든 리전에서 사용 가능

프리티어

  • VPC 자체는 비용 발생 안함. VPN 연결 시 네트워크 송/수신에 따라 종량제 비용 발생.

3. VPC의 구성 요소

3-1) 프라이빗 IP(Private IP), 퍼블릭 IP(Public IP), 탄성 IP(Elastic IP)

Private IP

  • VPC 내부에서만 사용할 수 있는 IP주소(인터넷을 통해 연결할 수 없는 주소)
  • VPC에서 시작된 인스턴스 서브넷의 범위에서 자동으로 할당됨
  • 동일 네트워크에서 인스턴스 간 통신에 사용 가능
  • 기본 프라이빗 주소를 별도로 보조 프라이빗 IP라는 추가 프라이빗 주소를 할당 가능함로 보조 프라이빗 IP라는 추가 프라이빗 주소를 할당 가능함Amazon EC2 인스턴스에 대한 보조 프라이빗 IP 주소 구성 방법은 해당 링크 참조

Public IP

  • 인스턴스와 인터넷 간의 통신을 위해 사용 가능한 주소(인터넷을 통해 연결할 수 있는 주소)
  • EC2 생성 시 옵션으로 퍼블릭 IP 주소의 사용 여부 선택 가능. 인스턴스에서 퍼블릭 IP 주소를 수동으로 연결하거나 해제하는 것은 불가
  • 인스턴스가 재부팅되면 새로운 퍼블릭 IP 주소가 할당됨

Elastic IP

  • 동적 컴퓨팅을 위해 고안된 고정 퍼블릭 IP 주소
  • VPC의 모든 인스턴스와 네트워크 인터페이스에 탄성 IP를 할당 가능하며, 다른 인스턴스에 주소를 신속하게 다시 매칭하여 인스턴스 장애 조치를 수행할 수 있음
  • 탄력적 IP 주소의 효율적인 활용을 위해(?) 시간당 요금 부과 상황(주의 필요!)
    1. 탄력적 IP 주소가 실행 중인 인스턴스와 연결되어 있지 않은 경우
    2. 중지된 인스턴스 또는 분리된 네트워크 인터페이스와 연결되어 있는 경우
  • 사용 가능한 탄력적 IP 주소는 10개로 제한되며, 이를 절약하기 위해 NAT 디바이스를 사용할 수 있음

3-2) VPC와 서브넷

  • 사용자의 AWS 계정을 위한 전용의 가상 네트워크
  • AWS 클라우드에서 논리적으로 다른 가상 네트워크와 분리되어 있으며, Amazon EC2 인스턴스와 같은 AWS 리소스를 VPC에서 실행 가능
  • VPC 내부의 네트워크에서도 서비스 목적에 따라 IP Block으로 나누어 구분할 수 있음(IP Block의 모음을 서브넷(Subnet)이라 함)
  • VPC는 리전의 모든 가용 영역에 적용되고, 각 가용 영역에 하나 이상의 서브넷 추가 가능
  • 단, 서브넷은 단일 가용 영역에서만 생성 가능하며, 여러 가용 영역으로 확장 불가함

3-3) VPC와 서브넷 사이즈

  • VPC를 생성할 때 VPC에서 사용하게 될 IP 주소의 범위를 지정하며, CIDR 블록 형태로 지정해야 함
    • CIDR(Classless Inter-Domain Routing) 표기법

3-4) 퍼블릭 서브넷(Public Subnet)과 프라이빗 서브넷(Private Subnet)

  • 퍼블릭 서브넷: 서브넷 네트워크 트래픽이 인터넷 게이트웨이(IGW)로 라우팅이 되는 서브넷프라이빗 서브넷: 인터넷 게이트웨이로 라우팅 되지 않는 서브넷
  • EC2 인스턴스가 IP를 통해 인터넷과 통신을 할 수 있게 하려면 퍼블릭 IP 주소나 탄력적 IP 주소가 있어야 함
  • 일반적으로 인터넷망을 통해 서비스를 수행하는 웹 서버는 퍼블릭 서브넷에 생성
  • 또한, 인터넷에 직접적인 연결 필요 없고, 높은 보안성을 요구하는 DB 서버는 프라이빗 서브넷에 생성

3-5) 라우팅 테이블(Routing Table)

  • 각 서브넷은 서브넷 외부로 나가는 아웃바운드(Outbound) 트래픽에 대해 허용된 경로를 지정하는 라우팅 테이블이 연결되어 있어야 함
  • 생성된 서브넷은 자동으로 VPC의 기본 라우팅 테이블과 연결되며, 테이블의 내용을 변경할 수 있음(필요 시 VPC의 라우팅 테이블과 연결된 서브넷을 수정 가능)
  • 라우팅 테이블은 VPC의 서브넷 내에서 생성된 네트워크 패킷이 목적지 주소로 이동하기 위해 어떤 경로로 이동 되어야 하는지 알려주는 테이블 지표
  • 즉, 서브넷 간의 통신이나 VPC 간의 원활한 통신을 위해 라우팅 테이블 필요

4. VPC의 주요 서비스

4-1) 보안 그룹(Security Group)과 네트워크 액세스 제어 목록(Network ACL)

  • VPC는 네트워크 통신과 트래픽에 대해 IP와 Port를 기준으로 통신을 허용하거나 차단하기 위한 기능을 제공하며, 이를 보안 그룹과 네트워크 액세스 제어 목록이라 함
  • VPC의 해당 기능을 통해 AWS 상에서 방화벽과 동일한 기능 사용 가능

보안 그룹과 네트워크 ACL 비교

  • 이처럼 해당 기능에 차이가 존재하며, 필요에 따라 선택적으로 적용하여 사용하는 것을 권장

4-2) VPC 피어링 연결(VPC Peering Connection)

  • 피어링 연결은 비공개적으로 두 VPC 간에 트래픽을 라우팅 할 수 있게 하기 위한 서로 다른 VPC 간의 네트워크 연결을 제공
  • VPC Peering을 통해 서로 다른 VPC의 인스턴스 간에 통신이 가능VPC Peering을 통해 서로 다른 VPC의 인스턴스 간에 통신이 가능

  • Amazon VPC Peering Connection

*** 서브넷 마스크(255.255.255.0) Bitmask에 따른 서브넷 및 호스트 수**

  • 각각의 서브넷 마스크에 따른 서브넷팅과 서브넷 및 호스트 수도 다름 → 해당 링크 예시

4-3) NAT(Network Address Translation) 게이트웨이

  • 외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서 내부 IP 주소를 외부 IP 주소로 변환하는 작업을 수행하는 서비스
  • NAT 게이트웨이는 프라이빗 서브넷 내에 있는 인스턴스를 인터넷 또는 다른 AWS 서비스에 연결하고, 외부망 또는 인터넷에서 해당 인스턴스에 연결하지 못하도록 구성하는 데 사용함