wtf( )unctionsystem design, drawn
← all problemsAWS SA ProHard

Two designs, and the account that could not fix the other one

The Payments account and the Platform account are peered. Order placement calls the ledger by its hostname, and the ledger's reconciliation job calls back to an order endpoint by ITS hostname. Both live in private subnets with no route to an internet gateway.

One direction works. The other resolves the name, gets an address, and times out on connect — and the address it gets is a public one.

Both diagrams are peered, both are active, both resolve. Choose the one where BOTH directions reach a private address.
!Reconciliation has been failing since the peering went in. Order placement, built by the same two teams in the same week, has never had a problem.DNS resolution across a peering connection is a per-side option, and the side that is missing it cannot be fixed by the account that noticed.
Design AEach account edited its own side

Boundaries, outermost first: Payments account: Order service (private), Its side of the pcx (DNS on) Platform account: Its side of the pcx (DNS on), Ledger (private) Connections: Order service calls Its side of the pcx Its side of the pcx publishes to Its side of the pcx — calls both ways Its side of the pcx calls Ledger

Order serviceprivate
Its side of the pcxDNS on
Its side of the pcxDNS on
Ledgerprivate
Design BThe team that noticed fixed it

Boundaries, outermost first: Payments account: Order service (private), Its side of the pcx (DNS on) Platform account: Its side of the pcx (default), Ledger (private) Connections: Order service calls Its side of the pcx Its side of the pcx publishes to Its side of the pcx — calls both ways Its side of the pcx calls Ledger

Order serviceprivate
Its side of the pcxDNS on
Its side of the pcxdefault
Ledgerprivate
Two designs, one brief. Read both, then choose the one that meets it.