Запросить сертификат в ACM для бэкэнда Elastic Beanstalk

Я только начал использовать AWS неделю назад. Я развернул свой сервер NodeJS в контейнере Docker через Elastic Beanstalk. И интерфейсное приложение Angular5 в S3 через CloudFront.

Я купил доменное имя на GoDaddy и настроил его так, чтобы оно указывало на мое приложение CloudFront Angular5. Я также создал сертификат SSL для этого домена (используется для внешнего интерфейса). Однако все запросы из приложения веб-интерфейса блокируются из-за небезопасности бэкэнда.

Итак, как я понимаю, следующим шагом будет настройка HTTPS для бэкэнда ElasticBeanstalk NodeJS.

Я нашел множество статей на эту тему. Но все они предполагают, что у меня уже есть сертификат.

Проблема заключается в том, что когда я пытался запросить сертификат через ACM для URL, который мне предоставляет Elastic Beanstalk (my-website.eu-west-2.elasticbeanstalk.com), запрос был отклонен со следующей ошибкой:

Request failed The status of this certificate request is "Failed". Additional verification required to request certificates for one or more domain names in this request.

Что я могу сделать в этом случае? И возможно ли даже использовать URL-адреса, предоставляемые aws (например, предоставляемые эластичным beanstalk), для запроса SSL-сертификатов?

Извиняюсь, если моя терминология не очень верна. Я совсем новичок во всем этом.

2 ответа

Решение

Вы не можете зарегистрировать SSL-сертификаты для доменов Amazon (amazonaws.com,asticbeanstalk.com и т. Д.)

Если вы хотите использовать HTTPS для своего приложения Elastic Beanstalk (внутреннего или внешнего), вы должны использовать свой собственный домен.

  1. Зарегистрируйте домен у DNS-регистратора.
  2. Запросите сертификат SSL через ACM для этого домена.
  3. Присвойте этот сертификат ACM своему приложению Elastic Beanstalk.
  4. Укажите свой домен для приложения Elastic Beanstalk, CNAME для внешнего DNS, CNAME или ALIAS для маршрута 53.
  5. Получите доступ к приложению EB через ваше доменное имя, а не адрес, назначенный эластичным бобом.

Да, как упоминал Мэтт Хаузер, это невозможно. Мне было просто интересно, должен ли я получить другое доменное имя.

То, что я сделал в конце концов, довольно просто. Я использовал route53 для создания другой записи Alias ​​с URL api.my-website.com, который указывает на мой бэкэнд Elastic Beanstalk.

Затем с помощью ACM я выпустил два отдельных SSL-сертификата как для api.my-website.com, так и для (www.) My-website.com, чтобы включить HTTPS как во внешнем интерфейсе, так и во внутреннем интерфейсе, и соответственно подключил их к ElasticBeanstalk и CloudFront. Это оказалось очень просто с услугами, которые предоставляет AWS.

Вот результат: https://my-next-movie.com/

Я просто оставлю это здесь на случай, если кто-то будет так же нов, как и я.

Другие вопросы по тегам