Virtual Private Cloud(VPC) - Amazon Virtual Private Cloud

Virtual Private Cloud(VPC)

Virtual Private Cloud(VPC)는 사용자의 AWS 계정 전용 가상 네트워크입니다. VPC는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있습니다. Amazon EC2 인스턴스 같은 AWS 리소스를 VPC에서 실행할 수 있습니다.

VPC 기초

VPC를 생성할 때 VPC의 IPv4 주소 범위를 CIDR(Classless Inter-Domain Routing) 블록 형태로 지정해야 합니다. 예: 10.0.0.0/16. 이것은 VPC의 기본 CIDR 블록입니다. 자세한 정보는 IP 주소 지정의 내용을 참조하십시오.

VPC는 리전의 모든 가용 영역에 적용됩니다. 다음 다이어그램에서는 새 VPC를 보여줍니다. VPC를 생성한 후 각 가용 영역에 하나 이상의 서브넷을 추가할 수 있습니다. 자세한 정보는 VPC의 서브넷의 내용을 참조하십시오.


                해당 리전의 가용 영역에 걸쳐 있는 VPC 입니다.

VPC 크기 조정

Amazon VPC는 IPv4 및 IPv6 주소 지정을 지원합니다. IP 주소에 대한 자세한 내용은 IP 주소 지정 단원을 참조하십시오.

VPC에는 이와 연결된 IPv4 CIDR 블록이 있어야 합니다. VPC에 여러 개의 IPv4 CIDR 블록과 여러 개의 IPv6 CIDR 블록을 선택적으로 연결할 수 있습니다.

IPv4용 VPC 크기 조정

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

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

RFC 1918 범위 CIDR 블록의 예
10.0.0.0 - 10.255.255.255 (10/8 접두사) VPC는 /16 이하여야 합니다(예: 10.0.0.0/16).
172.16.0.0 - 172.31.255.255 (172.16/12 접두사) VPC는 /16 이하여야 합니다(예: 172.31.0.0/16).
192.168.0.0 - 192.168.255.255 (192.168/16 접두사) VPC는 더 작을 수 있습니다(예: 192.168.0.0/20).

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

다른 AWS 서비스에 사용할 VPC를 만들려면, 해당 서비스 설명서를 참조하여 IP 주소 범위나 네트워킹 구성 요소에 대한 특정 요구 사항이 있는지 확인하십시오.

명령줄 도구 또는 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의 로컬 경로를 보여줍니다.

Destination 대상
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 블록은 연결할 수 있습니다.

  • ClassicLink에서 VPC를 활성화하면 10.0.0.0/1610.1.0.0/16 범위의 CIDR 블록은 연결할 수 있지만, 10.0.0.0/8 범위의 기타 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

다음은 출력의 예입니다.

[ "10.0.0.0/16", ]

IPv4 CIDR 블록 연결 제한

다음 표에서는 허용 및 제한된 VPC CIDR 블록 연결에 대한 개요를 제공합니다.

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 범위의 기타 모든 CIDR 블록입니다.

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

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 범위의 기타 모든 CIDR 블록입니다.

공개적으로 라우팅이 가능한 모든 IPv4 CIDR 블록(비-RFC 1918) 또는 100.64.0.0/10 범위의 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 범위의 기타 모든 CIDR 블록입니다.

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

198.19.0.0/16

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

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

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

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

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

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

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

IPv6용 VPC 크기 조정

새 VPC를 생성할 때 단일 IPv6 CIDR 블록을 계정의 기존 VPC와 연결하거나 기존 VPC를 수정하여 최대 5개까지 연결할 수 있습니다. CIDR 블록은 /56의 고정 접두사 길이입니다. Amazon의 IPv6 주소 풀에서 IPv6 CIDR 블록을 요청할 수 있습니다. 자세한 정보는 IPv6 CIDR 블록을 VPC와 연결의 내용을 참조하십시오.

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을 받을 것으로 기대할 수는 없습니다.