如何使用亚马逊 api 网关创建自定义终端节点



所以我在我的 RESTFUL Flask API 前面设置了一个 AWS API 网关,该 API 托管在 EC2 实例上,并与 gunicorn 一起提供,但它给了我一个非常丑陋的终端节点,有没有办法让它进入自定义 url?

我得到了这个网址https://123x123x.execute-api.eu-west-2.amazonaws.com/myendpoint/

我想有一个像https://myurl.net/myendpoint

简短的回答是:

  1. 将 Cloudfront 权限分配给您账户中的 IAM 用户/角色:
{
    "Version": "2012-10-17",
    "Statement": [
         {
            "Sid": "AllowCloudFrontUpdateDistribution",
            "Effect": "Allow",
            "Action": [
                "cloudfront:updateDistribution"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
  1. 定义映射到当前 URL 的边缘优化 API 终端节点 https://123x123x.execute-api.eu-west-2.amazonaws.com/myendpoint/
  2. 通过 AWS ACM 注册证书(或者,如果您有自己的 CA,请创建一个并导入(
  3. 在 Route 53 中为所需的myurl.net域创建自定义 DNS 名称
  4. 将新的自定义 DNS 名称分配给边缘优化对象的 A 记录别名,例如 a1b2c3d4e5f6.cloudfront.net

AWS 的较长答案详见此处:https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html

注意:这也可以通过 AWS API Gateway REST API 在很大程度上进行管理:https://docs.aws.amazon.com/apigateway/api-reference/link-relation/domainname-create/

最新更新