AWS Amplify для начинающих

Fullstack-хостинг от Amazon: фронтенд, бэкенд, база данных в одном месте

Время изучения: 30 мин Уровень: Продвинутый Обновлено: Окт 2023

1
Что такое AWS Amplify и когда он нужен?

AWS Amplify — это не просто хостинг. Это полная платформа для разработки современных веб и мобильных приложений от Amazon Web Services. Если другие сервисы предоставляют только хостинг кода, то Amplify даёт вам весь стек: фронтенд, бэкенд, базу данных, аутентификацию, хранение файлов.

Основные компоненты Amplify:

  • Amplify Hosting — хостинг с автоматическим CI/CD и глобальным CDN
  • Amplify Studio — визуальный конструктор интерфейсов
  • Amplify CLI — инструмент для создания бэкенд-ресурсов
  • Amplify Libraries — SDK для интеграции с фронтенд-фреймворками
  • Amplify Console — веб-интерфейс для управления приложениями
Что такое "бессерверный" (serverless) бэкенд?

Amplify использует serverless-архитектуру AWS:

  • Нет серверов: Не нужно арендовать и настраивать VPS
  • Плата за использование: Вы платите только за реальные запросы
  • Автомасштабирование: Приложение автоматически масштабируется под нагрузку
  • Нулевое администрирование: AWS обновляет и обслуживает инфраструктуру

Пример serverless-компонентов в Amplify:

  • AWS Lambda — функции, которые выполняются по запросу
  • Amazon DynamoDB — NoSQL база данных
  • Amazon Cognito — аутентификация пользователей
  • Amazon S3 — хранение файлов

Это позволяет создавать мощные приложения без знаний DevOps.

Lambda

Бессерверные функции

DynamoDB

NoSQL база данных

Cognito

Аутентификация

S3 + CloudFront

Хостинг + CDN

2
Регистрация и создание первого приложения

Шаг 1: Создание AWS аккаунта

  1. Перейдите на aws.amazon.com
  2. Нажмите "Create an AWS Account"
  3. Внимание: Потребуется банковская карта для верификации
  4. Заполните все данные и подтвердите email
  5. Выберите тариф "Basic (Free)" — это даёт бесплатный доступ к многим сервисам на 12 месяцев

Важно о бесплатном тарифе AWS

Free Tier AWS даёт:

  • 12 месяцев бесплатно: Для новых аккаунтов
  • Ограничения: 1000 минут Amplify в месяц, 5GB трафика, 15GB хранения
  • Всегда бесплатно: Некоторые сервисы (Lambda: 1 млн запросов в месяц)
  • Карта нужна: Для верификации, но плата не списывается если не выходить за лимиты

Шаг 2: Подключение репозитория

Amplify работает с любыми Git-репозиториями:

GitHub

Наиболее популярный выбор

GitLab

Поддержка CI/CD

Bitbucket

Для команд Atlassian

Процесс подключения:

  1. В консоли AWS найдите сервис "Amplify"
  2. Нажмите "Get Started" → "Amplify Hosting"
  3. Выберите ваш Git-провайдер и авторизуйтесь
  4. Выберите репозиторий и ветку (обычно main)
  5. Настройте сборку (Amplify часто определяет настройки автоматически)
  6. Нажмите "Save and deploy"

3
Создание Fullstack приложения

С Amplify вы можете создать приложение с бэкендом за несколько команд. Установите Amplify CLI:

Установка Amplify CLI
# Установка через npm npm install -g @aws-amplify/cli # Настройка Amplify (создание IAM пользователя) amplify configure # Инициализация проекта в вашей папке amplify init # Добавление аутентификации amplify add auth # Добавление базы данных amplify add storage # Развёртывание в облако amplify push

После этого в вашем проекте появится папка amplify с конфигурацией. Amplify автоматически создаст в AWS:

  • Сервис аутентификации (Cognito)
  • Базу данных (DynamoDB)
  • API Gateway для REST API
  • Lambda функции для бизнес-логики

Пример React приложения с Amplify:

React + Amplify - основной файл
// index.js или App.js import React from 'react'; import Amplify from 'aws-amplify'; import { AmplifyAuthenticator } from '@aws-amplify/ui-react'; import awsconfig from './aws-exports'; Amplify.configure(awsconfig); function App() { return ( <AmplifyAuthenticator> <div> <h1>Моё Amplify приложение</h1> <button onClick={() => Auth.signOut()}> Выйти </button> </div> </AmplifyAuthenticator> ); } export default App;

Что вы получаете "из коробки" с Amplify

🌍 Глобальный CDN

CloudFront распределяет контент по всему миру

🔒 Автоматический SSL

HTTPS для всех доменов бесплатно

🚀 CI/CD

Автоматический деплой при пуше в Git

📱 PWA Support

Превращение сайта в мобильное приложение

4
Стоимость и сравнение с другими сервисами

Таблица стоимости AWS Amplify

Цены указаны по состоянию на 2023 год (актуальные цены на aws.amazon.com/amplify/pricing)

Ресурс Бесплатный лимит Цена после лимита
Хостинг 1000 минут/месяц $0.01 за минуту
Трафик 5 GB/месяц $0.15 за GB
Хранение 15 GB/месяц $0.023 за GB/месяц
Build минут 1000 минут/месяц $0.01 за минуту
Lambda запросы 1 млн/месяц $0.20 за 1 млн запросов
DynamoDB 25 GB/месяц $0.25 за GB/месяц

Сравнение с другими хостингами

Amplify vs GitHub Pages:

  • GitHub Pages: Только статика, бесплатно, нет бэкенда
  • Amplify: Fullstack, есть бэкенд, платный после лимитов

Amplify vs Vercel/Netlify:

  • Vercel/Netlify: Отличные для фронтенда, простые в использовании
  • Amplify: Глубокая интеграция с AWS, настоящий fullstack

Amplify vs Heroku:

  • Heroku: Проще для начинающих, но дороже
  • Amplify: Более гибкая цена (плата за использование), сложнее в освоении
Как рассчитать стоимость приложения?

Пример для блога на React:

  • Трафик: 1000 посетителей в день × 1MB на страницу = 1GB/день = 30GB/месяц
  • Стоимость трафика: (30GB - 5GB бесплатно) × $0.15 = $3.75
  • Хранение: 1GB статики + 0.5GB базы данных = бесплатно (в лимите 15GB)
  • Build минуты: 10 сборок в месяц × 2 минуты = 20 минут (бесплатно)
  • Итого: ~$3.75/месяц

Пример для SaaS приложения:

  • Трафик: 10000 пользователей × 2MB/день = 20GB/день = 600GB/месяц
  • Стоимость трафика: (600GB - 5GB) × $0.15 = $89.25
  • Lambda: 10 млн запросов = $2.00
  • DynamoDB: 50GB = $12.50
  • Итого: ~$103.75/месяц

Для сравнения: аналогичное приложение на Heroku стоило бы $250-500/месяц.

Практическое задание: Статический сайт на Amplify

Разверните React-приложение на AWS Amplify:

Создайте AWS аккаунт (используйте Free Tier)
Создайте React приложение: npx create-react-app my-amplify-app
Запушите код в GitHub/GitLab/Bitbucket репозиторий
В консоли AWS подключите репозиторий к Amplify
Настройте автоматический деплой из ветки main
Проверьте сайт по адресу *.amplifyapp.com

Бонус: Добавьте аутентификацию с помощью amplify add auth

5
Кому подходит AWS Amplify?

Выберите AWS Amplify, если:

  • Создаёте fullstack приложение (фронтенд + бэкенд)
  • Хотите использовать serverless-архитектуру
  • Планируете масштабироваться до тысяч пользователей
  • Нужна глубокая интеграция с другими сервисами AWS
  • Готовы разбираться в AWS экосистеме
  • Хотите оптимизировать стоимость (плата за использование)

Может не подойти, если:

  • Нужен только простой статический сайт (лучше GitHub Pages)
  • Не хотите разбираться с AWS (лучше Vercel/Netlify)
  • Боитесь сложных счетов (AWS может быть непредсказуем)
  • Нет банковской карты для регистрации
  • Хотите максимально простой интерфейс

Для углубленного изучения

Пройдите официальный гайд по началу работы и изучите документацию Amplify. Также полезен Amplify Community.

Предыдущий урок
SourceHut для начинающих
Следующий урок
Сравнительный анализ платформ