cdk synth runs locally and produces a template. cdk deploy normally calls CloudFormation and may also call STS, S3, IAM, ECR, and service APIs for bootstrap assets and deployment monitoring.
Do not infer deploy compatibility because the resources inside a synthesized template have service adapters. The deployment engine itself must be reachable through a documented CloudFormation mapping, and every auxiliary API in the tool’s call graph must be covered.
Inventory the deployment path
For the exact AWS CLI, CDK CLI, bootstrap stack, and library versions you use, record:- CloudFormation operations such as stack create, change set, describe, event polling, and delete;
- STS and account-discovery calls;
- bootstrap bucket reads and writes;
- ECR calls for container assets;
- IAM role and policy calls;
- service-specific operations performed outside CloudFormation;
- endpoint configuration available for each client.
Safely use synthesis today
Synthesis is useful for understanding the intended origin-cloud resources without contacting Cloud Adapter:Build a compatibility fixture
When the complete dependency graph is covered, start with a disposable stack containing one resource and no custom resources or external assets. Retain:- the synthesized template;
- the list of API operations observed during deployment;
- stack events and request identifiers;
- native target state;
- the delete result.
Endpoint routing is multi-service
One--endpoint-url affects one AWS CLI service invocation. CDK creates several service clients internally. A single S3 endpoint override does not redirect CloudFormation, STS, IAM, or ECR. Keep the routing design explicit and do not use a catch-all endpoint override unless every call it captures is intentionally supported.
Failure interpretation
Until your complete call graph passes, use a directly supported client or IaC guide rather than presenting synthesis as deployment evidence. Start with Terraform/OpenTofu or AWS CLI.