AWS VPC를 처음 사용할 때 알면 좋은 지식

Socra·2025년 3월 21일
0

VPC (Virtual Private Cloud)

  • VPC는 AWS에서 제공하는 가상 네트워크로, 사용자가 원하는 방식으로 네트워크를 구성할 수 있다.
  • EC2 인스턴스가 VPC 없이 생성되면, 모든 외부에서 접근 가능하다.
    • Security Group으로 외부 접근을 차단할 수 있지만, AWS 내부의 다른 서버들과 같은 네트워크에 존재하는 문제가 발생한다.
    • 따라서, 사설 네트워크를 구축하여 보안성을 강화하는 것이 VPC의 목적이다.
  • AWS는 리전(Region) 기반이며, 각 리전은 독립적인 서비스로 운영된다.
    • 각 리전의 엔드포인트와 내부 구조가 다르다.
    • 국가마다 법률이 다르기 때문에 리전마다 약간의 차이가 존재한다.
    • 리전은 여러 개의 AZ(Availability Zone)로 구성된다.
    • AZ는 논리적인 데이터센터 개념이며, 물리적인 데이터센터와 구분된다.
    • 하나의 리전은 최소 3개 이상의 AZ를 포함하여 장애 발생 시 고가용성을 유지한다.
  • EC2는 AZ 단위의 서비스, 즉 특정 AZ에 귀속된다.
  • VPC는 리전 단위의 서비스로, 여러 AZ에 걸쳐 구성될 수 있다.
  • S3는 리전 단위의 서비스로, 99.999999999%의 가용성을 제공한다.

https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html

물리적으로는 클라우드 제공자의 인프라에서 실행되지만, 가상 네트워크를 구성해

논리적인 독립적이고 분리된 네트워크처럼 작동한다.

Amazon VPC란 무엇인가? - Amazon Virtual Private Cloud

퍼블릭 서브넷과 프라이빗 서브넷

  • 퍼블릭 서브넷(Public Subnet)
    • 인터넷 게이트웨이와 연결된 서브넷을 의미한다.
    • 퍼블릭 서브넷의 인스턴스는 공인 IP(퍼블릭 IP 또는 Elastic IP)를 할당받아 외부 인터넷과 직접 통신할 수 있다.
    • 주로 웹 서버, 로드 밸런서 등 외부와 연결이 필요한 서비스에 사용된다.
  • 프라이빗 서브넷(Private Subnet)
    • 인터넷 게이트웨이와 연결되지 않은 서브넷을 의미한다.
    • 프라이빗 서브넷의 인스턴스는 기본적으로 인터넷에 직접 접근할 수 없다.
    • 데이터베이스 서버, 내부 애플리케이션 서버 등 외부 접근이 불필요한 서비스에 사용된다.
    • 필요할 경우 NAT 게이트웨이를 통해 제한된 인터넷 접근이 가능하다.

CIDR (Classless Inter-Domain Routing)

  • 초기 IPv4 주소 체계는 A/B/C 클래스로 나뉘었으나, IP 부족 문제로 인해 CIDR이 등장했다.
  • CIDR은 네트워크 주소를 효율적으로 할당하는 방식이다.
  • 주요 예시:
    • 0.0.0.0/0 → 모든 IP를 의미한다 (Any address).
    • 192.168.0.1/32 → 단일 IP만 사용할 수 있다.
    • 10.0.0.0/28 → 16개의 IP를 사용할 수 있다.
  • 사설 IP 범위는 반드시 사설 IP 대역(10.0.0.0/8 등) 내에서 지정하는 것이 좋다.
  • 서브넷은 반드시 특정 AZ에 속해야 한다.

CIDR이란?- CIDR 블록 및 표기법 설명 - AWS

서브넷 생성 및 관리

  • AZ는 물리적으로 존재하는 개념이며, AWS 네트워크 내에 EC2 인스턴스가 위치한다.
  • VPC는 리전 단위 서비스이므로, 여러 AZ에 걸쳐 있다.
  • 서브넷을 한 번 만들면, 이후에 AZ를 변경할 수 없다.
  • EC2는 서브넷 내에서 생성되며, 생성되는 순간 물리적인 데이터센터에 배치된다.
  • EC2의 서브넷 변경은 불가능하며, 따라서 데이터를 옮길 때는 AMI(Amazon Machine Image)를 생성하여 새로운 서브넷에서 인스턴스를 생성해야 한다.

인터넷 연결

인터넷 게이트웨이 (Internet Gateway)

  • VPC를 생성한 후 EC2를 외부와 연결하려면 인터넷 게이트웨이를 설정해야 한다.
  • 단순히 인터넷 게이트웨이를 만든다고 해서 EC2가 외부와 통신할 수 있는 것은 아니다.
  • 라우팅 테이블(Route Table)을 통해 인터넷 게이트웨이를 연결해야 한다.
  • 모든 서브넷은 반드시 하나의 라우팅 테이블과 연결되어야 한다.

라우팅 테이블 설정

  • 기본적으로 VPC 생성 시 디폴트 라우팅 테이블(Default Route Table)이 자동 생성된다.
  • 서브넷을 만들면 기본적으로 디폴트 라우팅 테이블과 연결된다.
  • 특정 서브넷이 인터넷 게이트웨이와 연결된 경우, 해당 서브넷은 Public Subnet이 된다.
  • 인터넷 게이트웨이와 연결되지 않으면 Private Subnet이 된다.
  • 퍼블릭 서브넷에서 EC2가 외부와 통신하려면 퍼블릭 IP가 필요하다.
    • 퍼블릭 IP가 없으면 인터넷 접속이 불가능하다.
    • Elastic IP(EIP)를 할당하면 고정 IP를 사용할 수 있다.
    • Elastic IP는 사용하지 않을 때 요금이 부과되므로, 필요 없을 때는 반납해야 한다.

NAT 게이트웨이 & NAT 인스턴스

  • Private Subnet에서는 기본적으로 인터넷 연결이 불가능하다.
  • 인터넷 접근이 필요한 경우 NAT(Network Address Translation) 게이트웨이를 사용한다.
    • NAT 게이트웨이는 비용이 비싸다 …
    • 과거에는 NAT 인스턴스를 사용하여 NAT 역할을 수행했다.
    • 일시적으로 인터넷이 필요할 경우 라우팅 테이블을 변경하거나, Elastic IP를 할당 후 사용 후 반납하는 방법도 가능하다.

NAT 게이트웨이 - Amazon Virtual Private Cloud

NAT 인스턴스를 IP 마스커레이드로 직접 만들 수도 있고, 커뮤니티 NAT AMI 이미지를 사용하면 쉽게 만들 수 있다.

NACL (Network ACL)

  • 서브넷 단위에서 동작하는 네트워크 접근 제어 리스트이다.
  • Security Group은 인스턴스 단위에서 설정하는 반면, NACL은 서브넷 단위에서 적용된다.
  • 대규모 네트워크 트래픽을 제어하는 용도로 사용된다.

SSH 접속 및 키 관리

  • EC2 접속 시 SSH 키 페어를 사용한다.
  • Key Forwarding을 활용하여 키 없이 접속할 수 있다.
  • ssh-add 명령어를 사용하면 SSH 키를 에이전트에 추가하여 이후 접속 시 키 입력이 필요하지 않다.

0개의 댓글

관련 채용 정보