如何使用Amazon API Gateway创建自定义终结点?

时间:2019-04-01 13:16:24

标签: amazon-web-services aws-api-gateway api-gateway

因此,我在托管在EC2实例上并与gunicorn一起使用的RESTFUL Flask API之前设置了一个AWS API网关,但这给了我一个非常丑陋的终结点,请问有什么方法可以将其应用于自定义网址?

我已获得此网址https://123x123x.execute-api.eu-west-2.amazonaws.com/myendpoint/

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

的人

1 个答案:

答案 0 :(得分:2)

简短的答案是:

  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/

在很大程度上进行管理