Назад | Перейти на главную страницу

Объединение EC2 с S3 и RDS от AWS Amazon

Хотелось бы узнать, возможен ли следующий сценарий или нет. Кроме того, если вы думаете, что я вижу что-то не так, не стесняйтесь упомянуть об этом.

Мне нужно предложить и создать схему системной архитектуры для компании, которая сейчас управляет 3 разными серверами (разными поставщиками серверов) в 3 разных местах, и на каждом сервере размещается около 50 ++ веб-сайтов.

Итак, сейчас это так:

Server1 имеет большую базу данных MySql, которую использует любой другой сервер (server2, server3 и включенный server1) с удаленным соединением mysql.

Так,

Сервер MySQL с серверов server1:

На сервере Server1 в домене website1.com есть папка с изображениями, которые все остальные веб-сайты на серверах, включая server1, должны иметь к ним доступ.

Например:

website1.com использует файл изображения image / image1.jpg, и в то же время website2.com и website3.com используют тот же image1.jpg в качестве http://website1.com/image/image1.jpg

Кроме того, каждый веб-сайт на каждом сервере каждый раз проверяет, существует ли файл. На самом деле проверка выполняется php на стороне сервера. Они проверяют, существует ли изображение локально, используя if_file_exist() и удаленно с if (getheaders() ==200 )

Например.

Если посетитель пытается получить доступ к website1.com, website1.com (фактически server1) проверяет if website1.com/image/image1.jpg exists. Кроме того, если посетитель пытается получить доступ к website21.com, website21 (фактически server2) проверяет if header of http://website1.com/image/image1.jpg == 200 .

Так,

Веб-сайт website1.com/image/image1.jpg на server1 получил доступ и проверил, существует ли изображение на всех веб-сайтах:

По моему мнению,

лучший сценарий, вероятно, может быть следующим:

3 экземпляра AWS EC2 в качестве работающего сервера. 1 корзина AWS S3, в которой находятся все файлы в / image / folder. 1 база данных RDS, на которой находятся все веб-сайты, размещенные в 3 экземплярах EC2.

В таком случае,

один экземпляр EC2 может получить и проверить, существует ли файл из корзины S3, и тот же экземпляр EC2 получит данные в базе данных из RDS.

Если я прав, задержка от экземпляра EC2, чтобы проверить, существует ли файл и получить его от S3, должна быть очень низкой, потому что она должна быть «локально» через инфраструктуру AWS.

кроме того, запрос к общему RDS должен быть быстрее и безопаснее по той же причине.

Так,

если посетитель заходит на сайт website1.com

у нас будет следующее:

website1.com -> экземпляр EC1

website21.com -> экземпляр EC2

Возможен ли сценарий? Или я что-то не так вижу?

Вы видели какой-нибудь другой вариант?

Другой вариант:

Применив вместо S3 Amazon CloudFront, можно ли быстрее решить проблему?

редактировать

Проверка должна выполняться по следующим причинам:

image1.jpg - это изображение. а image1-es.jpg - это специальное изображение для конкретной страны ES (Испания).

Другими словами, сервер должен проверить, есть ли изображение, предназначенное для посетителей из ES (испания), в противном случае - сервер общего изображения.

Ваш план, скорее всего, сработает, но, вероятно, не оптимален. S3 не является файловой системой, поэтому ваши приложения, возможно, придется переписать, чтобы воспользоваться ею. Существуют программы, которые могут придать ей вид файловой системы.

Возможно, вам лучше использовать

  • Виртуальные машины EC2
  • Скорее всего, на томе EBS работает только операционная система. Вы можете поместить некоторые или все файлы для обслуживания (статические + PHP) на том EBS, если вас не беспокоит их совместное использование с другими экземплярами.
  • EFS (Elasic File System) для хранения общих файлов. Если вы запустите Wordpress, вся установка Wordpress может быть здесь - таким образом, если вы масштабируете до нескольких экземпляров Ec2, работающих на одном и том же веб-сайте, ваша папка wp-content является общей, и вам нужно поддерживать только один экземпляр Wordpress. Обратите внимание, что это все еще может быть бета-версия.
  • CloudFront для доставки файлов CDN
  • RDS для базы данных

За обслуживание файлов для конкретного региона отвечает ваше программное обеспечение и инфраструктура Amazon.