Had something like this in a mock, and A was the pick there. Tag policies with Organizations scale better than Lambda or Config for cross-account tagging rules. Pretty sure about A, unless existing untagged resources are the main concern. Agree?
B, not D. I think governance mode (D) only works if the user doesn't have special permissions to bypass it, but with compliance mode (B), even root can't delete the object until the period ends. Tricky because governance sounds secure, but exam questions usually want the stricter setting. Open to other thoughts though if I'm missing something.
Option D seems possible since you can use Fn::If for some conditional logic in CloudFormation, but I think it's not really meant to control resource creation order. Fn::If mostly changes properties or whether something gets created, not the sequencing. Pretty sure this wouldn't actually fix the Lambda running too soon. If anyone's made this work differently let me know.
My vote is A is right here. The problem is all about the resource order, and DependsOn is how you make sure CloudFormation waits for the EC2 instance before launching the Lambda custom resource. D looks tempting but Fn::If doesn't guarantee resource creation order. Seen this in exam practice a few times, pretty sure it's A.
Probably C, since EventBridge needs that resource-based policy on the event bus for cross-account PutEvents to actually go through. Without it, sender accounts can't deliver events even if their IAM roles allow it. Pretty sure from the official AWS doc and a similar practice test. Official guide explains this gotcha pretty well, worth reviewing.
Option A is the best fit here. Adding Aurora Replicas directly addresses connection and CPU issues since reads are offloaded without extra app logic. D sounds good but assumes all reporting can be effectively cached, which is a trap in production. Disagree?