AWS IoT Core MQTT Connection Timeout Error


I am working on a project that involves connecting an MQTT client to AWS IoT Core. I am using the AWSIoTPythonSDK and paho.mqtt.client libraries in Python. The client is intended to subscribe to two topics and publish the received data to AWS IoT Core.

However, I am encountering a "AWSIoTPythonSDK.exception.AWSIoTExceptions.connectTimeoutException" error after a few seconds of successful operation. The client connects to the MQTT broker (IP:, Port: 1883) and subscribes to the topics "wt/generator" and "wt/ws3."

The code successfully connects to the broker and receives data from both topics. However, after a few seconds, it throws the mentioned "connectTimeoutException." I've checked my network settings, security groups, and IAM role permissions, and they seem to be correctly configured. The AWS IoT Core endpoint and credentials are also accurate.

Could someone help me identify the possible reasons for this timeout exception and suggest potential solutions? Are there any additional troubleshooting steps I can take to resolve this issue?

Any guidance or insights would be greatly appreciated. Thank you!

Here's the relevant part of my code:

# [Include code snippet from where the MQTT client is initialized and on_connect, on_message functions are defined]

mqttServer = ""
generator_topic = "wt/generator"
ws3_topic = "wt/ws3"

# AWS IoT Core endpoint (replace with your actual endpoint)
# [Other relevant configurations]

client.connect(mqttServer, 1883, 120)

asked 10 months ago1330 views
2 Answers
profile pictureAWS
answered 10 months ago

Hi, Check a few things:

  • Do you have an active certificate attached to your "thing"?
  • Do you have a policy attached to the certificates?
  • What does your policy look like? Does it allow the correct permissions to the correct topics?

Cheers! Oscar.

answered 10 months ago
  • Hello Sir, Thank You so much for your response,

    I want to mention some points about this suggestion

    All the certificates which are attached in the code are active.

    I also have attached the policy which looks something like this:

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

    I think this policy will allow all the permissions required for both the topics

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions