|
| 1 | +--- |
| 2 | +sidebar_position: 1 |
| 3 | +--- |
| 4 | + |
| 5 | +import Tabs from "@theme/Tabs"; |
| 6 | +import TabItem from "@theme/TabItem"; |
| 7 | +import Image from "@theme/IdealImage"; |
| 8 | +import MetricsAndSyncStatus from "/docs/build-your-software-catalog/sync-data-to-catalog/templates/_metrics_and_sync_status.mdx" |
| 9 | + |
| 10 | +# Overview |
| 11 | + |
| 12 | +:::warning Beta Feature |
| 13 | +AWS Hosted by Port is currently in **beta mode** and is not yet available for all Port users. Contact Port's support team to get access to this integration. |
| 14 | +::: |
| 15 | + |
| 16 | +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. |
| 17 | + |
| 18 | +The integration periodically syncs your AWS resources to ensure your Port catalog stays up-to-date with your AWS infrastructure. |
| 19 | + |
| 20 | +## Common use cases |
| 21 | + |
| 22 | +Easily fill your software catalog with data directly from your AWS Organization, for example: |
| 23 | + |
| 24 | +- Map all the resources in your AWS Accounts, including **ECS Clusters**, **S3 Buckets**, and **EC2 Instances** with zero maintenance required. |
| 25 | +- Keep your Port catalog synchronized with your AWS infrastructure through periodic updates. |
| 26 | +- Use relations to create complete, easily digestible views of your AWS infrastructure inside Port. |
| 27 | +- Enjoy a fully managed experience with no infrastructure to maintain or updates to apply. |
| 28 | + |
| 29 | +## Supported resources |
| 30 | + |
| 31 | +The integration currently supports the following AWS resource types: |
| 32 | +- `S3 Buckets`: Complete bucket information including properties, tags, and metadata. |
| 33 | +- `ECS Clusters`: Cluster details, services, and task definitions. |
| 34 | +- `EC2 Instances`: Instance information, security groups, and networking details. |
| 35 | + |
| 36 | +:::info More Resource Types Coming Soon |
| 37 | +We're actively working on adding support for additional AWS resource types to provide comprehensive coverage of your AWS infrastructure. |
| 38 | +::: |
| 39 | + |
| 40 | +## Key advantages |
| 41 | + |
| 42 | +AWS Hosted by Port provides several advantages over the [self-hosted AWS integration](/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws/installations/installation.md): |
| 43 | + |
| 44 | +- **Fully hosted**: No infrastructure to maintain, update, or monitor. |
| 45 | +- **Simplified installation**: Just deploy CloudFormation templates to create IAM roles. |
| 46 | +- **Complete data**: Ensures no missing or incomplete resource information. |
| 47 | + |
| 48 | +## Getting started |
| 49 | + |
| 50 | +Continue to the [installation](./installations.md) guide to learn how to install AWS Hosted by Port. |
| 51 | + |
| 52 | +For detailed information about the IAM role architecture and security model, see the [IAM Role Architecture](./iam-role-architecture.md) guide. |
| 53 | + |
| 54 | +## Configuration |
| 55 | + |
| 56 | +Port integrations use a [YAML mapping block](/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure) to ingest data from the third-party api into Port. |
| 57 | + |
| 58 | +The mapping makes use of the [JQ JSON processor](https://stedolan.github.io/jq/manual/) to select, modify, concatenate, transform and perform other operations on existing fields and values from the integration API. |
| 59 | + |
| 60 | +### Default mapping configuration |
| 61 | + |
| 62 | +This is the default mapping configuration you get after installing AWS Hosted by Port. |
| 63 | + |
| 64 | +<details> |
| 65 | +<summary><b>Default mapping configuration (click to expand)</b></summary> |
| 66 | + |
| 67 | +```yaml showLineNumbers |
| 68 | +deleteDependentEntities: true |
| 69 | +createMissingRelatedEntities: true |
| 70 | +enableMergeEntity: true |
| 71 | +resources: |
| 72 | + - kind: AWS::Account::Info |
| 73 | + selector: |
| 74 | + query: 'true' |
| 75 | + port: |
| 76 | + entity: |
| 77 | + mappings: |
| 78 | + identifier: .Properties.Id |
| 79 | + title: .Properties.Name |
| 80 | + blueprint: '"awsAccount"' |
| 81 | + - kind: AWS::S3::Bucket |
| 82 | + selector: |
| 83 | + query: 'true' |
| 84 | + port: |
| 85 | + entity: |
| 86 | + mappings: |
| 87 | + identifier: .Properties.Arn |
| 88 | + title: .Properties.BucketName |
| 89 | + blueprint: '"s3Bucket"' |
| 90 | + properties: |
| 91 | + arn: .Properties.Arn |
| 92 | + region: .Properties.LocationConstraint |
| 93 | + creationDate: .Properties.CreationDate |
| 94 | + tags: .Properties.Tags |
| 95 | + relations: |
| 96 | + account: .__ExtraContext.AccountId |
| 97 | + - kind: AWS::EC2::Instance |
| 98 | + selector: |
| 99 | + query: 'true' |
| 100 | + port: |
| 101 | + entity: |
| 102 | + mappings: |
| 103 | + identifier: .Properties.InstanceId |
| 104 | + title: .Properties.InstanceId |
| 105 | + blueprint: '"ec2Instance"' |
| 106 | + properties: |
| 107 | + instanceType: .Properties.InstanceType |
| 108 | + state: .Properties.State.Name |
| 109 | + publicIpAddress: .Properties.PublicIpAddress |
| 110 | + privateIpAddress: .Properties.PrivateIpAddress |
| 111 | + tags: .Properties.Tags |
| 112 | + arn: >- |
| 113 | + "arn:aws:ec2:" + .__Region + ":" + .__AccountId + ":instance/" + |
| 114 | + .Properties.InstanceId |
| 115 | + relations: |
| 116 | + account: .__ExtraContext.AccountId |
| 117 | + - kind: AWS::ECS::Cluster |
| 118 | + selector: |
| 119 | + query: 'true' |
| 120 | + port: |
| 121 | + entity: |
| 122 | + mappings: |
| 123 | + identifier: .Properties.ClusterArn |
| 124 | + title: .Properties.ClusterName |
| 125 | + blueprint: '"ecsCluster"' |
| 126 | + properties: |
| 127 | + status: .Properties.Status |
| 128 | + runningTasksCount: .Properties.RunningTasksCount |
| 129 | + activeServicesCount: .Properties.ActiveServicesCount |
| 130 | + pendingTasksCount: .Properties.PendingTasksCount |
| 131 | + registeredContainerInstancesCount: .Properties.RegisteredContainerInstancesCount |
| 132 | + capacityProviders: .Properties.CapacityProviders |
| 133 | + clusterArn: .Properties.ClusterArn |
| 134 | + tags: .Properties.Tags |
| 135 | + relations: |
| 136 | + account: .__ExtraContext.AccountId |
| 137 | + |
| 138 | +``` |
| 139 | + |
| 140 | +</details> |
| 141 | + |
| 142 | +<MetricsAndSyncStatus/> |
0 commit comments