AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

CloudFormation에서 "VpcPeeringConnection 안정화 실패" 오류를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Virtual Private Cloud(Amazon VPC) 피어링 연결을 생성하려고 하면 AWS CloudFormation에서 "VpcPeeringConnection 안정화 실패" 오류가 발생합니다.

간략한 설명

다음과 같은 이유로 "VpcPeeringConnection 안정화 실패" 오류가 발생할 수 있습니다.

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

해결 방법

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

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

IPv4 CIDR 범위 겹침

수락자 계정과 요청자 계정의 VPC에 서로 다른 IPv4 CIDR 블록을 사용합니다.

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

서로 다른 계정의 VPC 간에 VPC 피어링 연결을 생성하는 경우 PeerRoleArn 속성을 사용합니다. 이 속성은 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": "arn:${Partition}:ec2:${Region}:${Account}:vpc-peering-connection/${VpcPeeringConnectionId}",
      "Effect": "Allow"
    }
  ]
}

요청자 계정이 IAM 역할을 맡을 수 있도록 하려면 IAM 역할에 대한 신뢰 관계를 구성합니다. 예를 들면, 다음과 같습니다.

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

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

VPC가 다른 리전에 있는 경우 CloudFormation 템플릿에 PeerRegion을 포함해야 합니다. 그런 다음 수락자 계정 VPC가 있는 리전을 지정합니다.

다음 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 계정의 VPC와 피어링

VPC 피어링 연결 생성

AWS 공식
AWS 공식업데이트됨 8달 전