You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fix IAM permissions when checking for duplicate ECS tasks ([#112](https://github.com/awslabs/aws-perspective/issues/112))
34
+
- Increased zoom on canvas to visualize larger diagrams
35
+
- Cost data is now retrieved from a new API that queries Cost and Usage Reports via Athena (manual steps to set up are still required)
36
+
- Improved the "Getting started" wizard to help new users.
37
+
- Improved filtering to allow user to include or exclude resources of a certain type.
38
+
7
39
## [1.0.1] - 2020-09-29
8
40
9
41
- Added 'Save Template' option when importing new accounts and Regions. This removes the need to enable public access objects in the AmplifyStorageBucket
10
42
- Altered wording around visibility levels when saving architecture diagrams. 'You' and 'All users' is now used instead of 'public' and 'private'.
11
43
- Fixed bug that was causing import configurations to become corrupt when an account or Region was deleted by the UI if a discovery was in progress.
12
-
- Fixed bug leading to invalid JSON being generated in CloudFormation templates for importing accounts and Regions.
44
+
- Fixed bug leading to invalid JSON being generated in CloudFormation templates for importing accounts and Regions.
13
45
- Fixed Dependabot issues raised by GitHub
14
46
- Fixed bug leading to RestApi icons not being displayed in Firefox.
Copy file name to clipboardExpand all lines: README.md
+62-27Lines changed: 62 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,13 @@
1
-
# AWS Perspective
1
+
# AWS Perspective (v1.1.0)
2
2
3
3
AWS Perspective is a tool that quickly visualizes AWS Cloud workloads as architecture diagrams. You can use the solution to build, customize, and share detailed workload visualizations based on live data from AWS. This solution works by maintaining an inventory of the AWS resources across your accounts and Regions, mapping relationships between them, and displaying them in a web user interface (web UI).
4
4
5
+
v1.1.0 brings a new feature that uses AWS Cost & Usage Reports (AWS CUR) to help you identify AWS resources that have incurred a cost. You can build architecture diagrams displaying this cost information and generate Cost Reports which graph the overall cost of your workload over a configurable time period. These reports can be exported in CSV format.
6
+
7
+
The new release includes many UX improvements among them a Grouped Resources ** view which displays an inventory of your workloads. Resource type coverage has also been improved with Perspective now supporting your Amazon Redshift Clusters.
8
+
9
+
An update-in-place option has been added to further simplify the update process. Perspective will default to using Graviton instances where possible, resulting in up to a 20% reduction in running costs over the previous version.
10
+
5
11
To find out more about AWS Perspective visit the [AWS Perspective Solution Page](https://aws.amazon.com/solutions/implementations/aws-perspective).
6
12
7
13
## Features
@@ -10,19 +16,23 @@ To find out more about AWS Perspective visit the [AWS Perspective Solution Page]
10
16
11
17
AWS Perspective lets you build, customize, and share detailed architecture diagrams. Perspective maintains an inventory of the AWS resources across your accounts and Regions, mapping relationships between them and displaying them in a web user interface (UI).
12
18
13
-

19
+

14
20
15
-
### Search across Accounts and Regions
21
+
### Query AWS Cost & Usage Reports (CURs)
16
22
17
-
The search feature lets you use basic information e.g. resource name, Tag name, or IP address to locate the resources you are interested in.
23
+
The cost query builder lets you locate AWS resources and services that may have incurred a cost. The estimated cost data is automatically calculated for the time period specified and displays on your architecture diagrams.
24
+
25
+
You can generate a cost report for your architecture diagrams that contains an overview of the estimated cost and export them as CSV.
18
26
19
-

27
+

20
28
21
29
### Explore your AWS Resources
22
30
23
31
Explore resources provisioned across your accounts and Regions using the resource directory. It contains all the resources Perspective has discovered. You can start building your architecture diagrams with a single click of a resource.
24
32
25
-

33
+
The search feature lets you use basic information e.g. resource name, Tag name, or IP address to locate the resources you are interested in.
34
+
35
+

26
36
27
37
### Save & export architecture diagrams
28
38
@@ -46,6 +56,9 @@ To find out more about AWS Perspective visit our [AWS Solutions](https://aws.ama
46
56
| Europe (Ireland) (eu-west-1) |[Launch](https://console.aws.amazon.com/cloudformation/home?region=eu-west-1#/stacks/create/template?stackName=aws-perspective&templateURL=https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|[Link](https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|
47
57
| Europe (London) (eu-west-2) |[Launch](https://console.aws.amazon.com/cloudformation/home?region=eu-west-2#/stacks/create/template?stackName=aws-perspective&templateURL=https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|[Link](https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|
48
58
| Europe (Frankfurt) (eu-central-1)|[Launch](https://console.aws.amazon.com/cloudformation/home?region=eu-central-1#/stacks/create/template?stackName=aws-perspective&templateURL=https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|[Link](https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|
59
+
| Europe (Paris) (eu-west-3)|[Launch](https://console.aws.amazon.com/cloudformation/home?region=eu-west-3#/stacks/create/template?stackName=aws-perspective&templateURL=https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|[Link](https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|
60
+
| Europe (Stockholm) (eu-north-1)|[Launch](https://console.aws.amazon.com/cloudformation/home?region=eu-north-1#/stacks/create/template?stackName=aws-perspective&templateURL=https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|[Link](https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|
61
+
| South America (Sao Paulo) (sa-east-1) |[Launch](https://console.aws.amazon.com/cloudformation/home?region=sa-east-1#/stacks/create/template?stackName=aws-perspective&templateURL=https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|[Link](https://solutions-reference.s3.amazonaws.com/aws-perspective/latest/aws-perspective.template)|
49
62
50
63
## Installation
51
64
@@ -63,7 +76,7 @@ To submit an idea for a feature you would like to see implemented, please [creat
63
76
64
77
## Architecture
65
78
66
-

79
+

67
80
68
81
AWS Perspective is deployed to your account using an AWS CloudFormation template consisting of six components. Following is a high level overview of the components. For additional details about each component, refer to the [Solution components guide](https://docs.aws.amazon.com/solutions/latest/aws-perspective/solution-components.html).
69
82
@@ -73,7 +86,8 @@ The storage management component stores user preferences and saved architecture
73
86
74
87
The discovery component uses [AWS Config](http://aws.amazon.com/config) and AWS API calls to maintain an inventory of resource data from imported accounts and Regions, then stores its findings in the data componenet. This runs every 15 minutes as a container task on [AWS Fargate](http://aws.amazon.com/fargate/). The discovery component container image is built in the image deployment component using [AWS CodePipeline](http://aws.amazon.com/codepipeline/) and [AWS CodeBuild](http://aws.amazon.com/codebuild/).
75
88
76
-
The cost component processes [AWS Cost and Usage Reports](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html) (AWS CUR) to make cost data available in AWS Perspective. To use this feature, you must [create a report in AWS CUR](https://docs.aws.amazon.com/cur/latest/userguide/cur-create.html) to deliver the reports to the PerspectiveCostBucket Amazon S3 bucket. When an AWS CUR is delivered, it triggers an [AWS Lambda](http://aws.amazon.com/lambda) function to process the cost data and store it in an [Amazon DynamoDB](http://aws.amazon.com/dynamodb/) table. The data component queries this DynamoDB table to provide the costs associated with the individual resources for display in the web UI. If you do not create an AWS CUR, cost data will not be included in AWS Perspective architecture diagrams.
89
+
The cost component processes [AWS Cost and Usage Reports](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html) (AWS CUR) to make cost data available in AWS Perspective. To use this feature, you must [create a report in AWS CUR](https://docs.aws.amazon.com/cur/latest/userguide/cur-create.html) to deliver the reports to the ```CostAndUsageReportBucket``` Amazon S3 bucket. When an AWS CUR is delivered, it triggers an [AWS Lambda](http://aws.amazon.com/lambda) function to trigger a AWS Glue Crawler that will update a table ready for Amazon Athena to query. You can query these AWS CURs via the Perspectie UI. You can bring in cost data from other accounts discoverable to Perspective by setting up a AWS CUR and setting up replication between the S3 bucket in the discoverable account and the ```CostAndUsageReportBucket```
90
+
77
91
78
92
## Development
79
93
### Directory structure
@@ -106,14 +120,14 @@ To develop locally, this `settings.js` file must be present.
106
120
107
121
### Running unit tests
108
122
109
-
```
123
+
```sh
110
124
cd ./deployment
111
125
./run-unit-tests.sh
112
126
```
113
127
114
128
### Running a local build
115
129
116
-
```
130
+
```sh
117
131
cd ./deployment
118
132
./build-s3-dist.sh
119
133
```
@@ -135,10 +149,10 @@ When you have made changes to the code, you can build it locally and upload the
135
149
```touch local-deploy-script.sh```
136
150
2. Copy the contents below and paste in local-deploy-script.sh. Substitute the value placeholders (marked with angle brackets) with your own values, then save the script.
137
151
138
-
```
152
+
```sh
139
153
#!/usr/bin/env bash
140
154
141
-
set -e
155
+
set -euo pipefail
142
156
143
157
# The Region you wish to deploy to.
144
158
AWS_REGION=<aws-region>
@@ -203,8 +217,11 @@ Parameters required by the template:
203
217
***OptOutOfSendingAnonymousUsageMetrics** - Yes/No depending on whether you are happy to send anonymous usage metrics back to AWS.
204
218
***CreateNeptuneReplica** - Yes/No depending on whether you want a read-replica created for Amazon Neptune. Note, that this will increase the cost of running the solution.
205
219
***NeptuneInstanceClass** - Select from a range of instance types that will be provisioned for the Amazon Neptune database. Note, the selection could increase the cost associated with running the solution.
206
-
207
-
**Note** - You will need to deploy in the same account and region as the S3 bucket.
220
+
***ElasticsearchInstanceType** - Select the instance type that will be provisioned for the Amazon ElasticSearch Domain.
221
+
***CreateAPIGatewayCloudWatchLogsRole** - If set to Yes, the solution creates a role and overwrites the existing APIGatewayCloudWatchLogsLogsRole property. Set to No if you already have an existing role set.
222
+
***AthenaWorkgroup** - The Workgroup that will be used to issue the Athena query when the Cost feature is enabled.
223
+
224
+
**Note** - You will need to deploy in the same account and region as the S3 bucket that the deployment artefacts are uploaded to.
208
225
209
226
210
227
## Web API Examples
@@ -229,13 +246,18 @@ You can find your Bearer Token by:
229
246
230
247
#### getAllResources
231
248
249
+
The Server API URL is specified in the `PerspectiveWebUiApiUrl` CloudFormation template output
250
+
232
251
##### Request
233
252
234
-
```
235
-
curl --location --request POST 'https://<your-api-gateway-id>.execute-api.<deployment-region>.amazonaws.com/Prod/resources' \
@@ -274,6 +305,10 @@ You will receive a URL that when clicked will open up DrawIO in the browser and
274
305
275
306
***
276
307
308
+
## Collecting Anonymous Operational Metrics
309
+
310
+
This solution collects anonymous operational metrics to help AWS improve the quality of features of the solution. For more information, including how to disable this capability, please see the Implementation Guide.
311
+
277
312
Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
278
313
279
314
Licensed under the Apache License Version 2.0 (the "License"). You may not use this file except in compliance with the License. A copy of the License is located at https://www.apache.org/licenses/ or in the "[license](LICENSE.txt)" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and limitations under the License.
0 commit comments