

# VPC 피어링 연결
<a name="working-with-vpc-peering"></a>

VPC 피어링을 사용하면 동일하거나 상이한 AWS 리전에 있는 두 VPC를 연결할 수 있습니다. 이렇게 하면 한 VPC의 인스턴스가 다른 VPC의 인스턴스와 모두 동일한 네트워크에 속한 것처럼 통신할 수 있습니다.

VPC 피어링은 프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC 간에 직접 네트워크 라우팅을 생성합니다. 연결된 VPC 간에 전송되는 트래픽은 인터넷, VPN 연결 또는 AWS Direct Connect 연결을 통과하지 않습니다. 따라서 VPC 피어링은 VPC 경계 간에 데이터베이스 또는 웹 서버와 같은 리소스를 공유하는 안전한 방법입니다.

VPC 피어링 연결을 설정하려면 사용자가 한 VPC에서 피어링 연결 요청을 생성하고, 다른 VPC의 소유자가 그 요청을 수락해야 합니다. 연결이 설정되고 나면 라우팅 테이블을 업데이트하여 VPC 간에 트래픽을 라우팅할 수 있습니다. 이렇게 하면 한 VPC의 인스턴스가 다른 VPC의 리소스에 액세스할 수 있습니다.

VPC 피어링은 AWS에서 조직의 경계를 넘어 다중 VPC 아키텍처를 구축하고 리소스를 공유하는 데 중요한 도구입니다. VPN이나 기타 네트워킹 서비스를 복잡하게 구성하지 않고도 간단하고 지연 시간이 짧은 방법으로 VPC를 연결할 수 있습니다.

다음 절차를 사용하여 VPC 피어링 연결을 생성하고 연동할 수 있습니다.

**Topics**
+ [VPC 피어링 연결 생성](create-vpc-peering-connection.md)
+ [VPC 피어링 연결 수락 또는 거부](accept-vpc-peering-connection.md)
+ [VPC 피어링 연결을 위한 라우팅 테이블 업데이트](vpc-peering-routing.md)
+ [피어 보안 그룹을 참조하도록 보안 그룹 업데이트](vpc-peering-security-groups.md)
+ [VPC 피어링 연결에 대한 DNS 확인 활성화](vpc-peering-dns.md)
+ [VPC 피어링 연결 삭제](delete-vpc-peering-connection.md)
+ [VPC 피어링 연결 문제 해결](troubleshoot-vpc-peering-connections.md)

# VPC 피어링 연결 생성
<a name="create-vpc-peering-connection"></a>

VPC 피어링 연결을 생성하려면, 우선 다른 VPC와 피어링하기 위한 요청을 생성합니다. 요청을 활성화하려면 수락자 VPC의 소유자가 요청을 수락해야 합니다. 다음과 같은 피어링 연결이 지원됩니다.
+ 동일한 계정 및 리전의 VPC 간
+ 동일한 계정의 다른 리전에 있는 VPC 간
+ 다른 계정의 동일한 리전에 있는 VPC 간
+ 다른 계정의 다른 리전에 있는 VPC 간

리전 간 VPC 피어링 연결의 경우 요청자 VPC의 리전에서 요청을 수행해야 하며 수락자 VPC의 리전에서 요청이 수락되어야 합니다. 자세한 내용은 [VPC 피어링 연결 수락 또는 거부](accept-vpc-peering-connection.md) 섹션을 참조하세요.

**Topics**
+ [사전 조건](#vpc-peering-connection-prerequisites)
+ [콘솔을 사용하여 피어링 연결 생성](#create-vpc-peering-connection-console)
+ [명령줄을 사용하여 피어링 연결 생성](#create-vpc-peering-connection-command-line)

## 사전 조건
<a name="vpc-peering-connection-prerequisites"></a>
+ VPC 피어링 연결에 대한 [제한 사항](vpc-peering-basics.md#vpc-peering-limitations)을 검토합니다.
+ VPC에 겹치는 IPv4 CIDR 블록이 없는지 확인합니다. 겹치는 경우 VPC 피어링 연결의 상태가 즉시 `failed`로 바뀝니다. 이 제한 사항은 VPC에 고유한 IPv6 CIDR 블록이 있는 경우에도 적용됩니다.

## 콘솔을 사용하여 피어링 연결 생성
<a name="create-vpc-peering-connection-console"></a>

다음 절차에 따라 VPC 피어링 연결을 생성합니다.

**콘솔을 사용하여 피어링 연결을 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Peering connections**를 선택합니다.

1. **Create peering connection**(피어링 연결 생성)을 선택합니다.

1. (선택 사항) **이름**에 VPC 피어링 연결의 이름을 지정합니다. 그러면 Name 키와 지정한 값으로 태그가 생성됩니다.

1. **VPC ID(요청자)**에서 현재 계정의 VPC를 선택합니다.

1. **피어링할 다른 VPC 선택**에서 다음을 수행합니다.

   1. 다른 계정의 VPC와 피어링하려면 **계정**에서 **다른 계정**을 선택하고 계정 ID를 입력합니다. 그렇지 않으면 **내 계정**이 선택된 상태로 둡니다.

   1. 다른 리전의 VPC와 피어링하려면 **리전**에서 **다른 리전**을 선택하고 리전을 선택합니다. 그렇지 않으면 **이 리전**이 선택된 상태로 둡니다.

   1. **VPC ID(수락자)**에서 지정된 계정 및 리전의 VPC를 선택합니다.

1. (선택 사항) 태그를 추가하려면 **새 태그 추가(Add new tag)**를 선택하고 태그 키와 태그 값을 입력합니다.

1. **Create peering connection**(피어링 연결 생성)을 선택합니다.

1. 수락자 계정의 소유자가 피어링 연결을 수락해야 합니다. 자세한 내용은 [VPC 피어링 연결 수락 또는 거부](accept-vpc-peering-connection.md) 섹션을 참조하세요.

1. 두 VPC 간의 연결이 활성화되도록 두 VPC의 라우팅 테이블을 업데이트합니다. 자세한 내용은 [VPC 피어링 연결을 위한 라우팅 테이블 업데이트](vpc-peering-routing.md) 섹션을 참조하세요.

## 명령줄을 사용하여 피어링 연결 생성
<a name="create-vpc-peering-connection-command-line"></a>

다음과 같은 명령을 사용하여 VPC 피어링 연결을 생성할 수 있습니다.
+ [create-vpc-peering-connection](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-peering-connection.html)(AWS CLI)
+ [New-EC2VpcPeeringConnection](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpcPeeringConnection.html)(AWS Tools for Windows PowerShell)

# VPC 피어링 연결 수락 또는 거부
<a name="accept-vpc-peering-connection"></a>

`pending-acceptance` 상태의 VPC 피어링 연결은 사용 설정할 수락자 VPC의 소유자가 수락해야 합니다. `Deleted` 피어링 연결 상태에 대한 자세한 내용은 [VPC 피어링 연결 수명 주기](vpc-peering-basics.md#vpc-peering-lifecycle)를 참조하세요. 다른 AWS 계정으로 보낸 VPC 피어링 연결 요청은 수락할 수 없습니다. 같은 AWS 계정의 VPC 간에 VPC 피어링 연결을 생성하려는 경우, 직접 요청을 생성하고 수락할 수 있습니다.

`pending-acceptance` 상태로 받은 VPC 피어링 연결 요청을 거부할 수 있습니다. 알고 있고 신뢰하는 AWS 계정으로부터의 VPC 피어링 연결만 허용해야 합니다. 불필요한 요청은 거부할 수 있습니다. `Rejected` 피어링 연결 상태에 대한 자세한 내용은 [VPC 피어링 연결 수명 주기](vpc-peering-basics.md#vpc-peering-lifecycle)를 참조하세요.

**중요**  
알 수 없는 AWS 계정에서의 VPC 피어링 연결은 수락하지 마세요. 악의적 사용자가 VPC에 대한 무단 네트워크 액세스를 위해 VPC 피어링 연결 요청을 보냈을 수도 있기 때문입니다. 이런 수법은 피어 피싱으로 알려져 있습니다. 요청자가 AWS 계정 또는 VPC에 대한 정보에 액세스할 위험 없이 원치 않는 VPC 피어링 연결 요청을 안전하게 거부할 수 있습니다. 자세한 내용은 [VPC 피어링 연결 수락 또는 거부](#accept-vpc-peering-connection) 섹션을 참조하세요. 요청을 무시하고 그냥 만료되도록 할 수도 있습니다. 기본적으로, 요청은 7일 후에 만료됩니다.

**콘솔을 사용하여 피어링 연결을 수락 또는 거부하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 리전 선택기를 사용하여 수락자 VPC의 리전을 선택합니다.

1. 탐색 창에서 **Peering connections**를 선택합니다.

1. 피어링 연결을 거부하려면 VPC 피어링 연결을 선택한 다음 **작업**, **요청 거부**를 선택합니다. 확인 메시지가 나타나면 **요청 거부**를 선택합니다.

1. 피어링 연결을 수락하려면 보류 중인 VPC 피어링 연결(상태: `pending-acceptance`)을 선택한 다음 **작업**, **요청 수락**을 선택합니다. 피어링 연결 수명 주기 상태에 대한 자세한 내용은 [VPC 피어링 연결 수명 주기](vpc-peering-basics.md#vpc-peering-lifecycle)를 참조하세요.

   보류 중인 VPC 피어링 연결이 없는 경우 수락자 VPC의 리전을 선택했는지 확인합니다.

1. 확인 메시지가 나타나면 **요청 수락**을 선택합니다.

1. 피어링 연결을 통해 트래픽을 보내고 받을 수 있도록 VPC 라우팅 테이블에 경로를 추가하려면 **지금 내 라우팅 테이블 수정**을 선택합니다. 자세한 내용은 [VPC 피어링 연결을 위한 라우팅 테이블 업데이트](vpc-peering-routing.md) 섹션을 참조하세요.

**명령줄을 사용하여 피어링 연결을 수락하려면**
+ [accept-vpc-peering-connection](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-vpc-peering-connection.html)(AWS CLI)
+ [Approve-EC2VpcPeeringConnection](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2VpcPeeringConnection.html)(AWS Tools for Windows PowerShell)

**명령줄을 사용하여 피어링 연결을 거부하려면**
+ [reject-vpc-peering-connection](https://docs.aws.amazon.com/cli/latest/reference/ec2/reject-vpc-peering-connection.html)(AWS CLI)
+ [Deny-EC2VpcPeeringConnection](https://docs.aws.amazon.com/powershell/latest/reference/items/Deny-EC2VpcPeeringConnection.html)(AWS Tools for Windows PowerShell)

# VPC 피어링 연결을 위한 라우팅 테이블 업데이트
<a name="vpc-peering-routing"></a>

피어링된 VPC의 인스턴스 간에 프라이빗 IPv4 트래픽을 활성화하려면 두 인스턴스의 서브넷과 연결된 라우팅 테이블에 경로를 추가해야 합니다. 이 경로 대상은 피어 VPC의 CIDR 블록(또는 CIDR 블록의 일부)이고 대상은 VPC 피어링 연결의 ID입니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [라우팅 테이블 구성](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)을 참조하세요.

다음은 피어링된 두 VPC(VPC A 및 VPC B)의 인스턴스 간 통신을 가능하게 하는 라우팅 테이블의 예입니다. 각 테이블에는 로컬 경로와 피어 VPC에 대한 트래픽을 VPC 피어링 연결로 보내는 경로가 있습니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/vpc/latest/peering/vpc-peering-routing.html)

이와 마찬가지로 VPC 피어링 연결의 VPC에 연결된 IPv6 CIDR 블록이 있는 경우, IPv6를 통해 피어 VPC와 통신할 수 있게 해주는 경로를 추가할 수 있습니다.

VPC 피어링 연결을 위해 지원되는 라우팅 테이블 구성에 대한 자세한 내용은 [일반 VPC 피어링 연결 구성](peering-configurations.md)을 참조하세요.

**고려 사항**
+ 겹치거나 일치하는 IPv4 CIDR 블록을 가진 여러 VPC와 피어링된 VPC가 있는 경우, 라우팅 테이블이 자신의 VPC에서 잘못된 VPC로 응답 트래픽을 보내지 못하도록 구성되어 있는지 확인하세요. AWS에서는 현재 패킷의 원본 IP를 확인하고 응답 패킷을 다시 원본으로 라우팅하는 VPC 피어링 연결에서 유니캐스트 역경로 전달을 지원하지 않습니다. 자세한 내용은 [응답 트래픽을 위한 라우팅](peering-configurations-partial-access.md#peering-incorrect-response-routing) 섹션을 참조하세요.
+ 계정에는 라우팅 테이블당 추가할 수 있는 항목 수에 대한 [할당량](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html)이 있습니다. VPC의 VPC 피어링 연결 수가 하나의 라우팅 테이블의 라우팅 테이블 항목 할당량을 초과하는 경우, 사용자 지정 라우팅 테이블과 각각 연결된 여러 서브넷을 사용하는 것도 좋습니다.
+ `pending-acceptance` 상태에 있는 VPC 피어링 연결을 위한 경로를 추가할 수 있습니다. 하지만, 이 경로는 `blackhole`의 상태를 가지고 VPC 피어링 연결이 `active` 상태가 될 때까지 아무런 효과도 미치지 않습니다.

**VPC 피어링 연결을 위한 IPv4 경로를 추가하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Route tables**을 선택합니다.

1. 인스턴스가 상주하는 서브넷과 연결된 라우팅 테이블 옆의 확인란을 선택합니다.

   서브넷을 특정 라우팅 테이블에 명시적으로 연결하지 않을 경우 VPC의 기본 라우팅 테이블이 서브브넷과 암시적으로 연결됩니다.

1. **작업(Actions)**, **라우팅 편집(Edit routes)**을 선택합니다.

1. **라우팅 추가**를 선택합니다.

1. **Destination**에 VPC 피어링 연결에서 네트워크 트래픽을 전달해야 할 IPv4 주소 범위를 입력합니다. 피어 VPC의 전체 IPv4 CIDR 블록, 특정 범위 또는 개별 IPv4 주소(예: 통신할 인스턴스의 IP 주소)를 지정할 수 있습니다. 예를 들어 피어 VPC의 CIDR 블록이 `10.0.0.0/16`인 경우 `10.0.0.0/24` 부분이나 특정 IP 주소 `10.0.0.7/32`를 지정할 수 있습니다.

1. **대상**에서 VPC 피어링 연결을 선택합니다.

1. **변경 사항 저장**을 선택합니다.

또한 피어 VPC의 소유자는 이러한 단계를 완료하여 VPC 피어링 연결을 통해 VPC로 트래픽을 다시 보내도록 라우팅을 추가해야 합니다.

IPv6 주소를 사용하는 여러 AWS 리전에 리소스가 있는 경우 리전 간 피어링 연결을 생성할 수 있습니다. 그런 다음 리소스 간의 통신을 위해 IPv6 라우팅을 추가할 수 있습니다.

**VPC 피어링 연결을 위한 IPv6 라우팅을 추가하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Route tables**을 선택합니다.

1. 인스턴스가 상주하는 서브넷과 연결된 라우팅 테이블 옆의 확인란을 선택합니다.
**참고**  
그 서브넷과 연결된 라우팅 테이블이 없는 경우, 서브넷이 기본적으로 이 라우팅 테이블을 사용하므로 VPC에 대한 기본 라우팅 테이블을 선택합니다.

1. **작업(Actions)**, **라우팅 편집(Edit routes)**을 선택합니다.

1. **라우팅 추가**를 선택합니다.

1. **Destination**에 피어 VPC의 IPv6 주소 범위를 입력합니다. 피어 VPC의 전체 IPv6 CIDR 블록, 특정 범위 또는 개별 IPv6 주소를 지정합니다. 예를 들어 피어 VPC의 CIDR 블록이 `2001:db8:1234:1a00::/56`인 경우 `2001:db8:1234:1a00::/64` 부분이나 특정 IP 주소 `2001:db8:1234:1a00::123/128`를 지정할 수 있습니다.

1. **대상**에서 VPC 피어링 연결을 선택합니다.

1. **변경 사항 저장**을 선택합니다.

자세한 내용은 *Amazon VPC 사용 설명서*의 [라우팅 테이블](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)을 참조하세요.

**명령줄을 사용하여 경로를 추가하거나 바꾸려면**
+ [create-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route.html) 및 [replace-route](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-route.html)(AWS CLI)
+ [New-EC2Route](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Route.html) 및 [Set-EC2Route](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2Route.html)(AWS Tools for Windows PowerShell)

# 피어 보안 그룹을 참조하도록 보안 그룹 업데이트
<a name="vpc-peering-security-groups"></a>

피어링된 VPC의 보안 그룹을 참조하도록 VPC 보안 그룹의 인바운드 또는 아웃바운드 규칙을 업데이트할 수 있습니다. 그렇게 하면 피어링된 VPC의 참조 보안 그룹과 연결된 인스턴스 간에 트래픽을 주고받을 수 있습니다.

**참고**  
피어 VPC의 보안 그룹은 콘솔에 표시되지 않으므로 선택할 수 없습니다.

**요구 사항**
+ 피어 VPC의 보안 그룹을 참조하려면 VPC 피어링 연결이 `active` 상태여야 합니다.
+ 피어 VPC는 사용자 계정의 VPC이거나 다른 AWS 계정의 VPC일 수 있습니다. 다른 AWS 리전에 있지만 리전이 동일한 보안 그룹을 참조하려면 계정 번호를 보안 그룹의 ID와 함께 포함합니다. 예: `123456789012/sg-1a2b3c4d`.
+ 다른 리전에 있는 피어 VPC의 보안 그룹을 참조할 수 없습니다. 그 대신 피어 VPC의 CIDR 블록을 사용하세요.
+ 미들박스 어플라이언스를 통해 서로 다른 서브넷에 있는 두 인스턴스 간의 트래픽을 전달하도록 경로를 구성하는 경우 두 인스턴스에 대한 보안 그룹이 인스턴스 간에 트래픽이 흐르도록 허용해야 합니다. 각 인스턴스의 보안 그룹은 다른 인스턴스의 프라이빗 IP 주소 또는 다른 인스턴스가 포함된 서브넷의 CIDR 범위를 소스로 참조해야 합니다. 다른 인스턴스의 보안 그룹을 소스로 참조하면 인스턴스 간에 트래픽이 흐를 수 없습니다.

**콘솔을 사용하여 보안 그룹 규칙을 업데이트하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Security groups**를 선택합니다.

1. 보안 그룹을 선택하고 다음 중 하나를 수행합니다.
   + 인바운드 규칙을 수정하려면 **작업**, **인바운드 규칙 편집**을 선택합니다.
   + 아웃바운드 규칙을 수정하려면 **작업**, **아웃바운드 규칙 편집**을 선택합니다.

1. 규칙을 추가하려면 **규칙 추가**를 선택한 다음 유형, 프로토콜 및 포트 범위를 지정합니다. **소스**(인바운드 규칙) 또는 **대상**(아웃바운드 규칙)의 경우 다음 중 하나를 수행합니다.
   + 계정과 리전이 동일한 피어 VPC의 경우 보안 그룹의 ID를 입력합니다.
   + 계정은 다르지만 리전은 동일한 피어 VPC의 경우 계정 ID와 보안 그룹 ID를 슬래시로 구분하여 입력합니다(예: `123456789012/sg-1a2b3c4d`).
   + 리전이 다른 피어 VPC의 경우 피어 VPC의 CIDR 블록을 입력합니다.

1. 기존 규칙을 편집하려면 해당 값(예: 소스 또는 설명)을 변경합니다.

1. 규칙을 삭제하려면 규칙 옆의 **삭제**를 선택합니다.

1. **규칙 저장**을 선택합니다.

**명령줄을 사용하여 인바운드 규칙을 업데이트하려면**
+ [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html) 및 [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html)(AWS CLI)
+ [Grant-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupIngress.html) 및 [Revoke-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupIngress.html)(AWS Tools for Windows PowerShell)

예를 들어, 피어 VPC의 `sg-bbbb2222`에서 HTTP를 통해 인바운드 액세스를 허용하도록 보안 그룹 `sg-aaaa1111`을 업데이트하려면 다음과 같은 명령을 사용합니다. 피어 VPC의 리전은 동일하지만 계정은 다른 경우 `--group-owner` *aws-account-id*를 추가합니다.

```
aws ec2 authorize-security-group-ingress --group-id sg-aaaa1111 --protocol tcp --port 80 --source-group sg-bbbb2222
```

**명령줄을 사용하여 아웃바운드 규칙을 업데이트하려면**
+ [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html) 및 [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html)(AWS CLI)
+ [Grant-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupEgress.html) 및 [Revoke-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupEgress.html)(AWS Tools for Windows PowerShell)

보안 그룹 규칙을 업데이트한 후 [describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html) 명령을 사용하여 보안 그룹 규칙에서 참조된 보안 그룹을 볼 수 있습니다.

## 참조된 보안 그룹 식별
<a name="vpc-peering-referenced-groups"></a>

보안 그룹이 피어 VPC의 보안 그룹 규칙에서 참조되고 있는지 여부를 확인하려면 계정의 하나 이상의 보안 그룹에 대해 다음 명령 중 하나를 사용할 수 있습니다.
+ [describe-security-group-references](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-group-references.html)(AWS CLI)
+ [Get-EC2SecurityGroupReference](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SecurityGroupReference.html)(AWS Tools for Windows PowerShell)

다음 예의 응답은 보안 그룹 `sg-bbbb2222`가 VPC 의 보안 그룹 `vpc-aaaaaaaa`에서 참조되고 있음을 나타냅니다.

```
aws ec2 describe-security-group-references --group-id sg-bbbb2222
```

```
{    
  "SecurityGroupsReferenceSet": [
    {
      "ReferencingVpcId": "vpc-aaaaaaaa",
      "GroupId": "sg-bbbb2222",
      "VpcPeeringConnectionId": "pcx-b04deed9"       
    }   
  ]
}
```

VPC 피어링 연결을 삭제하거나 피어 VPC의 소유자가 참조된 보안 그룹을 삭제하는 경우 보안 그룹 규칙은 무효가 됩니다.

## 무효 보안 그룹 규칙으로 보기 및 삭제
<a name="vpc-peering-stale-groups"></a>

무효 보안 그룹 규칙이란 동일한 VPC 또는 피어 VPC에서 삭제된 보안 그룹을 참조하거나, VPC 피어링 연결이 삭제된 피어 VPC의 보안 그룹을 참조하는 규칙입니다. 보안 그룹 규칙이 무효로 되면, 해당 규칙은 보안 그룹에서 자동으로 제거되지 않습니다. 따라서 규칙을 수동으로 제거해야 합니다. VPC 피어링 연결이 삭제되어 보안 그룹 규칙이 유효하지 않은 경우 동일한 VPC로 새 VPC 피어링 연결을 생성하면 규칙이 더 이상 부실한 것으로 표시되지 않습니다.

Amazon VPC 콘솔을 사용하여 VPC에 대한 무효 보안 그룹 규칙을 보고 삭제할 수 있습니다.

**무효 보안 그룹 규칙을 보고 삭제하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Security groups**를 선택합니다.

1. **작업(Actions)**, **오래된 규칙 관리(Manage stale rules)**를 선택합니다.

1. **VPC**에서 오래된 규칙이 있는 VPC를 선택합니다.

1. **편집(Edit)**을 선택합니다.

1. 삭제할 규칙 옆에 있는 **삭제(Delete)** 버튼을 선택합니다. **변경 사항 미리 보기(Preview changes)**, **규칙 저장(Save rules)**을 선택합니다.

**명령줄을 사용하여 부실한 보안 그룹 규칙을 설명하려면**
+ [describe-stale-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-stale-security-groups.html)(AWS CLI)
+ [Get-EC2StaleSecurityGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2StaleSecurityGroup.html)(AWS Tools for Windows PowerShell)

다음 예에서는 VPC A `(vpc-aaaaaaaa`)와 VPC B가 피어링되었고, VPC 피어링 연결이 삭제되었습니다. VPC A의 보안 그룹 `sg-aaaa1111`은 VPC B의 `sg-bbbb2222`를 참조합니다. VPC에 대해 `describe-stale-security-groups` 명령을 실행하면, 응답은 보안 그룹 `sg-aaaa1111`에 `sg-bbbb2222`를 참조하는 무효 SSH 규칙이 있음을 나타냅니다.

```
aws ec2 describe-stale-security-groups --vpc-id vpc-aaaaaaaa
```

```
{
    "StaleSecurityGroupSet": [
        {
            "VpcId": "vpc-aaaaaaaa", 
            "StaleIpPermissionsEgress": [], 
            "GroupName": "Access1", 
            "StaleIpPermissions": [
                {
                    "ToPort": 22, 
                    "FromPort": 22, 
                    "UserIdGroupPairs": [
                        {
                            "VpcId": "vpc-bbbbbbbb", 
                            "PeeringStatus": "deleted", 
                            "UserId": "123456789101", 
                            "GroupName": "Prod1", 
                            "VpcPeeringConnectionId": "pcx-b04deed9", 
                            "GroupId": "sg-bbbb2222"
                        }
                    ], 
                    "IpProtocol": "tcp"
                }
            ], 
            "GroupId": "sg-aaaa1111", 
            "Description": "Reference remote SG"
        }
    ]
}
```

무효 보안 그룹 규칙을 식별한 후에는 [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html) 또는 [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html) 명령을 사용하여 해당 규칙을 삭제할 수 있습니다.

# VPC 피어링 연결에 대한 DNS 확인 활성화
<a name="vpc-peering-dns"></a>

VPC 피어링 연결의 DNS 설정은 VPC 피어링 연결을 통과하는 요청의 퍼블릭 DNS 호스트 이름을 확인하는 방법을 결정합니다. VPC 피어링 연결의 한 쪽에 있는 EC2 인스턴스가 인스턴스의 퍼블릭 IPv4 DNS 호스트 이름을 사용하여 다른 쪽에 있는 EC2 인스턴스에 요청을 보내는 경우, DNS 호스트 이름은 다음과 같이 확인됩니다.

**DNS 확인 비활성화됨(기본값)**  
퍼블릭 IPv4 DNS 호스트 이름으로 인스턴스의 퍼블릭 IPv4 주소를 확인합니다.

**DNS 확인 활성화됨**  
퍼블릭 IPv4 DNS 호스트 이름으로 인스턴스의 프라이빗 IPv4 주소를 확인합니다.

**요구 사항**
+ DNS 호스트 이름과 DNS 확인에 대해 두 VPC를 모두 활성화해야 합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서**의 [VPC에 대한 DNS 속성](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html#vpc-dns-support)을 참조하세요.
+ 피어링 연결은 `active` 상태여야 합니다. 피어링 연결을 생성할 때 DNS 확인을 활성화할 수 없습니다.
+ 요청자 VPC의 소유자는 요청자 VPC 피어링 옵션을 수정해야 하며, 수락자 VPC의 소유자는 수락자 VPC 피어링 옵션을 수정해야 합니다. VPC가 동일한 계정에 있는 경우 요청자 및 수락자 VPC의 DNS 확인을 동시에 활성화할 수 있습니다. 이는 동일한 리전 및 리전 간 VPC 피어링 연결 모두에서 작동합니다.

**콘솔을 사용하여 피어링 연결에 대한 DNS 확인을 활성화하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Peering connections**를 선택합니다.

1. VPC 피어링 연결을 선택합니다.

1. **작업**, **DNS 설정 편집**을 차례로 선택합니다.

1. 요청자 VPC의 요청에 대한 DNS 확인을 활성화하려면 **요청자 DNS 확인**, **수락자 VPC가 요청자 VPC의 DNS를 확인하도록 허용**을 차례로 선택합니다.

1. 수락자 VPC의 요청에 대한 DNS 확인을 활성화하려면 **수락자 DNS 확인**, **요청자 VPC가 수락자 VPC의 DNS를 확인하도록 허용**을 차례로 선택합니다.

1. **변경 사항 저장**을 선택합니다.

**명령줄을 사용하여 DNS 확인을 활성화하려면**
+ [modify-vpc-peering-connection-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-peering-connection-options.html)(AWS CLI)
+ [Edit-EC2VpcPeeringConnectionOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcPeeringConnectionOption.html)(AWS Tools for Windows PowerShell)

**명령줄을 사용하여 VPC 피어링 연결 옵션을 설명하려면**
+ [describe-vpc-peering-connections](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-peering-connections.html)(AWS CLI)
+ [Get-EC2VpcPeeringConnection](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2VpcPeeringConnection.html)(AWS Tools for Windows PowerShell)

# VPC 피어링 연결 삭제
<a name="delete-vpc-peering-connection"></a>

피어링 연결에서 VPC의 어느 한 소유자가 언제든 VPC 피어링 연결을 삭제할 수 있습니다. 자신이 요청하여 아직도 `pending-acceptance` 상태에 있는 VPC 피어링 연결도 삭제할 수 있습니다.

VPC 피어링 연결이 `rejected` 상태이면 VPC 피어링 연결을 삭제할 수 없습니다. 연결은 자동으로 삭제됩니다.

Amazon VPC 콘솔에서 활성 VPC 피어링 연결에 속한 VPC를 삭제하면 해당 VPC 피어링 연결도 삭제됩니다. 또 다른 계정에서 VPC와의 VPC 피어링 연결을 요청했는데 상대방이 그 요청을 수락하기 전에 자신의 VPC를 삭제하면 VPC 피어링 연결도 삭제됩니다. 또 다른 계정의 VPC에서 보낸 `pending-acceptance` 요청이 있는 VPC는 삭제할 수 없습니다. 우선 VPC 피어링 연결 요청을 거부해야 합니다.

피어링 연결을 삭제하면 상태가 `Deleting`으로 설정된 다음 `Deleted`로 설정됩니다. 연결을 삭제한 후에는 수락, 거부 또는 편집할 수 없습니다. 피어링 연결이 표시되는 기간에 대한 자세한 내용은 [VPC 피어링 연결 수명 주기](vpc-peering-basics.md#vpc-peering-lifecycle)를 참조하세요.

**VPC 피어링 연결을 삭제하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Peering connections**를 선택합니다.

1. VPC 피어링 연결을 선택합니다.

1. **Actions**(작업), **Delete peering connection**(피어링 연결 삭제)을 선택합니다.

1. 확인 메시지가 나타나면 **delete**을 입력한 다음 **삭제**를 선택합니다.

**명령줄을 사용하여 VPC 피어링 연결을 삭제하려면**
+ [delete-vpc-peering-connection](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-vpc-peering-connection.html)(AWS CLI)
+ [Remove-EC2VpcPeeringConnection](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2VpcPeeringConnection.html)(AWS Tools for Windows PowerShell)

# VPC 피어링 연결 문제 해결
<a name="troubleshoot-vpc-peering-connections"></a>

피어 VPC의 리소스에서 VPC의 리소스에 연결하는 데 문제가 있는 경우 다음 작업을 수행합니다.
+ 각 VPC의 각 리소스에 대해 서브넷의 라우팅 테이블에 피어 VPC로 향하는 트래픽을 VPC 피어링 연결로 보내는 경로가 포함되어 있는지 확인합니다. 이렇게 하면 네트워크 트래픽이 두 VPC 간에 올바르게 흐를 수 있습니다. 자세한 내용은 [라우팅 테이블 업데이트](vpc-peering-routing.md) 섹션을 참조하세요.
+ 관련된 모든 EC2 인스턴스의 경우, 해당 인스턴스의 보안 그룹이 피어 VPC의 인바운드 및 아웃바운드 트래픽을 허용하는지 확인합니다. 보안 그룹 규칙은 EC2 인스턴스에 액세스할 수 있는 트래픽을 제어합니다. 자세한 내용은 [피어 보안 그룹 참조](vpc-peering-security-groups.md) 섹션을 참조하세요.
+ 리소스가 포함된 서브넷의 네트워크 ACL이 피어 VPC에서 필요한 트래픽을 허용하는지 확인합니다. 네트워크 ACL은 서브넷 수준에서 트래픽을 필터링하는 추가 보안 계층입니다.

문제가 계속되면 Reachability Analyzer를 활용하면 됩니다. Reachability Analyzer는 라우팅 테이블, 보안 그룹, 네트워크 ACL 등 두 VPC 간의 연결 문제를 일으키는 특정 구성 요소를 식별하는 데 도움을 제공합니다. 자세한 내용은 [Reachability Analyzer 사용 설명서](https://docs.aws.amazon.com/vpc/latest/reachability/)를 참조하세요.

VPC 네트워킹 구성을 철저히 확인하는 것은 발생할 수 있는 모든 VPC 피어링 연결 문제를 해결하는 데 있어 핵심입니다.