Это первый проект, который я развертываю в AWS, и мне действительно сложно понять, как все работает. Stack Overflow не подходил для этого вопроса, поэтому, надеюсь, он будет.
В настоящее время у меня есть приложение, работающее на Docker в экземпляре EC2, возможно, этот контейнер в конечном итоге будет запущен в ECS в зависимости от того, что будет решено. API Node в настоящее время работает в HTTP и будет использоваться как SPA, который размещен в Firebase и разрешает соединения только с HTTPS. Может ли AWS Elastic Load Balancer + AWS Certificate Manager с общедоступным сертификатом выполнить эту работу за меня как в EC2, так и в ECS? Если да, может ли Load Balancer указывать на несколько API и потребуется ли мне более одного сертификата / домена для каждого из них? Заранее благодарю за внимание.
Вместо ELB (Elastic Load Balancer) рассмотрим ALB (Балансировщик нагрузки приложений) - это вообще дешевле и гибче.
Да, вы можете получить сертификат от AWS Certificate Manager и отключить SSL на ALB. Затем ALB может взаимодействовать с вашим докер-контейнером через простой HTTP (без SSL). Если вы используете ECS (а вы должны это делать!), Он может автоматически регистрировать контейнеры в ALB.
ALB имеет концепцию Целевые группы где у вас могут быть разные поставщики контента, например разные контейнеры API, за одним балансировщиком нагрузки. Они будут отличаться путями, например /api1/...
и /api2/...
, но будет использовать то же имя хоста. Это также означает, что вы обойдетесь с одним сертификатом ACM.
Надеюсь, это поможет :)