Bobcares

VpcPeeringConnection failed to stabilize | Resolved

by | Oct 28, 2021

Is “VpcPeeringConnection failed to stabilize” error causing trouble? Read on to find out what our Support Engineers suggest to resolve this issue.

At Bobcares, similar queries often come in as a part of our AWS Support Services. Let’s take a look at the solution suggested by our Support Team.

Dealing with VpcPeeringConnection failed to stabilize

The VpcPeeringConnection failed to stabilize error is a common error when dealing with AWS. It often appears when you attempt to create an Amazon VPC peering connection between a requester VPC and an accepter VPC.

Some of the commonly seen reasons behind this error include:

  • The AWS::EC2::VPCPeeringConnection was created through an accepter account.
  • The IAM role in the accepter account does not have the required permissions.
  • PeerRoleArn property has not passed correctly while creating the VPC peering connection among the VPCs in different accounts.
  • The PeerRegion property is not passed correctly during VPC peering connection creation among the VPCs in different AWS Regions.
  • The IPv4 CIDR ranges overlap.

How do I fix VpcPeeringConnection failed to stabilize error?

Solution 1: AWS::EC2::VPCPeeringConnection resource created in the accepter account
Our Support Engineers recommend creating AWS::EC2::VPCPeeringConnection resource in the requester account rather than the accepter account. This will resolve the error.

Solution 2: IAM role in the accepter account does not have permissions
We will include the following permissions to enable the IAM role to accept the VPC peering connection in the accepter account:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "ec2:AcceptVpcPeeringConnection",
            "Resource": "arn:${Partition}:ec2:${Region}:${Account}:vpc-peering-connection/${VpcPeeringConnectionId}",
            "Effect": "Allow"
        }
    ]
}

 

We will also have to configure a trust relationship for the IAM role to allow the requester account to accept the IAM role. For instance:

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

 

Solution 3: PeerRoleArn property not passed correctly when creating a VPC peering connection among VPCs in different accounts
The PeerRoleArn property passes the cross-account IAM role from the accepter account in the AWS CloudFormation template.

If this property is not passed correctly, you will wind up with “VpcPeeringConnection failed to stabilize” error.

For instance, in JSON:

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

 

For instance,  in YAML:

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

Solution 4: PeerRegion property not passed correctly while creating VPC peering connection among VPCs in different AWS Regions

Here, we will include the PeerRegion property in the AWS CloudFormation template if the VPCs are in different AWS Regions. Our Support Engineers then suggest specifying the AWS Region of the accepter account VPC as seen in the example below:

In JSON:

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

In YAML:

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

Solution 5: IPv4 CIDR ranges overlap
Using different Ipv4 CIDR blocks for the VPCs in the accepter account as well as the requester account will resolve the error.

Based on the cause behind the error message, one of these solutions from our Support Techs is bound to resolve the error.

[Have more AWS related queries? We are here at your service.]

Conclusion

At the end of the day, we learned about different ways to resolve the “VpcPeeringConnection failed to stabilize” error in AWS CloudFormation. The skilled Support Engineers at Bobcares also demonstrated how the reasons behind the error, making it easier to decide which solution to try out.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF