How can a developer meet these requirements without changing the configuration of the SCM system?
Deploy the API Gateway REST API to all the required AWS accounts. Use the same custom domain name for all the gateway endpoints so that a single SCM webhook can be used for all events from all accounts.
Deploy the API Gateway REST API to all the receiver AWS accounts. Create as many SCM webhooks as the number of AWS accounts.
Grant permission to the central AWS account for EventBridge to access the receiver AWS accounts. Add an EventBridge event bus on the receiver AWS accounts as the targets to the existing EventBridge rule.
Convert the API Gateway type from REST API to HTTP API.
Explanations:
While deploying the API Gateway REST API to all required accounts with the same custom domain name might seem convenient, it would require modifying the SCM system to support multiple endpoints. This approach does not meet the requirement of not changing the SCM configuration.
This option suggests creating multiple SCM webhooks for each AWS account, which goes against the requirement to not change the SCM system configuration. Additionally, it adds unnecessary complexity and maintenance overhead.
Granting permission to the central AWS account allows the existing EventBridge rule to publish events to multiple receiver AWS accounts. By adding EventBridge event buses as targets in the receiver accounts, events can be received across all accounts without modifying the SCM system. This solution meets all requirements effectively.
Changing the API Gateway type from REST API to HTTP API does not address the requirement of sending events to multiple receiver accounts. It primarily impacts performance and pricing but does not solve the issue of event distribution across multiple accounts.