updated infra README about pinning AMI
This commit is contained in:
parent
2f4e5b585d
commit
2745e75408
1 changed files with 19 additions and 0 deletions
|
|
@ -46,6 +46,25 @@ psql $DATABASE_URL -c 'SELECT 1;'
|
||||||
psql $DATABASE_URL -f ~/everytab/pipeline/01_cc_index/schema.sql
|
psql $DATABASE_URL -f ~/everytab/pipeline/01_cc_index/schema.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Pinning the EC2 AMI
|
||||||
|
|
||||||
|
The `data.aws_ami` lookup fetches the latest Amazon Linux 2023 AMI. If Amazon publishes a new one between applies, Terraform will want to replace your EC2 instance.
|
||||||
|
|
||||||
|
To prevent this, pin the AMI after initial creation:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Get the current instance's AMI
|
||||||
|
aws ec2 describe-instances --filters "Name=tag:Name,Values=everytab" \
|
||||||
|
--query "Reservations[0].Instances[0].ImageId" --output text
|
||||||
|
|
||||||
|
# Add to terraform.tfvars
|
||||||
|
echo 'ec2_ami = "ami-XXXXXXXXXXXX"' >> terraform.tfvars
|
||||||
|
```
|
||||||
|
|
||||||
|
Now `terraform apply` won't replace the instance for non-EC2 changes (like adding CloudFront logging).
|
||||||
|
|
||||||
|
Remove the `ec2_ami` line from tfvars when you want a fresh instance with the latest AMI (e.g., after teardown).
|
||||||
|
|
||||||
## Teardown (after backup)
|
## Teardown (after backup)
|
||||||
|
|
||||||
Switch to serving-only mode (destroys EC2, RDS, icons bucket):
|
Switch to serving-only mode (destroys EC2, RDS, icons bucket):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue