Как создать пользовательскую конечную точку с помощью шлюза Amazon API? - PullRequest
1 голос
/ 01 апреля 2019

Итак, я настроил AWS API Gateway перед моим RESTFUL Flask API, размещенным на экземпляре EC2 и обслуживаемом gunicorn, но это дало мне действительно некрасивую конечную точку для удара, есть ли способ, которым я мог бы получить его доПользовательский URL?

Мне дали этот URL https://123x123x.execute-api.eu-west-2.amazonaws.com/myendpoint/

Я хотел бы иметь такой как https://myurl.net/myendpoint

1 Ответ

1 голос
/ 01 апреля 2019

Краткий ответ:

  1. Назначьте разрешение Cloudfront пользователю / роли IAM в вашей учетной записи:
{
    "Version": "2012-10-17",
    "Statement": [
         {
            "Sid": "AllowCloudFrontUpdateDistribution",
            "Effect": "Allow",
            "Action": [
                "cloudfront:updateDistribution"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
  1. Определение конечной точки API с оптимизированной границей, сопоставленной с вашим текущим URL https://123x123x.execute-api.eu-west-2.amazonaws.com/myendpoint/
  2. Регистрация сертификата через AWS ACM (или, если у вас есть собственный CA, создайте его и импортируйте)
  3. Создайте пользовательское DNS-имя в Route 53 для желаемого myurl.net домена
  4. Назначьте новое пользовательское DNS-имя псевдониму записи A для объекта, оптимизированного по границе, например, a1b2c3d4e5f6.cloudfront.net

Более подробный ответ от AWS подробно описан здесь: https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html

Примечание. С этим также можно в значительной степени управлять с помощью API-интерфейса REST шлюза AWS API: https://docs.aws.amazon.com/apigateway/api-reference/link-relation/domainname-create/

...