Skip to main content

Check out Port for yourselfย 

Live events setup

Port's AWS integration supports real-time event processing, allowing for accurate representation of your AWS infrastructure inside Port. This guide explains how to set up live events for your AWS resources.

Supported account type

Live events are currently only available for Single account installations (not multi-account).

Prerequisitesโ€‹

Before setting up live events, ensure you have:

  • Complete the AWS integration installation.
  • Your Port API key for authentication.
  • Permissions to create EventBridge rules on your AWS account.
Terraform vs Manual Installation
  • Terraform users: Use the provided Terraform module for automated setup.
  • Manual installation users: Follow the AWS console setup steps.

Live-events flowโ€‹

The live events flow is comprised of the following steps:

  1. AWS Services generate events when resources change.
  2. CloudTrail captures these events.
  3. EventBridge Rules filter and route specific events.
  4. API Gateway receives the events and forwards them to Port.
  5. Your Port Integration processes the events and updates your software catalog.

Setup methodsโ€‹

If you installed the AWS integration using Terraform, use the provided module to set up live events.

Supported resource types

The default Terraform module supports live events for these resource types:

  • EC2 Instances (AWS::EC2::Instance)
  • S3 Buckets (AWS::S3::Bucket)
  • CloudFormation Stacks (AWS::CloudFormation::Stack)

Add custom resource types

To add live events for additional resource types (like SSM Parameters), use the aws_event_rule module:

AWS event rule module (click to expand)
module "aws_event_rule" {
source = "port-labs/integration-factory/ocean//modules/aws_helpers/event"

name = "port-aws-ocean-sync-ssm-parameters"
description = "Capture Parameter Store change events"

event_pattern = {
source = ["aws.ssm"]
detail-type = ["Parameter Store Change"]
}

input_paths = {
resource_type = "AWS::SSM::Parameter"
account_id = "$.account"
aws_region = "$.region"
event_name = "$.detail-type"
identifier = "$.resources.0"
}

api_key_param = "<live_events_api_key>"
target_arn = "<api_gateway_arn>/production/POST/integration/webhook"
}
Configuration parameters (click to expand)
ParameterDescriptionExample
nameEventBridge rule name"port-aws-ocean-sync-ssm-parameters"
descriptionRule description"Capture Parameter Store change events"
event_patternAWS event pattern to match{ source = ["aws.ssm"], detail-type = ["Parameter Store Change"] }
input_pathsJSON path mappings for event transformationSee example above
api_key_paramPort API key parameter"<live_events_api_key>"
target_arnAPI Gateway target ARN"<api_gateway_arn>/production/POST/integration/webhook"

Supported AWS servicesโ€‹

The complete list of AWS services that support live events can be found here.

Add other servicesโ€‹

To add live events for additional AWS services, follow these steps:

  1. Identify the service's event source and detail type.
  2. Create an EventBridge rule with the appropriate pattern.
  3. Configure the input transformer with the correct resource type.
Default Terraform installation

The default setup comes preconfigured with support for three AWS resource types:

  • EC2 Instances.
  • S3 Buckets.
  • CloudFormation Stacks.