Search code examples
amazon-web-servicesaws-lambdahttpsamazon-sns

How do AWS services communicate with each other?


I've been playing around with some serverless projects, which has confused me about how services communicate.

Specifically, I have an SNS topic and a Lambda subscription. SNS and Lambda are referenced by ARN, and I have not created any function URLs. Are messages sent from SNS to Lambda via https? If so, what is the endpoint being used for this? Is this how services generally communicate with each other under the hood?


Solution

  • In this particular case, Amazon SNS will invoke the AWS Lambda via the "AWS backplane" (think 'automagically').

    The message sent to the SNS Topic will be provided as the payload to the Lambda function.

    This will happen within the AWS infrastructure, without traffic going across VPCs or the Internet.

    Typically, AWS services will communicate with each other via the AWS backplane, especially where it involves managed services (eg SQS, SNS, S3) or the creation of infrastructure (eg launching resources).