AWS Notes
5.59K subscribers
449 photos
42 videos
10 files
2.8K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://t.iss.one/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
Во время демо у заказчика Error 500. Нужен краткий ответ, что вы выберете?
Дешёвая (бесплатная) база данных на AWS для собственных проектов (обучения/попробовать)

#начинающим #интересующимся

Допустим, у вас есть какой-то проектик, например, на условной Django для собственных нужд — как хобби, для обучения и т.п. Он где-то хостится бесплатно или за несколько долларов в месяц.

Вы почитали, что здесь пишут про AWS и загорелись попробовать на него переехать или сразу поднять тут свой, чтобы познакомиться поближе и получить опыт. Расценки на хранение файлов (S3) совершенно комфортны, но вот проблема — у вас есть (реляционная) база данных. Вы смотрите прайс на RDS, а там самая простая начинается от 12 долларов в месяц и желание пробовать AWS резко пропадает.

Разберём варианты, что можно сделать с БД, чтобы она была дешёвой, а лучше бесплатной.

RDS

Обязательно прочтите про бесплатный AWS — открыв себе новый аккаунт, вы получите возможность целый год крутить базу на виртуалке db.t2.micro.

EC2

Можно поднять БД на дешёвой виртуалке, например, на t3a.nano это выйдет 3.4$/мес (плюс стоимость диска и некоторые другие расходы). Примитивный и самый очевидный способ. БД нужно будет поднимать и поддерживать самому, потому вряд ли рекомендуемый.

DynamoDB

Отличная и даже близкая к идеальной БД, по сути бесплатная (и постоянно/бессрочно/всегда) для собственных проектов, т.к. имеет суперовскую ценовую модель. Но есть одно но — не реляционная.

Очень выгодно, если ваш проект/фреймворк умеет с ней работать. Или если можете допилить его до работы с DynamoDB. На выходе получаете крутизну serverless подхода при минимальной цене (обычно совсем бесплатно).

Гляньте видео с последнего реинвента, возможно оно подскажет, как можно переделать свой проектик под DynamoDB:

https://www.youtube.com/watch?v=DIQVJqiSUkE

Aurora Serverless

Вдруг вы пропустили и не знаете, что есть реляционная база данных с ценовой моделью а-ля DynamoDB, где вы платите лишь за реально используемые ресурсы.

https://aws.amazon.com/rds/aurora/serverless/

Её использование подпадает под Free Tier, так что также можно попробовать годик бесплатно.

Задеплоить Django на Aurora Serverless можно так:

https://www.agiliq.com/blog/2019/01/complete-serverless-django/

Cassandra

Не реляционная, но с аналогичной DynamoDB ценовой моделью.

https://aws.amazon.com/ru/mcs/

S3

Речь про файловую БД. Если прикрутить прослойку в виде условной Лямбды, что будет хранить данные не в БД, а на S3, то можно вообще избавиться от БД. Однако, понятно, это обычно требует серьёзной переделки проекта.

Athena

Не БД, но можно делать SQL запросы к S3. Под Django есть djathena.


Итого. Есть разные недорогие варианты прикрутить БД в свой проект на AWS. Реляционные и нет, с переделкой и без. Выбирайте, что подходит сейчас и что будет круто в дальнейшем. Главное — пробуйте!
Удачное видео в дополнение к предыдущему посту:

https://www.youtube.com/watch?v=0G_mk42nVcE

(полный список видео тут)

Добавлю вариант для простых случаев, что можно складывать в DynamoDB или S3 дамп базы и подгружать его в память при старте вашего приложения.

А для любителей поизвращаться — можно устроить себе очень дешёвую и быструю базу данных на базе сервиса Route53, сохраняя нужное в TXT записях DNS вашего домена (возможен как публичный — отлично подойдёт для распределённых систем, так и приватный вариант).
Что на картинке?
Anonymous Quiz
23%
NAT GW
13%
API Gateway
24%
Transit Gateway
41%
HTTP Proxy
​​Настройка Managed Policy для SSM:

https://aws.amazon.com/blogs/mt/applying-managed-instance-policy-best-practices/

Правильный и полезный SSM агент и Sessions Manager появился с кошмарными Managed Policy, поторые были заменены год назад на AmazonSSMManagedInstanceCore.

В статье полезная табличка (на картинке) и последовательность обновления, если у вас уже были настроены старые жирные Managed политики. А также автоматизация этого процесса с помощью AWS Config remediation, если у вас много таких виртуалок.

#SSM #IAM
​​Как вызвать Лямбду по SMS? Не шутка, никаких прямых ссылок и регистраций. Простой и понятный пошаговый туторирал:

https://www.reddit.com/r/aws/comments/g44lju/how_to_trigger_aws_lambda_by_sms/

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

Например, в данном случае, по SMS через Лямбду запустить что-то или наоборот остановить. Вот с ходу придумалось следующее. Делаем Лямбду на стоп и старт какого-то своего рабочего инстанса. Пришли на работу — отправили SMS, виртуалка стартанула. Поработали, отправили SMS — стопнулась. Короче, идея для стартапа. Не благодарите — это всё Pinpoint.

#Pinpoint
​​AWS Control Tower заработал для существующих AWS Organizations. Чтобы начать его использовать нужно отключить в Organizations → Settings трастовые галочки для сервисов CloudTrail и Config (если они у вас включены — будет предупреждение, как сверху картинки).

После отключения получаете возможность запустить установку Landing Zones внутри вашей организации. Control Tower создаст два аккаунта — для логов и для аудита, потому нужно указать для них почты. Также будут созданы роли и некоторые другие вещи, которые нельзя изменять в дальнейшем, иначе работа будет нарушена.

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

#Control_Tower
​​Настоящие вебинары по AWS на русском от производителя:

https://pages.awscloud.com/EMEA-field-OE-RUSUACIS-AWSome-Webinars-Week-2020-reg-event.html

Невысокий уровень сложности, потому отлично подойдёт #начинающим и #интересующимся. Также идеально для тех, кто хочет сдать #AWS_Certification на Cloud Practitioner и просто получить ответ на свой вопрос от представителей AWS.
​​Как обычно отличный пример от Netflix про их опыт перехода с EC2 на Лямбду с 10-кратной экономией в стоимости:

https://medium.com/@NetflixTechBlog/netflix-images-enhanced-with-aws-lambda-9eda989249bf

Полезная выжимка в виде таблички сравнения EC2 и Лямбды в плане разработки и эксплуатации (на картинке).

#Lambda
​​AWS Summit Online17 июня:

https://pages.awscloud.com/emea-summit-online-registration.html

55 различных сессий по темам на любой вкус. Удалённо и бесплатно.

Уровень сложности в основном для знающих. Например, для направления Devops следующие сессии:

• Applications and operations modernization (Level 200)
• CI/CD at scale: Best practices with AWS DevOps services (Level 300)
• Delivering container-native applications without managing servers (Level 300)
• Deep dive: Infrastructure as code on AWS (Level 300)
• Kubernetes GitOps on AWS (Level 300)

#AWS #online
Кто обратил внимание, на картинке в предыдущем посте про AWS Summit есть Africa и время для Cape Town. Это было не просто так — в большое семье AWS регионов пополнение:

https://aws.amazon.com/blogs/aws/now-open-aws-africa-cape-town-region/

Добро пожаловать в af-south-1!

#AWS_Regions
Новый сервис Amazon AppFlow:

https://aws.amazon.com/blogs/aws/new-announcing-amazon-appflow/

AppFlow позволяет автоматизировать процесс загрузки-выгрузки данных для популярных приложений, например, Slack, откуда можно просто и быстро получить тексты переписки в своих каналах.

#AppFlow
​​Github лежит:
504 Gateway Time-out

Статус при этом показывает, что всё нормально. Учитывайте, если у вас сработали алерты.

Обновление — в статусе теперь:

Incident on 2020-04-23 13:20 UTC

Resolved - This incident has been resolved.
Apr 23, 16:01 UTC
Update - Continuing to closely monitor recovery across all services.
Apr 23, 15:26 UTC
Update - We are continuing to monitor recovery across GitHub.com.
Apr 23, 14:27 UTC
Update - We have deployed a fix and are continuing to closely monitor services as we observe recovery.
Apr 23, 13:59 UTC
Update - We have identified the source of errors and are working on a fix.
Apr 23, 13:33 UTC
Investigating - Currently observing issues affecting GitHub.com.
Apr 23, 13:20 UTC

===

Спонсор рубрики — AWS CodeCommit.

#githubisdown
Достаточно простая, но хорошая статейка о том, когда нужно что-то автоматизировать, а переписывать под Лямду не получается (дольше, сложней или просто лень), то нужно помнить про CodeBuild.

В отличие от Лямбды, CodeBuild может просто выполнять длительные процедуры, не в такой мере, однако также экономный, но главное — там можно привычно башить!

https://aws.amazon.com/blogs/devops/using-aws-codebuild-to-execute-administrative-tasks/

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

#CodeBuild
Вы же в курсе, что в новых версиях Chrome и Firefox решились закопать FTP? Нет?

А если в курсе, то знаете ли, что Google передумал закапывать и снова откопал FTP?

И вот, в это сложнокопательное время, AWS решил добавить FTP для возможности ходить на S3 с помощью сервиса AWS Transfer Family:

https://aws.amazon.com/blogs/aws/new-aws-transfer-for-ftp-and-ftps-in-addition-to-existing-sftp/

В общем, рано закапывать с̶т̶ю̶а̶р̶д̶е̶с̶с̶у̶ FTP. Готовимся к появлению на экзаменах нового коронного вопроса — чем отличается SFTP от FTPS?

#Transfer_Family