

# VPC CIDR 블록
<a name="vpc-cidr-blocks"></a>

가상 프라이빗 클라우드(VPC)의 IP 주소는 CIDR(Classless Inter-Domain Routing) 표기법을 사용하여 표시됩니다. VPC에는 연결된 IPv4 CIDR 블록이 있어야 합니다. 선택에 따라 추가 IPv4 CIDR 블록과 하나 이상의 IPv6 CIDR 블록을 연결할 수 있습니다. 자세한 내용은 [VPC 및 서브넷의 IP 주소 지정](vpc-ip-addressing.md) 섹션을 참조하세요.

**Topics**
+ [IPv4 VPC CIDR 블록](#vpc-sizing-ipv4)
+ [VPC에 IPv4 CIDR 블록 관리](#vpc-resize)
+ [IPv4 CIDR 블록 연결 제한](#add-cidr-block-restrictions)
+ [IPv6 VPC CIDR 블록](#vpc-sizing-ipv6)

## IPv4 VPC CIDR 블록
<a name="vpc-sizing-ipv4"></a>

VPC를 만들 때 VPC의 IPv4 CIDR 블록을 지정해야 합니다. 허용된 블록 크기는 `/16` 넷마스크 (IP 주소 65,536개)\$1`/28` 넷마스크(IP 주소 16개)입니다. VPC 생성을 마쳤으면 추가 IPv4 CIDR 블록을 VPC에 연결할 수 있습니다. 자세한 내용은 [VPC에서 CIDR 블록 추가 또는 제거](add-ipv4-cidr.md) 섹션을 참조하세요.

VPC를 생성하는 경우, 다음과 같이 [RFC 1918](http://www.faqs.org/rfcs/rfc1918.html) 규격에 따라 프라이빗 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 | 

**고려 사항**
+ 다음 CIDR 블록은 VPC에 지정할 수 없습니다.
  + 0.0.0.0/8
  + 127.0.0.0/8(내부 호스트 루프백 주소 범위)
  + 169.254.0.0/16([링크-로컬 주소 범위](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#link-local-addresses))
  + 224.0.0.0/4(멀티캐스트 주소 범위)
+ AWS 서비스와 함께 사용할 VPC를 생성하려면 해당 서비스 설명서를 참조하여 해당 구성에 대한 특정 요구 사항이 있는지 확인하십시오.
+ 일부 AWS 서비스는 `172.17.0.0/16` CIDR 범위를 사용합니다. 네트워크에서 IP 주소 범위를 이미 사용 중인 경우 서비스에서 IP 주소 충돌이 발생할 수 있습니다. 예를 들어, AWS Cloud9 및 Amazon SageMaker AI는 `172.17.0.0/16`을 사용합니다. 충돌을 방지하려면 VPC를 생성할 때 이 범위를 사용하지 마세요. 자세한 내용은 AWS Cloud9 사용 설명서**의 [Docker에서 VPC의 IP 주소를 사용하므로 EC2 환경에 연결할 수 없음](https://docs.aws.amazon.com/cloud9/latest/user-guide/troubleshooting.html#docker-bridge)을 참조하세요.
+ RFC 1918에 지정된 프라이빗 IPv4 주소 범위에 속하지 않는 공개적으로 라우팅 가능한 CIDR 블록을 사용하여 VPC를 생성할 수 있습니다. 하지만 이 설명서에서는 *프라이빗 IP 주소*는 VPC의 CIDR 범위 내에 있는 프라이빗 IPv4 주소를 말합니다.
+ 명령줄 도구 또는 Amazon EC2 API를 사용하여 VPC를 생성하면 CIDR 블록이 표준 형식으로 자동 수정됩니다. 예를 들어 CIDR 블록에 100.68.0.18/18을 지정하면 100.68.0.0/18의 CIDR 블록이 생성됩니다.

## VPC에 IPv4 CIDR 블록 관리
<a name="vpc-resize"></a>

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

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

![\[단일 및 여러 개의 CIDR 블록을 가진 VPC\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/vpc-multiple-cidrs.png)


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


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

VPC에 CIDR 블록을 추가할 경우 다음 규칙이 적용됩니다.
+ 허용된 블록 크기는 `/28` 넷마스크\$1`/16` 넷마스크입니다.
+ CIDR 블록은 VPC에 연결된 기존 CIDR 블록과 겹치지 않습니다.
+ 사용 가능한 IPv4 주소 범위에 제한이 있습니다. 자세한 내용은 [IPv4 CIDR 블록 연결 제한](#add-cidr-block-restrictions) 단원을 참조하세요.
+ 기존 CIDR 블록의 크기를 늘리거나 줄일 수 없습니다.
+ VPC에 연결할 수 있는 CIDR 블록의 수와 라우팅 테이블에 추가할 수 있는 경로의 수에는 할당량이 있습니다. 할당량을 초과하는 경우에는 CIDR 블록을 연결할 수 없습니다. 자세한 내용은 [Amazon VPC 할당량](amazon-vpc-limits.md) 단원을 참조하세요.
+ 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 피어링 연결 요청이 실패하고 요청을 수락할 수 없게 됩니다.
+ Direct Connect를 사용하여 Direct Connect 게이트웨이를 통해 여러 VPC에 연결하는 경우 Direct Connect 게이트웨이에 연결된 VPC에는 중첩되는 CIDR 블록이 있으면 안 됩니다. Direct Connect 게이트웨이와 연결된 VPC 중 하나에 CIDR 블록을 추가한 경우 새로운 CIDR 블록이 다른 연결된 VPC에 있는 기존 CIDR 블록과 중첩되어서는 안 됩니다. 자세한 내용은 *Direct Connect 사용 설명서*의 [Direct Connect 게이트웨이](https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-gateways.html)를 참조하세요.
+ CIDR 블록을 추가하거나 제거하는 경우, `associating` \$1 `associated` \$1 `disassociating` \$1 `disassociated` \$1 `failing` \$1 `failed`와 같은 다양한 상태를 통과할 수 있습니다. 사용자가 CIDR 블록을 사용할 수 있는 상태가 되면 `associated` 상태가 됩니다.

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

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

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

```
10.0.0.0/16
```

## IPv4 CIDR 블록 연결 제한
<a name="add-cidr-block-restrictions"></a>

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


| 기존 IPv4 주소 범위 | 제한된 연결 | 허용된 연결 | 
| --- | --- | --- | 
|  10.0.0.0/8  |  다른 RFC 1918\$1 범위(172.16.0.0/12 및 192.168.0.0/16)의 CIDR 블록입니다. VPC에 연결된 CIDR 블록 중 하나가 10.0.0.0/15 범위(10.0.0.0\$110.1.255.255)에 해당되면 10.0.0.0/16 범위(10.0.0.0\$110.0.255.255)의 CIDR 블록을 추가할 수 없습니다. 198.19.0.0/16 범위의 CIDR 블록입니다.  |  제한되지 않는 10.0.0.0/8 범위의 기타 모든 /16 넷마스크\$1/28 넷마스크 CIDR 블록입니다. 100.64.0.0/10 범위의 공개적으로 라우팅할 수 있는 모든 /16 넷마스크\$1/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 /16 넷마스크\$1/28 넷마스크 CIDR 블록입니다.  | 
|  169.254.0.0/16  |  'link local' 블록의 CIDR 블록은 [RFC 5735](https://www.rfc-editor.org/rfc/rfc5735)에 설명된 대로 예약되어 있으며 VPC에 할당할 수 없습니다.  |  | 
|  172.16.0.0/12  |  다른 RFC 1918\$1 범위(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 넷마스크\$1/28 넷마스크 CIDR 블록입니다. 100.64.0.0/10 범위의 공개적으로 라우팅할 수 있는 모든 /16 넷마스크\$1/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 /16 넷마스크\$1/28 넷마스크 CIDR 블록입니다.  | 
|  192.168.0.0/16  |  다른 RFC 1918\$1 범위(10.0.0.0/8 및 172.16.0.0/12)의 CIDR 블록입니다. 198.19.0.0/16 범위의 CIDR 블록입니다.  |  192.168.0.0/16 범위의 기타 모든 /16 넷마스크\$1/28 넷마스크 CIDR 블록입니다. 공개적으로 라우팅할 수 있는 모든 /16 넷마스크\$1/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 100.64.0.0/10 범위의 /16 넷마스크\$1/28 넷마스크 CIDR 블록입니다.  | 
|  198.19.0.0/16  |  RFC 1918\$1 범위의 CIDR 블록입니다.  |  공개적으로 라우팅할 수 있는 모든 /16 넷마스크\$1/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 100.64.0.0/10 범위의 /16 넷마스크\$1/28 넷마스크 CIDR 블록입니다.  | 
|  공개적으로 라우팅이 가능한 CIDR 블록(비-RFC 1918) 또는 100.64.0.0/10 범위의 CIDR 블록  |  RFC 1918\$1 범위의 CIDR 블록입니다. 198.19.0.0/16 범위의 CIDR 블록입니다.  |  공개적으로 라우팅할 수 있는 기타 모든 /16 넷마스크\$1/28 넷마스크 IPv4 CIDR 블록(비 RFC 1918) 또는 100.64.0.0/10 범위의 /16 넷마스크\$1/28 넷마스크 CIDR 블록입니다. RFC 1918 범위 중 하나에 CIDR을 연결할 수도 있지만, 이렇게 하려면 VPC를 생성할 때 먼저 해당 CIDR을 추가한 다음 비 RFC 1918 CIDR을 추가해야 합니다.  | 

\$1 RFC 1918 범위는 [RFC 1918](http://www.faqs.org/rfcs/rfc1918.html)에 지정된 프라이빗 IPv4 주소 범위입니다.

## IPv6 VPC CIDR 블록
<a name="vpc-sizing-ipv6"></a>

새 VPC를 생성할 때 단일 IPv6 CIDR 블록을 연결하거나 `/44`에서 `/60`까지 `/4`씩 증가하면서 최대 5개의 IPv6 CIDR 블록을 연결할 수 있습니다. Amazon의 IPv6 주소 풀에서 IPv6 CIDR 블록을 요청할 수 있습니다. 자세한 내용은 [VPC에서 CIDR 블록 추가 또는 제거](add-ipv4-cidr.md) 섹션을 참조하세요.

IPv6 CIDR 블록을 VPC와 연결한 경우, IPv6 CIDR 블록을 VPC의 기존 서브넷 또는 새로 생성한 서브넷과 연결할 수 있습니다. 자세한 내용은 [IPv6에 대한 서브넷 크기 조정](subnet-sizing.md#subnet-sizing-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을 받을 것으로 기대할 수는 없습니다.