Эта статья является пошаговым руководством о том, как развернуть Strapi на вашей учетной записи AWS с использованием микротики.
Странс Является ли безголовый CMS с открытым исходным кодом с Nodejs. Использование Strapi вы можете легко разработать и публиковать свой контент, потребляемый вашими приложениями через API. Strapi предоставляет отличный портал пользовательского интерфейса администратора, где вы можете создавать свои модели данных, создавать и управлять контентом.
Преимущества использования Microtica для ваших проектов Strapi — это простота настройки и низкого обслуживания, в то время как инфраструктура на вашей собственной учетной записи AWS. Мы следуем гитам и декларативному инфраструктуру для стабильных, более надежных и предсказуемых развертываний.
С нашим подходом Strapi может сосуществовать с вашей существующей инфраструктурой AWS, и у вас всегда есть гибкость для продления этой настройки с дополнительными облачными ресурсами.
Владение инфраструктурой Инфраструктура Strapi будет предоставлена на вашей учетной записи AWS. Вы сохраняете полный контроль над своей инфраструктурой и данными, получив все преимущества автоматизации инфраструктуры.
Что будет подготовлено на AWS
Поскольку микротики развертывают на вашем облачном аккаунте, вы бы не ожидали, что все меньше, чем полная прозрачность того, какие ресурсы будут предоставлены.
Используя шаблон Strapi, мы создадим новую среду и автоматически создаю несколько компонентов в среде:
- VPC — VPC, подсети и сеть
- Утверждает — Контейнерная инфраструктура на основе балансировщика нагрузки Fargate и приложения. Этот компонент будет запустить проект Strapi
- Strapiinfra — постоянное хранение, реляционная база данных и хранение S3
- Странпиапп (Необязательно) — компонент для вашего существующего проекта Strapi. Если не предусмотрено, создается отдельная среда разработки Standalone Strapi
Ниже приведена диаграмма высокого уровня ресурсов, которые будут предоставлены.
Постоянного хранения
Шаблон Strapi использует файловую систему Amazon EFS для хранения постоянных файлов Strapi:
- Загрузка изображений — Media Files Storage
- Папка API — только для настройки автономной настройки, где у вас нет исходного кода, подключенного через Git (по умолчанию). В этом руководстве мы объясним, как вы можете развернуть существующий проект Strapi
- Папка данных — хранить файл данных SQLite, если клиент базы данных SQLite (по умолчанию)
Данные, хранящиеся в этих папках, будут сохраняться при последующих развертывании, приложения перезапускаются или даже если вы полностью убьете контейнер.
Реляционная база данных
Рекомендации шаблонов RDS MySQL база данных только в том случае, если клиент базы данных является MySQL.
База данных зашифрована с использованием пользовательского ключа KMS. Пароль базы данных автоматически генерируется и безопасно хранится в секрете секретного менеджера AWS.
Контейнерная среда
По умолчанию шаблон положения AWS Fargate Cluster с одним контейнером. Для производственных сред мы рекомендуем как минимум два контейнера, работающие все время. Это также обеспечит развертывание нулевого простоя.
Fargate Services обнажены через балансировщик нагрузки на приложение. При использовании пользовательского домена, который рекомендуется для производства, сертификат домена будет прикреплен, а завершение SSL произойдет на этом балансировке нагрузки.
Поскольку мы используем постоянное хранилище файлов, все контейнеры имеют одну и ту же файловую систему.
Странс журналы
Журналы приложений Strapi хранятся в журналах CloudWatch. Вы можете отслеживать журналы из Fargate Console под заданиями. Задержка журнала по умолчанию составляет 90 дней.
Развернуть инфраструктуру Strapi
Microtica предоставляет встроенный шаблон окружающей среды, который обеспечивает необходимую инфраструктуру для запуска STRAPI на вашей учетной записи AWS в масштабируемом, безопасном и надежном способе с развертыванием простоя нуля.
Для развертывания инфраструктуры вам нужно создать среду. Выберите среды под строитель инфраструктуры из главного меню и нажмите на Создать среду Отказ
Введите имя окружающей среды и описание и выберите шаблон Strapi из списка.
Оптимизация затрат Вы можете дополнительно включить оптимизацию затрат для неработающих сред. Это остановит экземпляры RDS, если вы используете MySQL в качестве клиента базы данных.
После того, как развертывание среды завершится, нажмите на кнопку быстрого развертывания. Поскольку среда новая, вам необходимо настроить учетную запись Target AWS, где будет предоставлена ваша инфраструктура Strapi. Вот быстрый гид Как подключить учетную запись AWS Отказ
Как только ваша учетная запись AWS подключена и настроена в среду, снова нажмите на быстрое развертывание, чтобы вызвать развертывание.
Это занимает до 10 минут создать живую среду Strapi.
После того, как развертывание среды завершится, вы можете найти URL-адрес доступа в деталях окружающей среды, расширяя компонент Applunner.
Настроить пользовательский домен и SSL
По умолчанию STRAPI будет доступен на автоматическом домене через протокол HTTP.
Чтобы настроить пользовательский домен, который вам нужно сделать следующее:
- Настроить пользовательский домен
- Настройте сертификат SSL
- Добавьте записи DNS в своем провайдере доменов
Настроить пользовательский домен
Чтобы настроить пользовательский домен, просто введите пользовательский домен в параметре Domainname компонента Approunnner.
Настройте сертификат SSL
Чтобы создать сертификат SSL, следуйте за Как создать руководство сертификата SSL Отказ
После того, как у вас есть выпущенный сертификат SSL через AWS Service Manager, вам просто нужно скопировать сертификат ARN и просматривать его в параметре «Соответствует параметру компонента».
Добавьте записи DNS в своем провайдере доменов
Находясь в деталях окружающей среды, разверните компонент Applunnner и скопируйте значение параметра CNAME и добавьте его в виде записи CNAME в вашем поставщике DNS.
Масштабирование
Вы можете масштабировать свой проект Strapi вертикально и горизонтально.
Для вертикального масштабирования обновите CPU и конфигурацию памяти в компоненте StrapiInFra. Для горизонтального масштабирования обновите количество желаемых реплик в том же компоненте StrapiInFra.
Предполагаемая стоимость AWS
Ориентировочная стоимость Облака AWS зависит от конфигурации инфраструктуры Strapi. Ниже приведена разбивка оценки затрат на основе различных конфигураций, предполагающих, что ресурсы работают все время:
- SQLite с одним приложенным контейнером (0,25 VCPU и 0,5 ГБ памяти) Стоимость составляет около 30 долларов в месяц
- MySQL с одним контейнером приложений (0.25 VCPU и 0,5 ГБ памяти) Стоимость будет около 45 долларов в месяц каждый дополнительный контейнер с конфигурацией по умолчанию составляет $ 14 в месяц
- Дополнительные затраты относятся к использованию EFS AWS для хранения медиафайлов (~ 0,09 ГБ/месяц).
Вы можете Уменьшить стоимость вашего непроизводственного Средние среды с нашими облачными отходами менеджер.
Оригинал: «https://dev.to/microtica/deploy-strapi-on-aws-with-microtica-in-10-minutes-5e7f»