Amazon Virtual Private Cloud
VPC 피어링

특정 경로로 구성

CIDR 블록의 일부분, 특정 CIDR 블록(VPC에 여러 개의 CIDR 블록이 있는 경우) 또는 피어 VPC 내의 특정 인스턴스에 대한 액세스를 제공하도록 VPC 피어링 연결을 구성할 수 있습니다. 여기서는 겹치는 CIDR 블록이 있는 2개 이상의 VPC로 중앙 VPC가 피어링됩니다. 특정 VPC 피어링 연결 구성이 필요한 시나리오의 예는 VPC 피어링 시나리오 단원을 참조하십시오. VPC 피어링 연결을 생성하고 사용하는 방법에 대한 자세한 내용은 VPC 피어링 연결 작업 단원을 참조하십시오. 라우팅 테이블 업데이트에 대한 자세한 내용은 VPC 피어링 연결을 위한 라우팅 테이블 업데이트 단원을 참조하십시오.

VPC 1개에 속한 서브넷 2개로 피어링되는 VPC 2개

중앙 VPC(VPC A)가 있고 VPC A와 VPC B 사이(pcx-aaaabbbb), VPC A와 VPC C 사이(pcx-aaaacccc)에 VPC 피어링 연결이 있습니다. VPC A에 VPC 피어링 연결마다 하나씩 2개의 서브넷이 있습니다.


                    서브넷 2개로 피어링되는 VPC 2개

서로 다른 서브넷에 별도의 리소스 세트가 있는 중앙 VPC가 있는 경우 이런 종류의 구성을 사용할 수 있습니다. 다른 VPC는 리소스 전부가 아니라 일부에 대한 액세스가 필요할 수 있습니다.

서브넷 X의 라우팅 테이블은 VPC B의 전체 CIDR 블록에 액세스하기 위해 VPC 피어링 연결 pcx-aaaabbbb를 가리킵니다. VPC B의 라우팅 테이블은 VPC A에 있는 서브넷 X의 CIDR 블록에만 액세스하기 위해 pcx-aaaabbbb를 가리킵니다. 마찬가지로 서브넷 Y의 라우팅 테이블은 VPC C의 전체 CIDR 블록에 액세스하기 위해 VPC 피어링 연결 pcx-aaaacccc를 가리킵니다. VPC C의 라우팅 테이블은 VPC A에서 서브넷 Y의 CIDR 블록에만 액세스하기 위해 pcx-aaaacccc를 가리킵니다.

라우팅 테이블 대상 주소 대상
VPA A의 서브넷 X 172.16.0.0/16 로컬
10.0.0.0/16 pcx-aaaabbbb
VPA A의 서브넷 Y 172.16.0.0/16 로컬
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 로컬
172.16.0.0/24 pcx-aaaabbbb
VPC C 10.0.0.0/16 로컬
172.16.1.0/24 pcx-aaaacccc

마찬가지로 중앙 VPC (VPC A)에는 여러 개의 CIDR 블록이 있을 수 있고, VPC B와 VPC C에는 각 CIDR 블록의 서브넷에 대한 VPC 피어링 연결이 있을 수 있습니다.


    			CIDR 블록 1개로 피어링되는 VPC 2개
라우팅 테이블 대상 주소 대상
VPA A의 서브넷 X 10.2.0.0/16 로컬
10.3.0.0/16 로컬
10.0.0.0/16 pcx-aaaabbbb
VPA A의 서브넷 Y 10.2.0.0/16 로컬
10.3.0.0/16 로컬
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 로컬
10.2.0.0/24 pcx-aaaabbbb
VPC C 10.0.0.0/16 로컬
10.3.0.0/24 pcx-aaaacccc

자세한 내용은 Amazon VPC 사용 설명서VPC에 IPv4 CIDR 블록 추가를 참조하십시오.

IPv6를 위한 VPC 1개에 속한 서브넷 2개로 피어링되는 VPC 2개

위와 같이 VPC 피어링 구성이 동일합니다. VPC A와 VPC B는 IPv6에 대해 활성화되므로, 각 VPC에는 연결된 IPv6 CIDR 블록이 있습니다. VPC A의 서브넷 X에는 연결된 IPv6 CIDR 블록이 있습니다. 이러한 VPC는 동일한 리전에 있으므로, 리전 간 VPC 피어링 연결에는 IPv6을 통한 통신이 지원되지 않습니다.


                        서브넷 2개로 피어링되는 VPC 2개

VPC B가 VPC 피어링 연결을 사용하여 IPv6를 통해 VPC A의 서브넷 X와 통신하도록 할 수 있습니다. 이렇게 하려면 VPC B용 IPv6 CIDR 블록이 대상인 VPC A 용도의 라우팅 테이블에 대한 경로, 그리고 VPC A에서 서브넷 X의 IPv6 CIDR이 대상인 VPC B 용도의 라우팅 테이블에 대한 경로를 추가해야 합니다.

라우팅 테이블 대상 주소 대상 참고
VPA A의 서브넷 X 172.16.0.0/16 로컬
2001:db8:abcd:aa00::/56 로컬 VPC 내부의 IPv6 통신에 자동으로 추가되는 로컬 경로.
10.0.0.0/16 pcx-aaaabbbb
2001:db8:1234:bb00::/56 pcx-aaaabbbb VPC B의 IPv6 CIDR 블록에 대한 경로.
VPA A의 서브넷 Y 172.16.0.0/16 로컬
2001:db8:abcd:aa00::/56 로컬 VPC 내부의 IPv6 통신에 자동으로 추가되는 로컬 경로.
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 로컬
2001:db8:1234:bb00::/56 로컬 VPC 내부의 IPv6 통신에 자동으로 추가되는 로컬 경로.
172.16.0.0/24 pcx-aaaabbbb
2001:db8:abcd:aa00::/64 pcx-aaaabbbb VPC A의 IPv6 CIDR 블록에 대한 경로.
VPC C 10.0.0.0/16 로컬
172.16.1.0/24 pcx-aaaacccc

VPC 2개가 VPC 1개의 특정 CIDR 블록으로 피어링

중앙 VPC(VPC A)가 있고 VPC A와 VPC B 사이(pcx-aaaabbbb), VPC A와 VPC C 사이(pcx-aaaacccc)에 VPC 피어링 연결이 있습니다. VPC A에는 VPC 피어링 연결마다 하나씩 2개의 CIDR 블록이 있습니다.

라우팅 테이블 대상 주소 대상 참고
VPA A의 서브넷 X 172.16.0.0/16 로컬
2001:db8:abcd:aa00::/56 로컬 VPC 내부의 IPv6 통신에 자동으로 추가되는 로컬 경로.
10.0.0.0/16 pcx-aaaabbbb
2001:db8:1234:bb00::/56 pcx-aaaabbbb VPC B의 IPv6 CIDR 블록에 대한 경로.
VPA A의 서브넷 Y 172.16.0.0/16 로컬
2001:db8:abcd:aa00::/56 로컬 VPC 내부의 IPv6 통신에 자동으로 추가되는 로컬 경로.
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 로컬
2001:db8:1234:bb00::/56 로컬 VPC 내부의 IPv6 통신에 자동으로 추가되는 로컬 경로.
172.16.0.0/24 pcx-aaaabbbb
2001:db8:abcd:aa00::/64 pcx-aaaabbbb VPC A의 IPv6 CIDR 블록에 대한 경로.
VPC C 10.0.0.0/16 로컬
172.16.1.0/24 pcx-aaaacccc

자세한 내용은 Amazon VPC 사용 설명서VPC에 IPv4 CIDR 블록 추가를 참조하십시오.

VPC 2개의 특정 서브넷으로 피어링되는 VPC 1개

서브넷이 1개인 중앙 VPC(VPC A)가 있고 VPC A와 VPC B 사이(pcx-aaaabbbb), VPC A와 VPC C 사이(pcx-aaaacccc)에 VPC 피어링 연결이 있습니다. VPC B와 VPC C에는 서브넷이 2개씩 있고 각 VPC의 서브넷 1개만 VPC A와의 피어링 연결에 사용됩니다.


          서브넷 2개와 피어링되는 VPC 1개

다른 VPC가 액세스해야 하는 Active Directory 서비스 등의 단일 리소스 세트가 포함된 중앙 VPC가 있는 경우 이런 종류의 구성을 사용할 수 있습니다. 중앙 VPC에는 피어링할 VPC에 대한 모든 액세스 권한이 필요하지 않습니다.

VPC A의 라우팅 테이블은 VPC B와 VPC C의 특정 서브넷에만 액세스하기 위해 VPC 피어링 연결을 둘 다 가리킵니다. VPC B와 VPC C에 있는 서브넷의 라우팅 테이블은 VPC A 서브넷에 액세스하기 위해 해당 VPC 피어링 연결을 가리킵니다.

라우팅 테이블 대상 주소 대상
VPC A 172.16.0.0/16 로컬
10.0.0.0/24 pcx-aaaabbbb
10.0.1.0/24 pcx-aaaacccc
VPA B의 서브넷 A 10.0.0.0/16 로컬
172.16.0.0/24 pcx-aaaabbbb
VPA C의 서브넷 B 10.0.0.0/16 로컬
172.16.0.0/24 pcx-aaaacccc

응답 트래픽을 위한 라우팅

겹치거나 일치하는 CIDR 블록을 가진 여러 VPC와 피어링된 VPC가 있는 경우, 라우팅 테이블이 자신의 VPC에서 잘못된 VPC로 응답 트래픽을 보내지 못하도록 구성되어 있는지 확인하십시오. AWS에서는 현재 패킷의 원본 IP를 확인하고 응답 패킷을 다시 원본으로 라우팅하는 VPC 피어링 연결에서 유니캐스트 역경로 전달을 지원하지 않습니다.

예를 들어, VPC A는 VPC B 및 VPC C와 피어링됩니다. VPC B 및 VPC C에는 일치하는 CIDR 블록이 있으며, 해당 서브넷에는 일치하는 CIDR 블록이 있습니다. VPC B에서 서브넷 B의 라우팅 테이블이 VPC A 서브넷에 액세스하기 위해 VPC 피어링 연결 pcx-aaaabbbb를 가리킵니다. VPC A 라우팅 테이블은 10.0.0.0/16 트래픽을 피어링 연결 pcx-aaaaccccc로 보내도록 구성됩니다.

라우팅 테이블 대상 주소 대상
VPA B의 서브넷 B 10.0.0.0/16 로컬
172.16.0.0/24 pcx-aaaabbbb
VPC A 172.16.0.0/24 로컬
10.0.0.0/16 pcx-aaaacccc

            피어링의 잘못된 응답 라우팅

프라이빗 IP 주소 10.0.1.66/32를 가진 VPC B에서 서브넷 B의 인스턴스가 VPC 피어링 연결 pcx-aaaabbbb를 사용하여 VPC A에 있는 Active Directory 서버로 트래픽을 전송합니다. VPC A에서 10.0.1.66/32에 응답 트래픽을 전송합니다. 그러나 VPC A 라우팅 테이블은 10.0.0.0/16 범위의 IP 주소 내 모든 트래픽을 VPC 피어링 연결 pcx-aaaacccc로 보내도록 구성됩니다. VPC C의 서브넷 B에 IP 주소가 10.0.1.66/32인 인스턴스가 있는 경우, VPC A로부터 응답 트래픽을 받습니다. VPC B의 서브넷 B에 있는 인스턴스는 VPC A에 대한 요청의 응답을 받지 않습니다.

이를 방지하려면 VPC A의 라우팅 테이블에 대상 주소가 10.0.1.0/24이고 대상이 pcx-aaaabbbb인 구체적인 경로를 추가할 수 있습니다. 10.0.1.0/24 트래픽에 대한 경로가 더 구체적이므로 10.0.1.0/24 IP 주소 범위가 대상 주소인 트래픽은 VPC 피어링 연결 pcx-aaaabbbb를 통해 이동합니다.

다음 예에서 VPC A의 라우팅 테이블에는 각 VPC 피어링 연결의 각 서브넷에 대한 경로가 있습니다. VPC A는 VPC B의 서브넷 B 및 VPC C의 서브넷 C와 통신할 수 있습니다. 이 시나리오는 10.0.0.0/16 IP 주소 범위 내에 속하는 다른 서브넷을 사용하는 다른 VPC 피어링 연결을 추가해야 하는 경우에 유용합니다.—해당 서브넷에 대해 다른 경로를 간단하게 추가할 수 있습니다.

대상 주소 대상
172.16.0.0/16 로컬
10.0.1.0/24 pcx-aaaabbbb
10.0.0.0/24 pcx-aaaacccc

그 대신, 사용 사례에 따라 다음과 같이 트래픽이 올바른 서버로 다시 라우팅되도록 VPC B에서 특정 IP 주소에 대한 경로를 생성할 수 있습니다(라우팅 테이블은 가장 긴 접두사 일치 항목을 사용하여 경로의 우선 순위를 지정함).

대상 주소 대상
172.16.0.0/16 로컬
10.0.1.66/32 pcx-aaaabbbb
10.0.0.0/16 pcx-aaaacccc

VPC 2개의 인스턴스로 피어링되는 VPC 1개의 인스턴스

서브넷이 1개인 중앙 VPC(VPC A)가 있고 VPC A와 VPC B 사이(pcx-aaaabbbb), VPC A와 VPC C 사이(pcx-aaaacccc)에 VPC 피어링 연결이 있습니다. VPC A에는 피어링되는 VPC마다 1개씩, 여러 인스턴스를 가진 서브넷 하나가 있습니다. 이런 종류의 구성을 사용하여 특정 인스턴스에 대한 피어링 트래픽을 제한할 수 있습니다.


                    VPC 2개의 인스턴스로 피어링되는 VPC의 인스턴스

각 VPC 라우팅 테이블은 피어 VPC의 단일 IP 주소(더불어 특정 인스턴스)에 액세스하기 위해 관련 VPC 피어링 연결을 가리킵니다.

라우팅 테이블 대상 주소 대상
VPC A 172.16.0.0/16 로컬
10.0.0.44/32 pcx-aaaabbbb
10.0.0.55/32 pcx-aaaacccc
VPC B 10.0.0.0/16 로컬
172.16.0.88/32 pcx-aaaabbbb
VPC C 10.0.0.0/16 로컬
172.16.0.99/32 pcx-aaaacccc

가장 긴 접두사 일치 항목을 사용하여 VPC 2개와 피어링되는 VPC 1개

서브넷이 1개인 중앙 VPC(VPC A)가 있고 VPC A와 VPC B 사이(pcx-aaaabbbb), VPC A와 VPC C 사이(pcx-aaaacccc)에 VPC 피어링 연결이 있습니다. VPC B와 VPC C에 일치하는 CIDR 블록이 있습니다. VPC 피어링 연결 pcx-aaaabbbb를 사용하여 VPC A와 VPC B의 특정 인스턴스 간에 트래픽을 라우팅할 수 있습니다. 10.0.0.0/16 IP 주소 범위로 향하는 다른 모든 트래픽은 VPC A와 VPC C 사이에 pcx-aaaacccc를 통해 라우팅됩니다.


                    가장 긴 접두사 일치 항목을 사용하여 피어링

VPC 라우팅 테이블은 가장 긴 접두사 일치 항목을 사용하여 의도하는 VPC 피어링 연결에서 가장 구체적인 경로를 선택합니다. 다른 모든 트래픽은 그 다음 일치하는 경로를 통해 라우팅되며 여기서는 VPC 피어링 연결 pcx-aaaacccc입니다.

라우팅 테이블 대상 주소 대상
VPC A 172.16.0.0/16 로컬
10.0.0.77/32 pcx-aaaabbbb
10.0.0.0/16 pcx-aaaacccc
VPC B 10.0.0.0/16 로컬
172.16.0.0/16 pcx-aaaabbbb
VPC C 10.0.0.0/16 로컬
172.16.0.0/16 pcx-aaaacccc

중요

VPC B에서 10.0.0.77/32 이외의 인스턴스가 VPC A로 트래픽을 전송할 경우 응답 트래픽은 VPC B가 아닌 VPC B로 라우팅될 수 있습니다. 자세한 내용은 응답 트래픽을 위한 라우팅 단원을 참조하십시오.

여러 VPC 구성

여기서는 중앙 VPC(VPC A)가 스포크 구성에서 여러 VPC와 피어링됩니다. 이런 종류의 구성에 대한 자세한 내용은 여러 VPC와 피어링된 하나의 VPC 단원을 참조하십시오. 또한 풀 메시 구성에서 VPC 3개(VPC M, N, P)가 함께 피어링됩니다. 이런 종류의 구성에 대한 자세한 내용은 함께 피어링된 세 개의 VPC 단원을 참조하십시오.

또한 VPC C에는 VPC M과의 VPC 피어링 연결(pcx-ccccmmmm)이 있습니다. VPC A와 VPC M에 중첩되는 CIDR 블록이 있습니다. 즉, VPC A와 VPC C 사이의 피어링 트래픽이 VPC C의 특정 서브넷(서브넷 A)으로 제한되어 VPC C가 VPC A 또는 VPC M에서 요청을 받을 경우 올바른 VPC로 응답 트래픽을 전송할 수 있습니다. AWS에서는 현재 패킷의 원본 IP를 확인하고 응답 패킷을 다시 원본으로 라우팅하는 VPC 피어링 연결에서 유니캐스트 역경로 전달을 지원하지 않습니다. 자세한 내용은 응답 트래픽을 위한 라우팅 단원을 참조하십시오.

마찬가지로 VPC C와 VPC P에 겹치는 CIDR 블록이 있습니다. VPC M과 VPC C 사이의 피어링 트래픽이 VPC C의 서브넷 B로 제한되며 VPC M과 VPC P 사이의 피어링 트래픽이 VPC P의 서브넷 A로 제한되어 VPC M이 VPC C나 VPC P에서 피어링 트래픽을 받을 경우 올바른 VPC로 응답 트래픽을 다시 전송할 수 있습니다.


                    여러 피어링 구성

VPC B, D, E, F 및 G의 라우팅 테이블은 VPC A의 전체 CIDR 블록에 액세스하기 위해 해당 피어링 연결을 가리키고, VPC A 라우팅 테이블은 전체 CIDR 블록에 액세스하기 위해 VPC B, D, E, F 및 G의 해당 피어링 연결을 가리킵니다. 피어링 연결 pcx-aaaacccc의 경우, VPC A 라우팅 테이블이 VPC C의 서브넷 A(192.168.0.0/24)로만 트래픽을 라우팅하고 VPC C의 서브넷 A 라우팅 테이블이 VPC A의 전체 CIDR 블록을 가리킵니다.

VPC N 라우팅 테이블은 VPC M과 VPC P의 전체 CIDR 블록에 액세스하기 위해 해당 피어링 연결을 가리키고, VPC P 라우팅 테이블은 VPC N의 전체 CIDR 블록에 액세스하기 위해 해당 피어링 연결을 가리킵니다. VPC P의 서브넷 A 라우팅 테이블은 VPC M의 전체 CIDR 블록에 액세스하기 위해 해당 피어링 연결을 가리킵니다. VPC M 라우팅 테이블은 VPC C의 서브넷 B와 VPC P의 서브넷 A에 액세스하기 위해 해당 피어링 연결을 가리킵니다.

라우팅 테이블 대상 주소 대상
VPC A 172.16.0.0/16 로컬
10.0.0.0/16 pcx-aaaabbbb
192.168.0.0/24 pcx-aaaacccc
10.2.0.0/16 pcx-aaaadddd
10.3.0.0/16 pcx-aaaaeeee
172.17.0.0/16 pcx-aaaaffff
10.4.0.0/16 pcx-aaaagggg
VPC B 10.0.0.0/16 로컬
172.16.0.0/16 pcx-aaaabbbb
VPA C의 서브넷 A 192.168.0.0/16 로컬
172.16.0.0/16 pcx-aaaacccc
VPA C의 서브넷 B 192.168.0.0/16 로컬
172.16.0.0/16 pcx-ccccmmmm
VPC D 10.2.0.0/16 로컬
172.16.0.0/16 pcx-aaaadddd
VPC E 10.3.0.0/16 로컬
172.16.0.0/16 pcx-aaaaeeee
VPC F 172.17.0.0/16 로컬
172.16.0.0/16 pcx-aaaaaffff
VPC G 10.4.0.0/16 로컬
172.16.0.0/16 pcx-aaaagggg
VPC M 172.16.0.0/16 로컬
192.168.1.0/24 pcx-ccccmmmm
10.0.0.0/16 pcx-mmmmnnnn
192.168.0.0/24 pcx-mmmmpppp
VPC N 10.0.0.0/16 로컬
172.16.0.0/16 pcx-mmmmnnnn
192.168.0.0/16 pcx-nnnnpppp
VPC P 192.168.0.0/16 로컬
10.0.0.0/16 pcx-nnnnpppp
172.16.0.0/16 pcx-mmmmpppp