AWS API gateway currently supports two types custom domain names: Edge Optimized and Regional.
Let me share what the differences that I have found out so far:
- Target Domain Name
Edge optimized: target domain name is called distributionDomainName, and it is the format of <distribution-id>.cloudfront.net
Regional: target domain name is called regionalDomainName, and it is the format of <api-id>.execute-api.<region>.amazonaws.com - ACM Certificate
Edge optimized: only can use the certificate that is issued in us-east-1
Regional: use regional issued certificate - Route 53 Alias
Edge optimized: supports route 53 A type Alias. Typical usage is top level domain (apex) A record. (Note: this type does not support Route53 active-active or active-passive due to DNS healthcheck is not compatible with cloudfront)
Regional: does not support route 53 alias by default unless you manually create a cloudfront distribution for it.
Reference: http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html