VPC의 서브넷 - Amazon Virtual Private Cloud

VPC의 서브넷

서브넷은 VPC의 IP 주소 범위입니다. 지정된 서브넷으로 AWS 리소스를 시작할 수 있습니다. 인터넷에 연결되어야 하는 리소스에는 퍼블릭 서브넷을 사용하고, 인터넷에 연결되지 않는 리소스에는 프라이빗 서브넷을 사용하십시오.

각 서브넷에서 AWS 리소스를 보호하기 위해 보안 그룹 및 네트워크 액세스 제어 목록(ACL)을 포함한 다중 보안 계층을 사용할 수 있습니다.

서브넷 기본 사항

서브넷은 VPC의 IP 주소 범위입니다. EC2 인스턴스와 같은 AWS 리소스를 특정 서브넷으로 시작할 수 있습니다. 서브넷을 만들 때 해당 서브넷에 대한 IPv4 CIDR 블록을 지정합니다. 이는 VPC CIDR 블록의 서브넷입니다. 각 서브넷은 단일 가용 영역 내에서만 존재해야 하며, 여러 영역으로 확장할 수 없습니다. 별도의 가용 영역에서 인스턴스를 시작함으로써 단일 영역에서 장애가 발생할 경우 애플리케이션을 보호할 수 있습니다.

필요에 따라 컴퓨팅, 스토리지, 데이터베이스 및 기타 선택 서비스를 최종 사용자에게 더 가깝게 배치하는 AWS 인프라 배포인 로컬 영역에 서브넷을 추가할 수 있습니다. 로컬 영역을 사용하면 최종 사용자가 한 자릿수 밀리초 지연 시간이 필요한 애플리케이션을 실행할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서에서 Local Zones을 참조하세요.

서브넷 유형

VPC 구성 방법에 따라 서브넷은 퍼블릭, 프라이빗 또는 VPN 전용으로 간주됩니다.

  • 퍼블릭 서브넷: 서브넷 트래픽은 인터넷 게이트웨이 또는 송신 전용 인터넷 게이트웨이를 통해 퍼블릭 인터넷으로 라우팅됩니다. 자세한 정보는 인터넷 게이트웨이를 사용하여 인터넷에 연결의 내용을 참조하십시오.

  • 프라이빗 서브넷: 서브넷 트래픽은 인터넷 게이트웨이 또는 송신 전용 인터넷 게이트웨이를 통해 퍼블릭 인터넷에 연결할 수 없습니다. 퍼블릭 인터넷에 액세스하려면 NAT 장치가 필요합니다.

  • VPN 전용 서브넷: 서브넷 트래픽은 가상 프라이빗 게이트웨이를 통해 Site-to-Site VPN 연결로 라우팅됩니다. 서브넷 트래픽은 인터넷 게이트웨이를 통해 퍼블릭 인터넷에 연결할 수 없습니다. 자세한 내용은 AWS Site-to-Site VPN 사용 설명서를 참조하세요.

서브넷을 만들 때 VPC 구성에 따라 다음과 같이 IP 주소를 지정합니다.

  • IPv4 전용: 서브넷에 IPv4 CIDR 블록은 있지만 IPv6 CIDR 블록은 없습니다. IPv4 전용 서브넷의 리소스는 IPv4를 통해 통신해야 합니다.

  • 듀얼 스택: 서브넷에 IPv4 CIDR 블록 및 IPv6 CIDR 블록이 둘 다 있습니다. VPC에는 IPv4 CIDR 블록 및 IPv6 CIDR 블록이 둘 다 있어야 합니다. 듀얼 스택 서브넷의 리소스는 IPv4 및 IPv6를 통해 통신할 수 있습니다.

  • IPv6 전용: 서브넷에 IPv6 CIDR 블록은 있지만 IPv4 CIDR 블록은 없습니다. VPC에 IPv6 CIDR 블록이 있어야 합니다. IPv6 전용 서브넷의 리소스는 IPv6를 통해 통신해야 합니다.

서브넷의 유형과 관계없이 서브넷의 내부 IPv4 주소 범위는 항상 프라이빗입니다. 즉 인터넷에 주소 블록을 알리지 않습니다. VPC의 프라이빗 IP 주소 지정에 대한 자세한 내용은 IP 주소 지정 단원을 참조하십시오.

서브넷 설정

모든 서브넷은 해당 서브넷에서 생성된 네트워크 인터페이스에 퍼블릭 IPv4 주소(해당되는 경우, IPv6 주소)가 할당될 것인지 결정하는 수정 가능한 속성을 갖습니다. 여기에는 해당 서브넷에서 인스턴스를 시작할 때 인스턴스에 대해 생성된 주 네트워크 인터페이스(eth0)가 포함됩니다. 서브넷 속성에 상관없이 특정 인스턴스를 시작하는 중에 해당 인스턴스에 대한 이 설정을 재정의할 수 있습니다.

서브넷을 생성한 후 서브넷에 대한 다음 설정을 수정할 수 있습니다.

  • IP 설정 자동 할당: 이 서브넷의 새 네트워크 인터페이스에 대한 퍼블릭 IPv4 또는 IPv6 주소를 자동으로 요청하도록 자동 할당 IP 설정을 구성할 수 있습니다.

  • 리소스 기반 이름(RBN) 설정: 이 서브넷에서 EC2 인스턴스에 대한 호스트 이름 유형을 지정하고 DNS A 및 AAAA 레코드 쿼리가 처리되는 방법을 구성할 수 있습니다. 이러한 설정에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서Amazon EC2 인스턴스 호스트 이름 유형을 참조하십시오.

서브넷 다이어그램

다음 다이어그램에서는 한 리전에 있는 2개의 VPC를 보여줍니다. 각 VPC에는 퍼블릭 및 프라이빗 서브넷과 인터넷 게이트웨이가 있습니다. VPC는 로컬 영역도 확장합니다.


                    가용 영역 및 로컬 영역에 서브넷이 있는 VPC.

서브넷 크기

서브넷의 CIDR 블록은 VPC에 대한 CIDR 블록(VPC의 단일 서브넷용) 또는 VPC에 대한 CIDR 블록의 하위 세트(VPC에 여러 서브넷 생성용)와 동일할 수 있습니다. 허용된 블록 크기는 /28 넷마스크~/16 넷마스크입니다. VPC에 두 개 이상의 서브넷을 만들 경우, 서브넷의 CIDR 블록이 겹치지 않아야 합니다.

예를 들어 CIDR 블록이 10.0.0.0/24인 VPC를 만들 경우 256개의 IP 주소를 지원합니다. 이 CIDR 블록을 각각 128개의 IP 주소를 지원하는 2개의 서브넷으로 나눌 수 있습니다. 한 서브넷은 10.0.0.0/25 CIDR 블록(10.0.0.0~10.0.0.127 사이의 주소)을, 다른 서브넷은 10.0.0.128/25 CIDR 블록(10.0.0.128~10.0.0.255 사이의 주소)을 사용합니다.

인터넷에서 IPv4 서브넷 CIDR 블록을 계산하고 생성하는 데 도움이 되는 도구가 있습니다. '서브넷 계산기' 또는 'CIDR 계산기'와 같은 용어를 검색하여 필요에 맞는 도구를 찾을 수 있습니다. 또한 네트워크 엔지니어링 그룹의 도움을 받아 서브넷에 지정할 CIDR 블록을 정할 수도 있습니다.

각 서브넷 CIDR 블록에서 첫 4개의 IP 주소와 마지막 IP 주소는 사용자가 사용할 수 없으므로 EC2 인스턴스 등의 리소스에 할당할 수 없습니다. 예를 들어 10.0.0.0/24 CIDR 블록의 서브넷에서는 다음 5개 IP 주소가 예약되어 있습니다.

  • 10.0.0.0: 네트워크 주소.

  • 10.0.0.1: AWS에서 VPC 라우터용으로 예약한 주소.

  • 10.0.0.2: AWS에서 예약한 주소. DNS 서버의 IP 주소는 기본 VPC 네트워크 범위에 2를 더한 주소입니다. CIDR 블록이 여러 개인 VPC의 경우, DNS 서버의 IP 주소가 기본 CIDR에 위치합니다. 또한 각 서브넷 범위의 기본에 2를 더한 주소를 VPC의 모든 CIDR 블록에 대해 예약합니다. 자세한 내용은 Amazon DNS 서버 섹션을 참조하세요.

  • 10.0.0.3: AWS에서 앞으로 사용하려고 예약한 주소.

  • 10.0.0.255: 네트워크 브로드캐스트 주소. VPC에서는 브로드캐스트를 지원하지 않으므로, 이 주소를 예약합니다.

명령줄 도구 또는 Amazon EC2 API를 사용하여 서브넷을 추가하면 CIDR 블록이 표준 형식으로 자동 수정됩니다. 예를 들어 CIDR 블록에 100.68.0.18/18을 지정하면 100.68.0.0/18의 CIDR 블록이 생성됩니다.

IPv6에 대한 서브넷 크기 조정

IPv6 CIDR 블록을 VPC와 연결한 경우, IPv6 CIDR 블록을 VPC의 기존 서브넷 또는 새로 생성한 서브넷과 연결할 수 있습니다. 서브넷의 IPv6 CIDR 블록은 /64의 고정 접두사 길이입니다.

인터넷에서 IPv6 서브넷 CIDR 블록을 계산하고 생성하는 데 도움이 되는 도구를 사용할 수 있습니다(예: IPv6 주소 플래너). 'IPv6 서브넷 계산기' 또는 'IPv6 CIDR 계산기'와 같은 용어를 검색하여 필요에 맞는 다른 도구를 찾을 수 있습니다. 또한 네트워크 엔지니어링 그룹의 도움을 받아 서브넷에 지정할 IPv6 CIDR 블록을 정할 수도 있습니다.

각 서브넷 CIDR 블록에서 첫 4개의 IPv6 주소와 마지막 IPv6 주소는 사용자가 사용할 수 없으므로 EC2 인스턴스에 할당할 수 없습니다. 예를 들어 2001:db8:1234:1a00/64 CIDR 블록의 서브넷에서는 다음 5개 IP 주소가 예약되어 있습니다.

  • 2001:db8:1234:1a00::

  • 2001:db8:1234:1a00::1

  • 2001:db8:1234:1a00::2

  • 2001:db8:1234:1a00::3

  • 2001:db8:1234:1a00:ffff:ffff:ffff:ffff

서브넷 라우팅

각 서브넷은 서브넷 외부로 나가는 아웃바운드 트래픽에 대해 허용된 경로를 지정하는 라우팅 테이블이 연결되어 있어야 합니다. 생성된 각 서브넷은 자동으로 VPC의 기본 라우팅 테이블에 연결됩니다. 테이블 연결 및 기본 라우팅 테이블의 내용을 변경할 수 있습니다. 자세한 정보는 라우팅 테이블 구성의 내용을 참조하십시오.

서브넷 보안

AWS는 VPC의 보안을 강화하기 위해 사용할 수 있는 두 가지 기능인 보안 그룹네트워크 ACL을 제공합니다. 보안 그룹은 인스턴스용 인바운드 및 아웃바운드 트래픽을 제어하고, 네트워크 ACL은 서브넷용 인바운드 및 아웃바운드 트래픽을 제어합니다. 대부분의 경우 보안 그룹은 사용자의 요구 사항을 맞출 수 있지만, 원하는 경우 네트워크 ACL을 사용하여 VPC에 보안 계층을 더 추가할 수 있습니다. 자세한 내용은 Amazon VPC의 인터네트워크 트래픽 프라이버시 단원을 참조하십시오.

각 서브넷에는 네트워크 ACL이 연결되어야 합니다. 생성하는 모든 서브넷은 VPC의 기본 네트워크 ACL과 자동으로 연결됩니다. 연결된 네트워크 ACL 및 기본 네트워크 ACL의 내용을 변경할 수 있습니다. 자세한 내용은 네트워크 ACL을 사용하여 서브넷에 대한 트래픽 제어 섹션을 참조하세요.

VPC 또는 서브넷에 흐름 로그를 만들어 VPC 또는 서브넷의 네트워크 인터페이스로 들어오고 나가는 모든 트래픽을 캡처할 수 있습니다. 또한 개별 네트워크 인터페이스에 흐름 로그를 만들 수도 있습니다. 자세한 정보는 VPC 흐름 로그를 사용하여 IP 트래픽 로깅의 내용을 참조하십시오.