Все эти приложения должны находиться в одном домене.
В этом случае каждый запрос для этого домена должен проходить через CloudFront first .
Ваша DNS-запись должна указывать на CloudFront (не ALB), а CloudFront будет отвечать за направление запроса к соответствующей цели - к экземпляру EC2 через ALB, к корзине S3, куда угодновам нужно выполнить запросы - и каждая из этих вещей называется контентом origin .
После того, как источник указан своим индивидуальным доменным именем (не доменное имя вашего сайта, адоменное имя специально для рассматриваемого ресурса), вы определяете CloudFront шаблоны пути , чтобы выбрать, какой источник должен получать запрос для каждого шаблона (например, /api*
).
Как только ваш DNS будетизменено так, чтобы оно указывало на CloudFront, все запросы сначала идут туда и передаются следующему сервису, если только CloudFront не имеет кэшированную копию запрошенного объекта - в этом случае CloudFront будет обслуживать его из своего кэша, и ничего не будет отправленок началу координат.
Вы не можете направить маршрут от ALB к CloudFront, но вы можете направить маршрут от CloudFront к ALB.
Невозможно подразделить домен на несколько разных источников контента, основанных на путях, без использования обратного прокси-сервера, который может сопоставлять пути и извлекать контент от имени запрашивающей стороны - HTTP и DNS don 'не поддерживает такую функциональность.CloudFront, в дополнение к предоставлению услуги CDN, также является обратным прокси-сервером.
ALB, конечно, также является обратным прокси-сервером, но не поддерживает столько разных типов источников контентакак CloudFront - ALB поддерживает только экземпляры EC2, серверы в вашем центре обработки данных (в этом случае ALB должен иметь VPN-путь для доступа к ним) и Lambda функционируют как источники контента.CloudFront может использовать буквально все что угодно в качестве источника контента, если он говорит по HTTP / HTTPS и доступен через Интернет.(Чтобы выбрать несколько случайный пример, CloudFront может даже использовать службу от другого поставщика - например, хранилище Google Cloud Storage - в качестве источника контента, если это было чем-то, что вам нужно было сделать по любой причине ... потому что этодоступны через HTTP через общедоступный Интернет.)