Skip to content

Commit 8392efe

Browse files
committed
Update README to reflect the new AMI build process
1 parent 61667cd commit 8392efe

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,18 @@ AWS_PROFILE="some-profile" make create-stack
114114
aws-vault exec some-profile -- make create-stack
115115
```
116116

117-
If you need to build your own AMI (because you've changed something in the
118-
`packer` directory), run packer with AWS credentials in your shell environment.
117+
If you need to build your own AMIs (because you've changed something in the
118+
`packer` directory), run `make packer` with AWS credentials in your shell environment.
119119

120-
By default, AMIs are built as private (only accessible to the AWS account that created them) for security. You can control AMI visibility and build location using these variables:
120+
The build process is now two steps:
121+
1. **Base AMI:** A base AMI is created with the latest OS updates. This image is cached and only rebuilt when the underlying OS or configuration changes.
122+
2. **Final AMI:** The final AMI is built on top of the base AMI, installing the Buildkite agent and other software. This makes final builds faster and more consistent.
121123

122-
- **`AMI_PUBLIC`** - Set to `true` to make AMIs publicly accessible to all AWS users, or `false` (default) for private AMIs
123-
- **`AMI_USERS`** - Comma-separated list of AWS account IDs that should have access to private AMIs (ignored when `AMI_PUBLIC=true`)
124-
- **`AWS_REGION`** - AWS region where AMIs should be built (defaults to `us-east-1`)
124+
By default, AMIs are built as private. You can control AMI visibility and build location using these variables:
125+
126+
- `AMI_PUBLIC` - Set to `true` to make AMIs publicly accessible to all AWS users, or `false` (default) for private AMIs.
127+
- `AMI_USERS` - A comma-separated list of AWS account IDs that should have access to private AMIs (ignored when `AMI_PUBLIC=true`).
128+
- `AWS_REGION` - The AWS region where AMIs should be built (defaults to `us-east-1`).
125129

126130
```bash
127131
# Build private AMIs (default - recommended for security)
@@ -137,8 +141,7 @@ make packer AMI_USERS="123456789012,987654321098,555666777888"
137141
make packer AMI_PUBLIC=false AMI_USERS="123456789012,987654321098" AWS_REGION=us-west-2
138142
```
139143

140-
This will boot and image three AWS EC2 instances in your account's `us-east-1`
141-
default VPC (or the region specified by `AWS_REGION`):
144+
This will create AMIs for the following platforms in your account's `us-east-1` region (or the region specified by `AWS_REGION`):
142145

143146
- Linux (64-bit x86)
144147
- Linux (64-bit Arm)

0 commit comments

Comments
 (0)