Мой путь к выполнению резюме в облаке AWS (часть первая)

Мой путь к выполнению резюме в облаке AWS (часть первая)

5 марта 2023 г.

Я рыскал по Интернету в поисках подсказок о том, как составить свое облачное резюме и выделить его, поскольку я давно мечтал заняться облачной инженерией.

Затем я наткнулся на Cloud Resume Challenge. Копнув немного глубже, я обнаружил, что задача резюме познакомит меня с множеством сценариев реальных проблем, с которыми я могу столкнуться, работая в облаке. И прохождение через это придало бы мне уверенности в том, что я смогу справиться с этими проблемами, если/когда они придут.

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

В первой части этой серии я настрою веб-сайт HTML и CSS для своего резюме, разверну его в корзине AWS s3, разверну на AWS Cloudfront, свяжу Cloudfront с персональным доменом с помощью AWS Route53 и, наконец, обеспечим это доменное имя защищено.

Не будучи слишком склонным к творчеству, я решил порыться в Интернете, чтобы получить шаблоны HTML, которые я могу редактировать и персонализировать. У меня есть разумное понимание того, как работают HTML и CSS. Я нашел красиво оформленное портфолио React, созданное Sachin Mittal. Я смог отредактировать файлы в соответствии с тем, что я хочу. Репозиторий отредактированного файла на Github можно найти здесь.

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

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

# First install react dependencies for the react app
npm install

# Build the react resume project
npm run build

Я переместил свои файлы на s3 с помощью AWS CLI, вы можете ознакомиться с этой статьей< /a>, чтобы настроить его.

Это команда, которую я использовал для перемещения папки.

Сделав это, я настроил необходимые политики для управления своими объектами в корзине s3.

С моим набором корзин s3 я использовал созданную конечную точку своего веб-сайта корзины s3 в качестве источника своего Cloudfront. Я создал общедоступный сертификат с помощью диспетчера сертификатов AWS и добавил его как CNAME в свои созданные зоны размещения Route53. Для своего доменного имени я создал его с помощью freehostia.

Вы можете ознакомиться с созданным резюме по этой ссылке.

Я столкнулся с парой проблем, которые мне нужно было найти, как решить. Первой проблемой, с которой я столкнулся, была эта ошибка при создании политики s3.

Action does not apply to any resources in statement

Это была политика, которую я использовал;

{
    "Version": "2012-10-17",
    "Id": "Policy1677839372704",
    "Statement": [
        {
            "Sid": "Stmt1674835361089",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::achebe-cloud-resume/"
        }
    ]
}

Ошибка была в этой строке;

"Resource": "arn:aws:s3:::achebe-cloud-resume/"

Правильная форма была;

"Resource": "arn:aws:s3:::achebe-cloud-resume/*"

Знак «*» обозначает все объекты в корзине.

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

В следующей статье я буду создавать работающий бессерверный API AWS, который обновляет количество посетителей в базе данных.



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE