VPC CIDR 블록 - Amazon Virtual Private Cloud

VPC CIDR 블록

Virtual Private Cloud(VPC)의 IP 주소는 Classless Inter-Domain Routing(CIDR) 표기법을 사용하여 표시됩니다. VPC에는 연결된 IPv4 CIDR 블록이 있어야 합니다. 선택에 따라 추가 IPv4 CIDR 블록과 하나 이상의 IPv6 CIDR 블록을 연결할 수 있습니다. 자세한 내용은 VPC 및 서브넷의 IP 주소 지정 단원을 참조하십시오.

IPv4 VPC CIDR 블록

VPC를 만들 때 VPC의 IPv4 CIDR 블록을 지정해야 합니다. 허용된 블록 크기는 /16 넷마스크 (IP 주소 65,536개)~/28 넷마스크(IP 주소 16개)입니다. VPC 생성을 마쳤으면 추가 IPv4 CIDR 블록을 VPC에 연결할 수 있습니다. 자세한 내용은 VPC에 IPv4 CIDR 블록 추가 단원을 참조하십시오.

VPC를 생성하는 경우, 다음과 같이 RFC 1918 규격에 따라 프라이빗 IPv4 주소 범위에 속하는 CIDR 블록을 지정하는 것이 좋습니다.

RFC 1918 범위 CIDR 블록의 예
10.0.0.0 - 10.255.255.255 (10/8 접두사) 10.0.0.0/16
172.16.0.0 - 172.31.255.255 (172.16/12 접두사) 172.31.0.0/16
192.168.0.0 - 192.168.255.255 (192.168/16 접두사) 192.168.0.0/20
중요

일부 AWS 서비스는 172.17.0.0/16 CIDR 범위를 사용합니다. 향후 충돌을 방지하려면 VPC를 생성할 때 이 범위를 사용하지 마세요. 예를 들어 네트워크 어디에서 172.17.0.0/16 IP 주소 범위를 이미 사용 중인 경우 AWS Cloud9 또는 Amazon SageMaker와 같은 서비스에서 IP 주소 충돌이 발생할 수 있습니다. 자세한 내용은 AWS Cloud9 사용 설명서Docker에서 VPC의 IP 주소를 사용하므로 EC2 환경에 연결할 수 없음을 참조하세요.

RFC 1918에 지정된 프라이빗 IPv4 주소 범위에 속하지 않는 공개적으로 라우팅 가능한 CIDR 블록을 사용하여 VPC를 생성할 수 있습니다. 하지만 이 설명서에서는 프라이빗 IP 주소는 VPC의 CIDR 범위 내에 있는 프라이빗 IPv4 주소를 말합니다.

AWS 서비스와 함께 사용할 VPC를 생성하려면 해당 서비스 설명서를 참조하여 해당 구성에 대한 특정 요구 사항이 있는지 확인하십시오.

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

VPC에 IPv4 CIDR 블록 관리

보조 IPv4 CIDR 블록을 VPC와 연결할 수 있습니다. CIDR 블록을 VPC에 연결하면 VPC 라우팅 테이블에 경로가 자동으로 추가되면서 VPC 내에서 라우팅이 가능하게 됩니다(대상 주소는 CIDR 블록이고 대상은 local).

다음 예에서 VPC에는 기본 및 보조 CIDR 블록이 모두 있습니다. 서브넷 A와 서브넷 B의 CIDR 블록은 기본 VPC CIDR 블록에서 가져옵니다. 서브넷 C의 CIDR 블록은 보조 VPC CIDR 블록에서 가져옵니다.

단일 및 여러 개의 CIDR 블록을 가진 VPC

다음 라우팅 테이블은 VPC의 로컬 경로를 보여줍니다.

대상 주소 대상
10.0.0.0/16 로컬
10.2.0.0/16 로컬

VPC에 CIDR 블록을 추가할 경우 다음 규칙이 적용됩니다.

  • 허용된 블록 크기는 /28 넷마스크~/16 넷마스크입니다.

  • CIDR 블록은 VPC에 연결된 기존 CIDR 블록과 겹치지 않습니다.

  • 사용 가능한 IPv4 주소 범위에 제한이 있습니다. 자세한 내용은 IPv4 CIDR 블록 연결 제한 단원을 참조하십시오.

  • 기존 CIDR 블록의 크기를 늘리거나 줄일 수 없습니다.

  • VPC에 연결할 수 있는 CIDR 블록의 수와 라우팅 테이블에 추가할 수 있는 경로의 수에는 할당량이 있습니다. 할당량을 초과하는 경우에는 CIDR 블록을 연결할 수 없습니다. 자세한 내용은 Amazon VPC 할당량 단원을 참조하십시오.

  • CIDR 블록은 모든 VPC 라우팅 테이블에서 경로의 대상 CIDR 범위보다 작아야 합니다. 예를 들어, 기본 CIDR 블록이 10.2.0.0/16인 VPC에서 가상 프라이빗 게이트웨이에 대한 대상이 10.0.0.0/24인 라우팅 테이블에 기존 라우팅이 있습니다. 10.0.0.0/16 범위의 보조 CIDR 블록을 연결하려고 합니다. 기존 경로 때문에 10.0.0.0/24 이상의 CIDR 블록을 연결할 수 없습니다. 그러나 10.0.0.0/25 이하의 보조 CIDR 블록은 연결할 수 있습니다.

  • VPC 피어링 연결에 포함된 VPC에 IPv4 CIDR 블록을 추가할 때 다음 규칙이 적용됩니다.

    • VPC 피어링 연결이 active인 경우, 피어 VPC의 CIDR 블록과 겹치지 않으면 VPC에 CIDR 블록을 추가할 수 있습니다.

    • VPC 피어링 연결이 pending-acceptance인 경우, 수락자 VPC의 CIDR 블록과 겹치는지 여부에 관계 없이 요청자 VPC의 소유자가 VPC에 CIDR 블록을 추가할 수 없습니다. 수락자 VPC의 소유자가 피어링 연결을 수락하거나, 요청자 VPC의 소유자가 VPC 피어링 연결 요청을 삭제하고 CIDR 블록을 추가한 다음 VPC 피어링 연결을 새로 요청해야 합니다.

    • VPC 피어링 연결이 pending-acceptance인 경우, 수락자 VPC이 소유자는 VPC에 CIDR 블록을 추가할 수 있습니다. 보조 CIDR 블록이 요청자 VPC의 CIDR 블록과 겹치는 경우에는 VPC 피어링 연결 요청이 실패하고 요청을 수락할 수 없게 됩니다.

  • AWS Direct Connect를 사용하여 Direct Connect 게이트웨이를 통해 여러 VPC에 연결하는 경우 Direct Connect 게이트웨이에 연결된 VPC에는 중첩되는 CIDR 블록이 있으면 안 됩니다. Direct Connect 게이트웨이와 연결된 VPC 중 하나에 CIDR 블록을 추가한 경우 새로운 CIDR 블록이 다른 연결된 VPC에 있는 기존 CIDR 블록과 중첩되어서는 안 됩니다. 자세한 내용은 AWS Direct Connect 사용 설명서Direct Connect 게이트웨이를 참조하세요.

  • CIDR 블록을 추가하거나 제거하는 경우, associating | associated | disassociating | disassociated | failing | failed와 같은 다양한 상태를 통과할 수 있습니다. 사용자가 CIDR 블록을 사용할 수 있는 상태가 되면 associated 상태가 됩니다.

VPC에 연결한 CIDR 블록은 연결 해제가 가능하지만, 원래 VPC(기본 CIDR 블록)를 생성한 CIDR 블록은 연결을 해제할 수 없습니다. Amazon VPC 콘솔에서 VPC의 기본 CIDR을 보려면 Your VPCs(사용자 VPC)를 선택하고 자신의 VPC의 확인란을 선택한 다음 CIDRs 탭을 선택하십시오. AWS CLI을 사용하여 기본 CIDR을 보려면 다음과 같이 describe-vpcs 명령을 사용하십시오. 기본 CIDR은 최상위 CidrBlock element로 반환됩니다.

aws ec2 describe-vpcs --vpc-id vpc-1a2b3c4d --query Vpcs[*].CidrBlock --output text

출력의 예제는 다음과 같습니다.

10.0.0.0/16

IPv4 CIDR 블록 연결 제한

다음 표에서는 허용 및 제한된 VPC CIDR 블록 연결에 대한 개요를 제공합니다. 제한 이유는 일부 AWS 서비스가 AWS 서비스 측에서 충돌하지 않는 CIDR 블록이 필요한 교차 VPC 및 교차 계정 기능을 사용하기 때문입니다.

IP 주소 범위 제한된 연결 허용된 연결

10.0.0.0/8

다른 RFC 1918* 범위(172.16.0.0/12 및 192.168.0.0/16)의 CIDR 블록입니다.

VPC에 연결된 CIDR 블록 중 하나가 10.0.0.0/15 범위(10.0.0.0~10.1.255.255)에 해당되면 10.0.0.0/16 범위(10.0.0.0~10.0.255.255)의 CIDR 블록을 추가할 수 없습니다.

198.19.0.0/16 범위의 CIDR 블록입니다.

제한되지 않는 10.0.0.0/8 범위의 기타 모든 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

100.64.0.0/10 범위의 공개적으로 라우팅할 수 있는 모든 /16 넷마스크~/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

169.254.0.0/16

'link local' 블록의 CIDR 블록은 RFC 5735에 설명된 대로 예약되어 있으며 VPC에 할당할 수 없습니다.

172.16.0.0/12

다른 RFC 1918* 범위(10.0.0.0/8 및 192.168.0.0/16)의 CIDR 블록입니다.

172.31.0.0/16 범위의 CIDR 블록입니다.

198.19.0.0/16 범위의 CIDR 블록입니다.

제한되지 않는 172.16.0.0/12 범위의 기타 모든 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

100.64.0.0/10 범위의 공개적으로 라우팅할 수 있는 모든 /16 넷마스크~/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

192.168.0.0/16

다른 RFC 1918* 범위(10.0.0.0/8 및 172.16.0.0/12)의 CIDR 블록입니다.

198.19.0.0/16 범위의 CIDR 블록입니다.

192.168.0.0/16 범위의 기타 모든 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

공개적으로 라우팅할 수 있는 모든 /16 넷마스크~/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 100.64.0.0/10 범위의 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

198.19.0.0/16

RFC 1918* 범위의 CIDR 블록입니다.

공개적으로 라우팅할 수 있는 모든 /16 넷마스크~/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 100.64.0.0/10 범위의 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

공개적으로 라우팅이 가능한 CIDR 블록(비-RFC 1918) 또는 100.64.0.0/10 범위의 CIDR 블록

RFC 1918* 범위의 CIDR 블록입니다.

198.19.0.0/16 범위의 CIDR 블록입니다.

공개적으로 라우팅할 수 있는 기타 모든 /16 넷마스크~/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 100.64.0.0/10 범위의 /16 넷마스크~/28 넷마스크 CIDR 블록입니다.

* RFC 1918 범위는 RFC 1918에 지정된 프라이빗 IPv4 주소 범위입니다.

IPv6 VPC CIDR 블록

새 VPC를 생성할 때 단일 IPv6 CIDR 블록을 연결하거나 /44에서 /60까지 /4씩 증가하면서 최대 5개의 IPv6 CIDR 블록을 연결할 수 있습니다. Amazon의 IPv6 주소 풀에서 IPv6 CIDR 블록을 요청할 수 있습니다. 자세한 내용은 VPC에 IPv6 CIDR 블록 추가 단원을 참조하십시오.

IPv6 CIDR 블록을 VPC와 연결한 경우, IPv6 CIDR 블록을 VPC의 기존 서브넷 또는 새로 생성한 서브넷과 연결할 수 있습니다. 자세한 내용은 IPv6에 대한 서브넷 크기 조정 단원을 참조하십시오.

예를 들어, VPC를 생성하고 이 VPC에 Amazon이 제공하는 IPv6 CIDR 블록을 연결하도록 지정합니다. Amazon은 VPC에 IPv6 CIDR 블록 2001:db8:1234:1a00::/56을 할당합니다. IP 주소 범위는 직접 선택할 수 없습니다. 서브넷을 생성하고 이 범위에 속하는 IPv6 CIDR 블록을 연결할 수 있습니다(예: 2001:db8:1234:1a00::/64).

VPC에서 IPv6 CIDR 블록을 연결 해제할 수 있습니다. VPC에 연결된 IPv6 CIDR 블록을 분리한 후 나중에 다시 VPC에 IPv6 CIDR 블록을 연결하는 경우, 동일한 CIDR을 받을 것으로 기대할 수는 없습니다.