AWS CloudFormation에서 "VpcPeeringConnection failed to stabilize" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 5월 28일

수락자 VPC와 요청자 VPC 간의 Amazon Virtual Private Cloud(VPC) 피어링 연결을 생성하려고 하면 AWS CloudFormation에서 "VpcPeeringConnection failed to stabilize" 오류가 발생합니다. 이 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

이 오류는 다음과 같은 이유로 발생할 수 있습니다.

  • 사용자의 AWS:: EC2:: VPCPeeringConnection 리소스가 수락자 계정에서 생성되었습니다.
  • IPv4 CIDR 범위가 겹칩니다.
  • 서로 다른 계정의 VPC 간에 VPC 피어링 연결을 생성할 때 PeerRoleArn 속성이 올바르게 전달되지 않습니다.
  • 수락자 계정의 AWS Identity and Access Management(IAM) 역할이 올바른 권한을 가지고 있지 않습니다.
  • 서로 다른 리전의 VPC 간에 VPC 피어링 연결을 생성할 때 PeerRegion 속성이 올바르게 전달되지 않습니다.

​해결 방법

사용자의 AWS:: EC2:: VPCPeeringConnection 리소스가 수락자 계정에서 생성됨

수락자 계정이 아닌 요청자 계정에서 AWS::EC2::VPCPeeringConnection 리소스를 사용하여 AWS CloudFormation 스택을 생성하십시오.

IPv4 CIDR 범위가 겹침

수락자 계정 및 요청자 계정의 VPC에 대해 서로 다른 IPv4 CIDR 블록을 사용하십시오.

서로 다른 계정의 VPC 간에 VPC 피어링 연결을 생성할 때 PeerRoleArn 속성이 올바르게 전달되지 않음

다른 계정의 VPC 간에 VPC 피어링 연결을 생성하는 경우 PeerRoleArn 속성을 사용하여 AWS CloudFormation 템플릿의 수락자 계정에서 교차 계정 IAM 역할을 전달하십시오. 자세한 내용은 AWS:: EC2:: VPCPeeringConnection을 참조하십시오. 다음의 JSON 및 YAML 예제를 참조하십시오.

JSON:

{
    "myVPCPeeringConnection": {
        "Type": "AWS::EC2::VPCPeeringConnection",
        "Properties": {
            ......
            "PeerRoleArn": "arn:aws:iam::Accepter-Account-ID:role/PeerRole"
        }
    }
}

YAML:

myVPCPeeringConnection:
  Type: 'AWS::EC2::VPCPeeringConnection'
  Properties:
    .......
    PeerRoleArn: 'arn:aws:iam::Accepter-Account-ID:role/PeerRole'

수락자 계정의 IAM 역할이 올바른 권한을 가지고 있지 않음

IAM 역할이 수락자 계정에서 VPC 피어링 연결을 허용하도록 하려면 다음 권한을 포함하십시오.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "ec2:AcceptVpcPeeringConnection",
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

요청자 계정이 IAM 역할을 맡도록 허용하려면 다음과 같이 IAM 역할에 대한 신뢰 관계를 구성하십시오.

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::Requester-Account-ID:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

서로 다른 리전의 VPC 간에 VPC 피어링 연결을 생성할 때 PeerRegion 속성이 올바르게 전달되지 않음

VPC가 서로 다른 AWS 리전에 있는 경우, AWS CloudFormation 템플릿에 PeerRegion을 포함해야 합니다. 그런 다음, 수락자 계정 VPC가 있는 AWS 리전을 지정하십시오. 다음의 JSON 및 YAML 예제를 참조하십시오.

JSON:

{
    "myVPCPeeringConnection": {
        "Type": "AWS::EC2::VPCPeeringConnection",
        "Properties": {
            ......
            "PeerRegion": Accepter-VPC-Region-Code
        }
    }
}

YAML:

myVPCPeeringConnection:
  Type: 'AWS::EC2::VPCPeeringConnection'
  Properties:
    ......
    PeerRegion: Accepter-VPC-Region-Code

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?