본문 바로가기
클라우드 서버/AWS

[AWS] VPC, NAT 게이트웨이

by 보안매크로 2024. 7. 13.
728x90

VPC(Virtual Private Cloud)는 AWS에서 제공하는 가상 네트워크 서비스로, 사용자가 AWS 리소스를 정의한 가상 네트워크에서 실행할 수 있게 해줍니다. VPC를 사용하면 AWS 인프라 내에서 격리되고 안전한 네트워크 환경을 구성할 수 있습니다. VPC의 주요 특징과 구성 요소에 대해 설명드리겠습니다.

주요 특징

  1. 네트워크 격리: VPC를 통해 AWS 리소스를 격리된 네트워크 환경에서 실행할 수 있으며, 공용 및 사설 서브넷을 사용할 수 있습니다.
  2. IP 주소 범위 설정: 사용자 지정 IP 주소 범위를 설정할 수 있으며, 이 범위 내에서 IP 주소를 할당할 수 있습니다.
  3. 네트워크 구성: 서브넷, 라우팅 테이블, 인터넷 게이트웨이, NAT 게이트웨이, 보안 그룹 및 네트워크 ACL을 사용하여 네트워크 트래픽을 관리할 수 있습니다.
  4. 확장성 및 유연성: 필요에 따라 VPC의 크기를 조정하고, 여러 가용 영역(AZ)에 걸쳐 배포하여 높은 가용성과 내구성을 보장할 수 있습니다.

VPC 구성 요소

  1. 서브넷 (Subnet): VPC 내에서 IP 주소 범위를 논리적으로 분할한 것입니다. 서브넷은 공용 서브넷과 사설 서브넷으로 나뉩니다.
    • 공용 서브넷: 인터넷 게이트웨이를 통해 인터넷과 연결된 서브넷.
    • 사설 서브넷: 인터넷에 직접 연결되지 않고, 내부 네트워크 통신에 사용되는 서브넷.
  2. 인터넷 게이트웨이 (Internet Gateway): VPC와 인터넷 간의 통신을 가능하게 하는 구성 요소입니다. 공용 서브넷에서 실행되는 리소스가 인터넷과 통신할 수 있도록 해줍니다.
  3. NAT 게이트웨이 (NAT Gateway): 사설 서브넷에 있는 인스턴스가 인터넷에 접속할 수 있도록 해주는 구성 요소입니다. 하지만 외부에서 사설 서브넷으로의 접속은 허용되지 않습니다.
  4. 라우팅 테이블 (Route Table): VPC 내의 네트워크 트래픽이 어디로 향해야 하는지를 결정하는 규칙 집합입니다. 각 서브넷은 하나의 라우팅 테이블과 연결됩니다.
  5. 보안 그룹 (Security Group): 인스턴스 수준에서 트래픽을 제어하는 가상 방화벽입니다. 허용된 인바운드 및 아웃바운드 트래픽을 정의할 수 있습니다.
  6. 네트워크 ACL (Network Access Control List): 서브넷 수준에서 트래픽을 제어하는 방화벽입니다. 보안 그룹과 달리 상태 비저장(stateless)입니다. 인바운드 및 아웃바운드 규칙을 모두 명시해야 합니다.

VPC 구성 예시

1. VPC 생성

AWS Management Console에서 "VPC" 서비스로 이동한 후, "VPC 생성"을 클릭하여 VPC를 생성합니다. CIDR 블록을 지정하여 IP 주소 범위를 설정합니다. 예: 10.0.0.0/16

2. 서브넷 생성

  • 공용 서브넷과 사설 서브넷을 각각 생성합니다.
  • 예를 들어, 10.0.1.0/24 범위의 공용 서브넷과 10.0.2.0/24 범위의 사설 서브넷을 생성합니다.

3. 인터넷 게이트웨이 생성 및 연결

  • 인터넷 게이트웨이를 생성한 후 VPC에 연결합니다.
  • 라우팅 테이블을 업데이트하여 공용 서브넷의 트래픽을 인터넷 게이트웨이로 라우팅합니다.

4. NAT 게이트웨이 생성

  • 사설 서브넷을 위해 NAT 게이트웨이를 생성합니다.
  • 라우팅 테이블을 업데이트하여 사설 서브넷의 트래픽을 NAT 게이트웨이로 라우팅합니다.

5. 보안 그룹 및 네트워크 ACL 설정

  • 각 서브넷에 적절한 보안 그룹과 네트워크 ACL을 설정하여 트래픽을 제어합니다.

 

NAT 게이트웨이(NAT Gateway)는 AWS VPC에서 사설 서브넷(private subnet) 내의 인스턴스들이 인터넷이나 다른 AWS 서비스에 접근할 수 있도록 해주는 서비스입니다. 하지만 외부에서는 사설 서브넷 내의 인스턴스들에 직접 접근할 수 없도록 하는 보안 기능을 제공합니다.

NAT 게이트웨이의 주요 기능

  1. 인터넷 액세스: 사설 서브넷에 있는 인스턴스들이 인터넷에 접근할 수 있도록 합니다. 이는 소프트웨어 업데이트를 다운로드하거나, 외부 API에 접근해야 할 때 유용합니다.
  2. 보안: 외부에서 사설 서브넷의 인스턴스들에 접근할 수 없도록 하여 보안을 강화합니다. NAT 게이트웨이를 통해 외부와의 통신이 가능하지만, 외부에서는 사설 서브넷의 인스턴스들에 직접 접근할 수 없습니다.
  3. 고가용성: NAT 게이트웨이는 고가용성을 제공하며, 자동으로 장애 조치가 이루어집니다. 여러 가용 영역(AZ)에 걸쳐 배포할 수 있습니다.
  4. 관리형 서비스: AWS에서 제공하는 관리형 서비스로, 사용자가 직접 서버를 구성하거나 관리할 필요 없이 NAT 기능을 제공받을 수 있습니다.

NAT 게이트웨이 사용 예시

  1. NAT 게이트웨이 생성: 공용 서브넷에 NAT 게이트웨이를 생성합니다.
  2. 라우팅 테이블 업데이트: 사설 서브넷의 라우팅 테이블을 업데이트하여 인터넷으로 나가는 트래픽을 NAT 게이트웨이를 통해 전달합니다.
728x90