AWS Amplify для начинающих
Fullstack-хостинг от Amazon: фронтенд, бэкенд, база данных в одном месте
Что такое AWS Amplify и когда он нужен?
AWS Amplify — это не просто хостинг. Это полная платформа для разработки современных веб и мобильных приложений от Amazon Web Services. Если другие сервисы предоставляют только хостинг кода, то Amplify даёт вам весь стек: фронтенд, бэкенд, базу данных, аутентификацию, хранение файлов.
Основные компоненты Amplify:
- Amplify Hosting — хостинг с автоматическим CI/CD и глобальным CDN
- Amplify Studio — визуальный конструктор интерфейсов
- Amplify CLI — инструмент для создания бэкенд-ресурсов
- Amplify Libraries — SDK для интеграции с фронтенд-фреймворками
- Amplify Console — веб-интерфейс для управления приложениями
Lambda
Бессерверные функции
DynamoDB
NoSQL база данных
Cognito
Аутентификация
S3 + CloudFront
Хостинг + CDN
Регистрация и создание первого приложения
Шаг 1: Создание AWS аккаунта
- Перейдите на aws.amazon.com
- Нажмите "Create an AWS Account"
- Внимание: Потребуется банковская карта для верификации
- Заполните все данные и подтвердите email
- Выберите тариф "Basic (Free)" — это даёт бесплатный доступ к многим сервисам на 12 месяцев
Важно о бесплатном тарифе AWS
Free Tier AWS даёт:
- 12 месяцев бесплатно: Для новых аккаунтов
- Ограничения: 1000 минут Amplify в месяц, 5GB трафика, 15GB хранения
- Всегда бесплатно: Некоторые сервисы (Lambda: 1 млн запросов в месяц)
- Карта нужна: Для верификации, но плата не списывается если не выходить за лимиты
Шаг 2: Подключение репозитория
Amplify работает с любыми Git-репозиториями:
GitHub
Наиболее популярный выбор
GitLab
Поддержка CI/CD
Bitbucket
Для команд Atlassian
Процесс подключения:
- В консоли AWS найдите сервис "Amplify"
- Нажмите "Get Started" → "Amplify Hosting"
- Выберите ваш Git-провайдер и авторизуйтесь
- Выберите репозиторий и ветку (обычно
main) - Настройте сборку (Amplify часто определяет настройки автоматически)
- Нажмите "Save and deploy"
Создание Fullstack приложения
С Amplify вы можете создать приложение с бэкендом за несколько команд. Установите 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:
// 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
Превращение сайта в мобильное приложение
Стоимость и сравнение с другими сервисами
Таблица стоимости 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: Более гибкая цена (плата за использование), сложнее в освоении
Практическое задание: Статический сайт на Amplify
Разверните React-приложение на AWS Amplify:
npx create-react-app my-amplify-app
Бонус: Добавьте аутентификацию с помощью amplify add auth
Кому подходит AWS Amplify?
Выберите AWS Amplify, если:
- Создаёте fullstack приложение (фронтенд + бэкенд)
- Хотите использовать serverless-архитектуру
- Планируете масштабироваться до тысяч пользователей
- Нужна глубокая интеграция с другими сервисами AWS
- Готовы разбираться в AWS экосистеме
- Хотите оптимизировать стоимость (плата за использование)
Может не подойти, если:
- Нужен только простой статический сайт (лучше GitHub Pages)
- Не хотите разбираться с AWS (лучше Vercel/Netlify)
- Боитесь сложных счетов (AWS может быть непредсказуем)
- Нет банковской карты для регистрации
- Хотите максимально простой интерфейс
Для углубленного изучения
Пройдите официальный гайд по началу работы и изучите документацию Amplify. Также полезен Amplify Community.