Skip to content

Commit 056d5ee

Browse files
authored
Update Enumerating AWS Resources.md
1 parent 260dcdd commit 056d5ee

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

AWS/Enumerating AWS Resources.md

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
# Enumerating AWS Resources
22
One of the bigger challenges in AWS is enumerating resources.
3-
Believe it or not, unlike Azure, there is no single view of all resources in an AWS account.
4-
The brute force way is to navigate to every resource type (roughly 147) in every region (20-something).
5-
6-
Alas, there are a few *tricks* that can help. In any of the cases below, you will need to have full read access
7-
to every resoource type in order to "see" them.
3+
Believe it or not, there is NO WAY to easily view ALL resources in an AWS account (!).
4+
Other cloud providers provide such an "all resources" view. But in AWS, you have to navigate to
5+
virtually every resource type (roughly 147) in every region (20-something) and look. Ouch!
6+
7+
Alas, there are a few *tricks* that can help soften the impact of this odd
8+
and frustrating limitation.
9+
In any of the solutions below, you will need to have full read access
10+
to *all* resoource type in order to "see" them.
811
Note that the built-in AWS **ReadOnlyAccess** policy does NOT have sufficient permission to see *all* resource types.
912

10-
**NOTE:** This document is a *work in progress*. Comments and updates are welcomed!
13+
**NOTE:** This document is a *work in progress*. Are you aware of any other approaches?
14+
There are some 3rd party solutions which will provide a view. Comments and suggestions are welcomed!
1115

1216
## Billing Data / Cost Explorer
13-
The billing data lists everything you have and how much it costs, on a daily basis.
17+
The one definitiove source of truth is the billing data.
18+
It lists everything that you pay for, and how much each item costs on a daily basis.
1419
While the billing data provides a list of all resources, it does NOT include the detailed configuration of each.
1520
But armed with the list of ARNs, it is easier to retrieve the details for each resource.
16-
The downside to this approach is that any resources created since the last billing day cycle won't appear.
21+
The downside to this approach is that any resources created since the last billing day cycle won't appear
22+
(generally 24 hours).
1723

18-
You can view the billing data in the AWS console (portal) using [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) at:
19-
TBD
24+
You can view the billing data in the AWS console (portal) using [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/).
2025

2126
## Tag Editor
22-
You can use the [Tag Editor](https://console.aws.amazon.com/resource-groups/tag-editor/find-resources)
27+
Another approach is to use the [Tag Editor](https://console.aws.amazon.com/resource-groups/tag-editor/find-resources)
2328
to find resources.
2429

2530
https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
@@ -37,9 +42,9 @@ $ aws resourcegroupstaggingapi get-resources --region region_name
3742

3843

3944
## AWS Config
40-
41-
[AWS Config](http://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)
42-
provides a detailed view of the configuration of AWS resources in each AWS account.
45+
Yet another approach is
46+
[AWS Config](http://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html),
47+
which provides a detailed view of the configuration of AWS resources in each AWS account.
4348
This includes how the resources are related to one another and how they were configured in the
4449
past so that you can see how the configurations and relationships change over time.
4550

@@ -50,7 +55,8 @@ The AWS CLI can be done for each region and each resource type:
5055
```
5156
$ aws configservice list-discovered-resources
5257
```
53-
58+
Drawbacks here is that you must enable AWS config and it then only captures resources as and when they change.
59+
AWS config can also be quite expensive.
5460
The console page may be accessed at:
5561
https://console.aws.amazon.com/config/home?region=us-east-1#/resource-listing
5662

@@ -62,7 +68,8 @@ along with the latest configuration in a Neptune or RDS database. Food for thou
6268

6369

6470
## Multiple AWS Accounts
65-
Options for enumerating resources across multiple accounts are limited to 3rd party tools.
71+
Options for enumerating resources across multiple accounts are limited to 3rd party tools,
72+
some free / open source; in additon to paid solutions.
6673

6774

6875
## 3rd Party Open Source Options
@@ -84,15 +91,16 @@ Some of the open source tools include:
8491

8592
---
8693
## Other Cloud Providers
87-
In contrast, other cloud providers have provided more efficient solutions to resource enumeration.
94+
In comparison, other cloud providers have provided more efficient solutions to resource enumeration.
95+
HINT TO AWS: Provide an enumerate reosurce API please!
8896

8997
### Microsoft Azure
9098
A customer is able to see all resources across all their subscriptions in a single view in the Azure portal.
9199
There is even a "Resources" REST API (and PowerShell cmdlet) which will enumerate all resources across all subscriptions in a given subscription.
92-
More recently, Microsoft has added the Azure Resource Graph where kusto queries can be used to rapidly query all resources
93-
across all visible subscriptions in one go.
100+
More recently, Microsoft has added the **Azure Resource Graph** where kusto queries can be used to rapidly query all resources
101+
across all visible subscriptions in one go (!!). This is VERY impressive and very fast.
94102

95-
### Google CLoud Platform (GCP)
96-
All resources in Google CLoud Platform (GCP) are organized into a hierarchy, with each node (Organizations, Folders, Projects, and so forth) having a reference to its parent. This makes it easy to programmatically iterate trhough and enumerate all resources using
103+
### Google Cloud Platform (GCP)
104+
All resources in Google Cloud Platform (GCP) are organized into a hierarchy, with each node (Organizations, Folders, Projects, and so forth) having a reference to its parent. This makes it easy to programmatically iterate trhough and enumerate all resources using
97105
a single API. See [listing all reosurces](https://cloud.google.com/resource-manager/docs/listing-all-resources) for more information.
98106

0 commit comments

Comments
 (0)