shop for shop.example.com).0 issue "amazon.com" 0 issue "letsencrypt.org"
All the CAA records for a name go in one record. Route 53 keeps every CAA value for a name together in a single record, one per line. If there's already a CAA record for that name, edit it and add a line. Trying to create a second one gives an error.
The quotes are required. Route 53 rejects 0 issue amazon.com with an invalid value error. It has to be 0 issue "amazon.com".
ACM accepts any of these, and one is enough:
0 issue "amazon.com" 0 issue "amazontrust.com" 0 issue "awstrust.com" 0 issue "amazonaws.com"
This matters even if you never think about certificates on AWS. CloudFront, load balancers and API Gateway custom domains usually get their certificates from ACM, so as soon as your domain has CAA records, ACM has to be in them or those certificates won't renew.
For wildcard certificates from ACM, the issue record is enough unless the domain also has issuewild records. In that case add 0 issuewild "amazon.com" too.
A subdomain with no CAA records of its own uses the parent's, so records on the root of the domain cover everything under it. A subdomain's own records replace the parent's completely rather than adding to them.
A name that's a CNAME can't have a CAA record of its own. The lookup follows the CNAME and uses whatever CAA records the target has.
Route 53 changes usually reach its nameservers within a minute. Test the domain below, or run:
dig CAA example.com +short