Создание и запуск полнофункционального веб-сайта по всему миру с помощью AWS

Опубликовано: 4 Марта, 2023

Прошло время, когда, если требовался новый веб-сайт, администратору приходилось устанавливать новый сервер (физический или виртуальный), устанавливать IIS (если Windows), размещать файлы HTML, находить общедоступный IP-адрес, настраивать брандмауэр для разрешения внешнего подключения. на сервер, и, кроме того, поддерживать патчи на сервере. И это только для начала процесса! Если для данного веб-сайта требуется высокая доступность, то администратор должен подумать о дополнительных серверах (если это виртуальные машины, они должны быть на разных хостах), резервных брандмауэрах, коммутаторах, стойках, подключениях к Интернету, панелях питания и т. д. Кроме того, мы не принимаем во внимание, что все подключения к Интернету окажутся на одном сервере, а доступ европейского пользователя окажется на том же сервере, что и человека в Америке. Простое объяснение усилий по созданию полнофункционального веб-сайта утомляет вас, верно? Что ж, AWS (Amazon Web Services) спешит на помощь. В этой статье мы рассмотрим несколько простых шагов, чтобы ваш сайт заработал в кратчайшие сроки.

Мы будем использовать следующие сервисы AWS для предоставления решения: для управления DNS, (Simple Cloud Storage Service), где мы собираемся размещать файлы веб-сайта, и , где мы будем распространять контент по всему миру. Ниже показана простая схема с базовой архитектурой решения, и мы будем перемещаться по этим службам, чтобы получить решение на месте.

Во-первых, давайте возьмем простой веб-сайт с индексом HTML и страницей ошибок, а также папку IMG с некоторыми изображениями, которые будут использоваться на веб-сайте.

Настройка S3

В этом разделе мы настроим место, где будет размещен сайт. Войдите в консоль AWS, нажмите «Сервисы», а затем нажмите «S3». На новой странице нажмите кнопку «Создать корзину».

В мастере назначьте уникальное имя для нового сегмента, укажите регион и нажмите «Далее».

На странице мы можем определить версии, шифрование и ведение журнала. Пока оставим настройки по умолчанию и нажмем Далее.

На странице мы изменим параметр на «Предоставить общий доступ для чтения к этому сегменту». Нажмите «Далее».

На странице будет отображаться сводка со всеми настройками. Нажмите «Создать корзину».

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

  1. На главной странице данного сегмента нажмите кнопку «Загрузить».
  2. На странице перетащите все файлы, созданные для веб-сайта (два HTML-файла и папку IMG), затем нажмите «Далее».
  3. На странице выберите «Предоставить общий доступ для чтения к этому объекту (объектам)» и нажмите «Далее».
  4. На странице оставьте настройки по умолчанию и нажмите «Далее».
  5. На странице отметьте действие, которое будет выполнено, и нажмите «Загрузить», чтобы подтвердить запуск файлов.

Следующим шагом является настройка нашей корзины в качестве и это всего в два клика. Нажмите «Свойства», а затем нажмите «Статический хостинг веб-сайтов». Убедитесь, что индекс и документ об ошибке соответствуют файлам, которые вы загружаете, и нажмите «Сохранить». Обязательно запишите конечную точку (информация выделена на изображении ниже).

Во время работы мастера мы определили разрешение ACL как общедоступное, но нам нужно настроить разрешения политики сегментов, и их легко применить с помощью формата JSON. Мы использовали официальную документацию AWS, чтобы добавить разрешение. (Обязательно измените ресурс, чтобы он отражал имя вашей корзины S3.)

{ "Версия": "2012-10-17", "Утверждение": [ { "Sid": "AddPerm", "Эффект": "Разрешить", "Основной": "*", "Действие": "s3: GetObject", "Resource": "arn:aws:s3:::montreallab/*" } ] }

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

Настройка службы CloudFront

Amazon имеет более 100 мест по всему миру для кэширования и доставки контента с помощью сервера, близкого к конечному пользователю. Мы воспользуемся этой услугой, чтобы улучшить работу нашего нового веб-сайта. Имейте в виду, что мы выходим на глобальный уровень всего за несколько кликов.

Войдите в консоль AWS, нажмите Services и выберите CloudFront, расположенный в разделе . На новой странице нажмите «Создать дистрибутив», а на новой странице выберите «Начать», расположенный в разделе .

На новой странице у нас есть множество опций для настройки нашего дистрибутива. Единственная информация, необходимая для начала работы, — это определение . Мы будем использовать адрес конечной точки S3.

На этом этапе игры мы знаем, какие имена будем использовать для доступа к этому сайту, и важно связать их во время создания точки распространения. Перейдите в раздел » и заполните все CNAME, которые будут использоваться для этого веб-сайта. Нажмите «Создать дистрибутив», когда закончите настройку всех параметров.

Дождитесь завершения процесса распространения, прежде чем двигаться дальше. Нажмите на только что созданную точку распространения и скопируйте имя домена. Мы будем использовать эту информацию на нашем следующем шаге. Тем временем мы можем использовать URL-адрес в браузере для доступа к нашему веб-сайту.

Настройка маршрута 53

Это последний штрих. Мы настроим наш общедоступный DNS (в нашем случае это доменное имя ) и убедимся, что www.montreallab.info указывает на имя , используя набор записей CNAME.

Мы предполагаем, что ваш домен уже настроен на Route 53, но если у вас есть какие-либо вопросы, как настроить Route 53, пожалуйста, ознакомьтесь с моей статьей, где я подробно объясняю эту услугу.

Последним тестом является доступ к хосту с помощью CNAME, который мы определили в Route 53 — в нашем случае это www.montreallab.info, и информация будет предоставлена ближайшим периферийным местоположением, предоставленным .

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

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