Skip to content

Commit 2caf1bf

Browse files
Account Limit Service Quota Code and Enabling Budgets (#815)
2 parents 148443c + f4bdf57 commit 2caf1bf

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

docs/layers/accounts/account-baseline.mdx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,17 @@ Now that all the accounts have been deployed, we need to finalize the setup of t
4848
budgets_slack_username: AWS Budgets
4949
budgets_slack_channel: aws-budgets-notifications
5050
```
51-
3. **To enable budgets for the entire organization**, update `account-settings` in the same account as the Organization root account, typically `core-root`. This budget will include the total spending of all accounts in the Organization.
51+
3. **Enable Cost Explorer** (if not already enabled). When attempting to create budgets, you may encounter the following error:
52+
53+
```console
54+
Error: creating Budget (xxx-core-gbl-artifacts-1000-total-monthly): operation error Budgets: CreateBudget,
55+
https response error StatusCode: 400, RequestID: xxx,
56+
AccessDeniedException: Account xxx is a linked account. To enable budgets for your account, ask the payer account to enable budgets first.
57+
```
58+
59+
This error occurs when AWS Cost Explorer has not been activated for the organization. To resolve this, navigate to the AWS Cost Explorer console in your organization's management account and verify that Cost Explorer is enabled. Cost Explorer must be enabled at the organization level before individual member accounts can create budgets.
60+
61+
4. **To enable budgets for the entire organization**, update `account-settings` in the same account as the Organization root account, typically `core-root`. This budget will include the total spending of all accounts in the Organization.
5262
```yaml
5363
# stacks/orgs/acme/core/root/global-region/baseline.yaml
5464
import:
@@ -85,7 +95,7 @@ Now that all the accounts have been deployed, we need to finalize the setup of t
8595
subscribers:
8696
- slack
8797
```
88-
4. **To enable budgets for individual accounts**, update `account-settings` in the account you want to enable budgets for or as the default setting for all `account-settings` components to apply to every account. This budget will include the spending of the given account only.
98+
5. **To enable budgets for individual accounts**, update `account-settings` in the account you want to enable budgets for or as the default setting for all `account-settings` components to apply to every account. This budget will include the spending of the given account only.
8999
```yaml
90100
# stacks/catalog/account-settings.yaml
91101
components:
@@ -105,7 +115,7 @@ Now that all the accounts have been deployed, we need to finalize the setup of t
105115
limit_unit: GB
106116
time_unit: MONTHLY
107117
```
108-
5. Finally, reapply `account-settings` in any changed account to apply the new settings
118+
6. Finally, reapply `account-settings` in any changed account to apply the new settings
109119
<AtmosWorkflow workflow="deploy/account-settings" fileName="quickstart/foundation/accounts" />
110120
</Steps>
111121
</Step>

docs/layers/accounts/deploy-accounts.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ This step-by-step process outlines how to deploy AWS accounts using `atmos` work
129129
```bash
130130
aws service-quotas request-service-quota-increase \
131131
--service-code organizations \
132-
--quota-code L-29A42BEB \
132+
--quota-code L-E619E033 \
133133
--desired-value 20
134134
```
135135

136-
Where `L-29A42BEB` is the quota code for "Accounts per organization".
136+
Where `L-E619E033` is the quota code for "Default maximum number of accounts" under "AWS Organizations" in "us-east-1".
137137

138138
<Note title="Terraform Alternative">
139139
This quota increase can also be requested through our [account-quotas](/components/library/aws/account-quotas/) component, but it's generally faster to handle this manually or through the API since it's a one time request.

0 commit comments

Comments
 (0)