Overview
Port's AWS Hosted by Port integration allows you to import your AWS resources into Port with zero maintenance required. The integration is fully hosted and managed by Port, providing a seamless experience for discovering and managing your AWS infrastructure.
The integration periodically syncs your AWS resources to ensure your Port catalog stays up-to-date with your AWS infrastructure.
Common use casesโ
Easily fill your software catalog with data directly from your AWS Organization, for example:
- Map all the resources in your AWS Accounts, including ECS Clusters, S3 Buckets, and EC2 Instances with zero maintenance required.
 - Keep your Port catalog synchronized with your AWS infrastructure through periodic updates.
 - Use relations to create complete, easily digestible views of your AWS infrastructure inside Port.
 - Enjoy a fully managed experience with no infrastructure to maintain or updates to apply.
 
Supported resourcesโ
The integration currently supports the following AWS resource types:
S3 Buckets: Complete bucket information including properties, tags, and metadata.ECS Clusters: Cluster details, services, and task definitions.EC2 Instances: Instance information, security groups, and networking details.
We're actively working on adding support for additional AWS resource types to provide comprehensive coverage of your AWS infrastructure.
Key advantagesโ
AWS Hosted by Port provides several advantages over the AWS on-premise integration:
- Fully hosted: No infrastructure to maintain, update, or monitor.
 - Simplified installation: Just deploy CloudFormation templates to create IAM roles.
 - Complete data: Ensures no missing or incomplete resource information.
 
Getting startedโ
Continue to the installation guide to learn how to install AWS Hosted by Port.
For detailed information about the IAM role architecture and security model, see the IAM Role Architecture guide.
Configurationโ
Port integrations use a YAML mapping block to ingest data from the third-party api into Port.
The mapping makes use of the JQ JSON processor to select, modify, concatenate, transform and perform other operations on existing fields and values from the integration API.
Default mapping configurationโ
This is the default mapping configuration you get after installing AWS Hosted by Port.
Default mapping configuration (click to expand)
deleteDependentEntities: true
createMissingRelatedEntities: true
enableMergeEntity: true
resources:
  - kind: AWS::Account::Info
    selector:
      query: 'true'
    port:
      entity:
        mappings:
          identifier: .Properties.Id
          title: .Properties.Name
          blueprint: '"awsAccount"'
  - kind: AWS::S3::Bucket
    selector:
      query: 'true'
    port:
      entity:
        mappings:
          identifier: .Properties.Arn
          title: .Properties.BucketName
          blueprint: '"s3Bucket"'
          properties:
            arn: .Properties.Arn
            region: .Properties.LocationConstraint
            creationDate: .Properties.CreationDate
            tags: .Properties.Tags
          relations:
            account: .__ExtraContext.AccountId
  - kind: AWS::EC2::Instance
    selector:
      query: 'true'
    port:
      entity:
        mappings:
          identifier: .Properties.InstanceId
          title: .Properties.InstanceId
          blueprint: '"ec2Instance"'
          properties:
            instanceType: .Properties.InstanceType
            state: .Properties.State.Name
            publicIpAddress: .Properties.PublicIpAddress
            privateIpAddress: .Properties.PrivateIpAddress
            tags: .Properties.Tags
            arn: >-
              "arn:aws:ec2:" + .__Region + ":" + .__AccountId + ":instance/" +
              .Properties.InstanceId
          relations:
            account: .__ExtraContext.AccountId
  - kind: AWS::ECS::Cluster
    selector:
      query: 'true'
    port:
      entity:
        mappings:
          identifier: .Properties.ClusterArn
          title: .Properties.ClusterName
          blueprint: '"ecsCluster"'
          properties:
            status: .Properties.Status
            runningTasksCount: .Properties.RunningTasksCount
            activeServicesCount: .Properties.ActiveServicesCount
            pendingTasksCount: .Properties.PendingTasksCount
            registeredContainerInstancesCount: .Properties.RegisteredContainerInstancesCount
            capacityProviders: .Properties.CapacityProviders
            clusterArn: .Properties.ClusterArn
            tags: .Properties.Tags
          relations:
            account: .__ExtraContext.AccountId
Monitoring and sync statusโ
To learn more about how to monitor and check the sync status of your integration, see the relevant documentation.
Advancedโ
Refer to the Advanced configuration page for advanced use cases and examples.