Если вы новичок в Amazon Web Services (AWS), это может показаться невероятно сложным.

Кажется, что есть не только тысячи различных сервисов, каждый из которых имеет одинаково загадочное имя (например, S3, Lambda, EC2 или Athena), но также есть так многое настроить.

Вы должны решить, сколько памяти выделить для ваших функций, из какого географического региона мира вы хотите, чтобы ваш код обслуживался, и вам нужно создать странный объект JSON, чтобы предоставить разрешения? ДЕЙСТВИТЕЛЬНО легко опустить пальцы ног и решить, что это слишком запутанно, чтобы начать.

Если это описывает ваш опыт до сих пор, тогда хорошо - эта статья для вас.

Я был в одной лодке дольше, чем мог себе представить.

Но, несмотря на всю свою устрашающую сложность, в AWS есть что-то, что просто взывает к вам.

Это скорость, надежность и даже профессиональное влияние на то, чтобы сказать, что у вас есть опыт работы с AWS.

Но, как и в любом другом деле, если вы хотите начать работу, вам нужно сделать первый шаг. Итак, моя цель в этой статье - упростить эту задачу. Я хочу, чтобы вы сказали: «Я развернул проект на AWS».

Это будет намного проще, чем вы думаете, и это даст вам точку, с которой можно будет начать изучение других сервисов AWS.

Шаг 0: что вам нужно будет сделать

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

  1. Действующая кредитная / дебетовая карта (не волнуйтесь, все это бесплатно, как гласит название. Но вам нужно будет ввести данные кредитной карты, чтобы создать учетную запись AWS)
  2. Код внешнего интерфейса, который можно загрузить и разместить на AWS. Это может быть просто HTML-документ с <p>Hello World</p> в теле.

Шаг 1. Создайте учетную запись AWS

Честно говоря, я останавливался на этом этапе несколько раз просто потому, что это была одна из тех ситуаций «бесплатная пробная версия, но они запрашивают информацию о вашей кредитной карте», которой я стараюсь сопротивляться из принципа.

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

Поэтому перейдите по этой ссылке и создайте свою учетную запись: Уровень бесплатного пользования AWS.

Я знаю, что некоторые люди могут быть обеспокоены ограничениями бесплатного плана. Например, существует ежемесячный лимит на запросы GET и PUT (20 000 и 2 000 соответственно), после чего вы начинаете получать оплату.

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

И даже если вы это сделаете, цена за превышение ограничений обычно составляет доли пенни за 1000 запросов.

Шаг 2. Создайте корзину S3 для своего проекта / сайта

Чтобы упростить задачу, единственным сервисом AWS, который мы будем использовать в этом проекте, будет Simple Storage Service (или S3), одна из облачных служб хранения данных Amazon.

S3 немного похож на Google Диск или Dropbox. Но его также можно настроить для обслуживания файлов, а не просто для их хранения, что мы и будем делать.

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

Теперь, когда у вас есть учетная запись AWS, войдите в Консоль управления (ссылка здесь) и нажмите Службы в верхнем левом углу главного меню.

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

Это перенесет вас на страницу S3, где вы можете создавать разные «корзины» для хранения различных проектов.

Сегменты похожи на папки на рабочем столе. Но система хранения документов на S3 не соответствует традиционной структуре папок (подробнее об этом, если вам интересно). Так что вместо этого слово ведро кажется правильным.

Нажмите на большую синюю кнопку в левом верхнем углу под названием «Create Bucket», чтобы создать корзину, в которой будут храниться файлы вашего проекта.

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

Вы получите предупреждение от AWS, но не волнуйтесь. Они просто хотят убедиться, что никто не может сделать это случайно. Но это именно то, что вы хотите сделать.

Когда вы закончите, ваша корзина появится в списке на консоли S3.

Шаг 3. Добавьте файлы и настройте параметры корзины.

Нажмите на созданную вами корзину в списке. Это приведет вас к странице, где вы можете добавить содержимое в корзину и настроить ее параметры.

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

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

Затем щелкните вкладку «Свойства».

Здесь вы сообщите S3, что хотите использовать этот сегмент для размещения ваших файлов.

Просто нажмите на плитку с надписью «Статический хостинг веб-сайтов» и введите имена своего индекса (обязательно) и документов об ошибках (не обязательно), и все готово.

Затем щелкните вкладку «Разрешения».

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

Теперь вам нужно нажать на подраздел «Bucket Policy». Здесь вам будет предложено создать объект JSON, содержащий сведения о политике разрешений доступа к вашему сегменту.

Эта часть может сбивать с толку. А пока я просто дам вам JSON, который предоставит полный публичный доступ к файлам в вашей корзине. Это сделает сайт общедоступным.

Вставьте это в редактор политики корзины, показанный выше:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadForGetBucketObjects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
        }
    ]
}

Не забудьте заменить YOUR-BUCKET-NAME на ... название вашего ведра.

Готово!

Вот и все! Вы развернули очень простой статический сайт на AWS S3.

Чтобы получить доступ к своему сайту, вернитесь на вкладку «Обзор» в S3 и щелкните свой индексный документ (щелкните пустую область в элементе списка, а не ссылку на сам документ). Справа появится выдвижное меню со ссылкой на ваш сайт!

— — —

Спасибо за внимание! Если вы в настоящее время делаете карьеру на веб-разработку или разработку программного обеспечения, я напишу больше на эту тему здесь: