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

Сдача экзамена не должна быть самоцелью. Это не значит, что я отговариваю его принимать. Самым большим преимуществом большинства экзаменов является то, что мы действительно можем структурировать наши знания по предмету и заполнить лазейки при подготовке к нему. У меня действительно было много «ага» моментов и веселья при этом. Поэтому с чистой совестью я настоятельно рекомендую сдать экзамен AWS Solution Architect Associate, если вы хотите расширить свои знания по предмету.

Эта статья представляет собой субъективное руководство о том, как подготовиться к сдаче экзамена, в то время как вначале мало что известно об AWS. Если вы не планируете сдавать экзамен, это все равно может быть хорошим пошаговым руководством по основам AWS. Я постараюсь сделать рассказ как можно короче, но, поскольку есть широкий спектр услуг и концепций, которые нужно охватить, он может стать значительным для чтения. Я старался выделить предметы, которые наиболее часто возникали во время экзамена и могли принести больше всего баллов.

Познакомьтесь с ключевой услугой

Основы

Существует два основных способа использования AWS: интерфейс командной строки (CLI) и консоль. Консоль - это визуальный интерфейс, который позволяет нам управлять сервисом AWS с помощью веб-браузера на aws.com, а интерфейс командной строки дает нам программный доступ из оболочки.

AWS разделен на несколько автономных регионов. Каждый регион состоит из одного или нескольких центров обработки данных и двух или более зон доступности. Зона доступности (AZ) - это отдельная единица в пределах региона. Он разработан как независимый и не использует совместно используемую инфраструктуру. Если АЗ откажет, другие в его Регионе будут по-прежнему доступны. На данный момент существует 22 региона с 69 AZ. Эти цифры наверняка будут расти в будущем. Не в каждом регионе доступны одинаковые услуги и одинаковые цены. Вы можете проверить их на сайте AWS или в калькуляторе затрат.

Если мы хотим иметь приложение с высокой доступностью, оно должно использовать несколько зон доступности или регионов. Если мы используем Консоль AWS, текущий регион отображается в правом верхнем углу меню.

Мы хотим, чтобы наше приложение было как можно ближе к конечным пользователям, чтобы минимизировать задержку. Регионы AWS охватывают несколько континентов, но в некоторых случаях этого может быть недостаточно. Edge Location - это место за пределами регионов, которое может предоставлять контент пользователям с минимального расстояния. Служба, которая активно использует периферийные местоположения, - это Cloud Front. Это сеть доставки контента (CDN), которая может значительно повысить производительность. Существует более 200 пограничных локаций, и в ближайшем будущем их будет намного больше. Мы можем проверить, насколько улучшится производительность S3 в нашем случае, используя Edge Locations с этим приложением.

Теперь мы действительно очень кратко обсудим некоторые ключевые сервисы AWS, которые будут наиболее полезны для экзамена. Мы не будем вдаваться в подробности и исследовать их в этой статье, но мы настоятельно рекомендуем это сделать. Повеселиться и поиграть - лучший способ узнать об услугах.

Вычисление

Было время, когда создание нового сервера занимало дни или даже недели. Нам требовалось установить и подключить новый физический сервер в некоторых центрах обработки данных. По мере того, как виртуализация становится популярной, и мы можем легко разделять серверы между несколькими клиентами, это больше не актуально. Elastic Cloud Computing (EC2) - один из самых популярных сервисов AWS. Это позволяет нам раскрутить новый виртуальный сервер буквально за секунды. Мы не обязаны вносить какие-либо авансовые платежи, поскольку можно оплачивать только отработанные часы и использовать EC2 в модели ценообразования по требованию. Это очень удобный и полезный, но при этом самый затратный вариант. Мы можем установить определенный уровень использования в течение одного или трех лет и получить выгоду от более низких цен при использовании Зарезервированных инстансов. Если нам нужен отдельный аппаратный экземпляр старого образца, мы можем использовать вариант ценообразования Выделенный хост. Бывают случаи, когда это лучший вариант, особенно для лицензионных или юридических требований. Мы также можем извлечь выгоду из неиспользуемых ресурсов AWS и использовать спотовые инстансы. В этом случае у нас могут быть гораздо более низкие цены, но наш экземпляр может быть остановлен в любое время, когда кто-то начнет использовать этот ресурс. Это своего рода аукцион, на котором участники, предложившие самую высокую цену, используют доступные ресурсы. Это может быть рентабельный вариант для отказоустойчивых приложений или процессов разработки и тестирования.

При запуске нового экземпляра EC2 мы можем выбрать, какой образ операционной системы мы хотим использовать. Они называются образами машин Amazon (AMI). Мы можем выбрать из широкого спектра представленных или создать свои собственные. Мы также можем выбрать один из множества вариантов оборудования.

Есть возможность контролировать местонахождение экземпляра. В процессе создания мы можем выбрать зону доступности или использовать группу размещения. Есть три типа групп размещения:

  • распространение - чем дальше, тем лучше (в разных АЗ)
  • сгруппированы - чем ближе, тем лучше
  • секционированные - тесными группами, находящимися далеко друг от друга (в разных зонах доступности)

Наши экземпляры принадлежат группам безопасности. Это виртуальные наборы правил брандмауэра, которые могут открывать определенный трафик в экземпляр и выходить из него. Экземпляр может использовать более одной группы безопасности. Изменения, внесенные в группы безопасности, вступают в силу немедленно и имеют состояние (если мы открываем входящий трафик, исходящий открывается автоматически). Понимание групп безопасности является обязательным условием для сдачи экзамена.

Если нам нужно получить информацию об экземпляре из нашего EC2, мы всегда можем позвонить по телефону 169.254.169.254.

ubuntu@ip-XXX-XX-XX-XX:~$ curl 169.254.169.254/latest/meta-data
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
events/
hostname
identity-credentials/
instance-action
instance-id
instance-type
local-hostname
local-ipv4
mac
metrics/
network/
placement/
profile
public-hostname
public-ipv4
public-keys/
reservation-id
security-groups

У наших экземпляров должно быть какое-то хранилище, чтобы можно было запускать операционную систему. Эластичное блочное хранилище (EBS) можно подключить к EC2 и настроить в зависимости от потребностей. Мы можем выбрать размер (от 4 ГБ до 16 ТБ) и тип (различные типы SSD или HHD) каждой EBS в соответствии с нашими потребностями. В любой момент мы можем создать снимок EBS. Моментальные снимки являются инкрементными, поэтому будут добавляться только новые данные. Снимки EBS также можно использовать в качестве источника для нового пользовательского AMI. Каждая используемая EBS находится в той же зоне доступности, что и ее EC2. Если мы хотим переместить наш EC2 в другую зону доступности, мы можем создать снимок AMI из этого снимка и запустить новый экземпляр в выбранной зоне доступности.

Наши экземпляры EC2 также могут использовать эластичную файловую систему (EFS), которая без привязки EBS может использоваться одновременно несколькими экземплярами. Это масштабируемое решение для хранения, которое монтируется с помощью NFSv4 и масштабируется автоматически. Нам не нужно заранее выбирать размер и платить только за использованное пространство. EFS имеет два типа классов хранения: стандартный и нечастый доступ. В зависимости от частоты использования файлов мы можем перемещать их между этими двумя и оптимизировать затраты. EFS может использоваться экземплярами в нескольких зонах доступности в регионе.

Производительность наших экземпляров автоматически отслеживается Cloud Watch. Мы можем видеть, сколько ресурсов используется (например, использование ЦП, дисковый ввод-вывод или сетевой трафик), и создавать аварийные сигналы, которые сообщают нам о достижении выбранных показателей. По умолчанию Cloud Watch использует пятиминутные интервалы, но их можно сократить до минуты, если включен подробный мониторинг.

Автоматическое масштабирование EC2

Многие приложения получают разный объем трафика в зависимости от времени и условий. Если мы хотим иметь высокодоступное приложение, оно должно иметь возможность автоматически масштабироваться и охватывать несколько зон доступности. Для этого наши экземпляры EC2 можно поместить в группы автомасштабирования с помощью эластичных балансировщиков нагрузки.

Доступны три типа балансировщика нагрузки:

  • Application Load Balancer (балансировщик нагрузки уровень 7)
  • Network Load Balancer (высокая производительность и стоимость, уровень 4)
  • Classic Load Balancer (самый дешевый балансировщик нагрузки уровня 4)

Мы можем создать новую группу автомасштабирования с использованием шаблона обеда или конфигурации обеда. Мы можем определить тип и конфигурацию каждого нового экземпляра в обоих. Шаблоны обеда предоставляют нам дополнительные возможности (например, управление версиями) и рекомендуются AWS для создания групп автомасштабирования. Каждая группа автомасштабирования может иметь несколько правил для увеличения и уменьшения масштаба. Мы используем сигнализацию Cloud Watch и добавляем или удаляем экземпляры из группы по выбранному сценарию (например, при достижении высокой средней загрузки ЦП).

Мы не будем обсуждать сервисы AWS для контейнеров, так как они очень редко встречаются на экзамене. Тем не менее, существует множество решений, которые делают использование контейнера в облаке простым и масштабируемым, например:

Я

После создания учетной записи на AWS мы используем «учетную запись root» со всеми возможными привилегиями. Не рекомендуется использовать его для разработки или делиться с кем-либо. Мы можем создать нового пользователя, которому будут предоставлены разрешения только с использованием Управления доступом к удостоверениям (IAM). IAM - это глобальный сервис, не зависящий от регионов.

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

Роли можно прикрепить к нашим ресурсам. Если мы хотим, чтобы наш экземпляр EC2 использовал другие сервисы AWS, мы можем назначить ему роль IAM. Следовательно, нам не нужно будет настраивать интерфейс командной строки AWS и хранить учетные данные на экземпляре. При использовании IAM все запросы от экземпляра будут автоматически приняты, и никакие конфиденциальные данные не будут храниться непосредственно на EC2.

Если мы создадим новый ресурс AWS, его можно будет идентифицировать по уникальному идентификатору. Он называется - Номер ресурса Amazon (ARN). Мы можем назначать разрешения только для ресурса с заданным ARN.

Место хранения

Amazon Simple Storage Service (S3) определенно является одним из самых популярных сервисов хранения в Интернете. Это очень продуманное и дешевое решение с множеством опций. Мы храним наш файл в виде объектов, которые распознаются по заданному ключу. В зависимости от наших потребностей файлы могут храниться в разных триерах. Доступно шесть триеров, различающихся по стоимости, надежности и времени ожидания. Мы можем использовать правила жизненного цикла сегментов, чтобы перемещать наши файлы между уровнями хранения или удалять их по истечении заданного периода.

S3 Bucket - это виртуальный каталог, в который мы помещаем файлы. Его имя должно быть уникальным во всем AWS. У нас на счету может быть сотня ведер. Если нам нужно больше, мы можем обратиться в AWS и увеличить лимит. Размер файла в ведре может составлять от нуля до пяти терабайт. По умолчанию ни один файл не является общедоступным, и мы должны изменить его вручную, если захотим.

Файлы в сегменте могут иметь версии. Мы сможем увидеть все изменения, которые были внесены в файл, и он не будет удален, будет добавлен только маркер удаления, и мы все равно сможем его восстановить.

S3 очень доступен по дизайну. Нам не нужно беспокоиться о потере каких-либо файлов, поскольку они реплицируются как минимум в три зоны доступности (кроме One-Zone IA). Мы обеспечили согласованность чтения после записи для новых файлов, но согласованность в конечном итоге в случае удалений и обновлений. Изменения необходимо воспроизвести, чтобы в течение очень короткого периода времени мы могли получить предыдущие версии.

Наши файлы могут быть реплицированы в другой регион, если мы действительно беспокоимся о долговечности. Управление версиями должно быть включено в обоих сегментах, и репликация будет влиять только на новые файлы (ранее сохраненные файлы не будут скопированы автоматически).

Файлы, хранящиеся на S3, могут быть зашифрованы как при передаче, так и при хранении. Файлы из корзин S3 обслуживаются по протоколу HTTPS, поэтому всегда обеспечивается шифрование при передаче. Шифрование на стороне сервера может быть достигнуто с помощью ключей, управляемых S3 (SSE-S3), службы управления ключами (SSE-KMS) или ключей, предоставляемых заказчиком (SSE-C).

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

Storage Gateway позволяет использовать решения для хранения данных AWS в локальных экземплярах. Мы можем использовать три типа Storage Gateway:

  • Файловый шлюз (NFS и SMB) - файлы хранятся в S3
  • Volume Gateway (iSCASI) - резервные копии, хранящиеся в снимках состояния EBS
  • Ленточный шлюз (виртуальная библиотека типов) - виртуальные ленты хранятся в S3

Перемещение большого количества файлов через Интернет может быть сложной задачей. Сеть имеет свои ограничения, поэтому AWS предлагает возможность передавать огромные объемы данных разными способами. Мы можем заказать устройство под названием Snowball и загрузить файлы вручную. Когда устройство вернется в AWS, все данные будут перенесены в корзину S3. Snowball также можно использовать для импорта данных из существующей корзины, а не только для их экспорта в облако. Данные о снежном коме зашифровываются, и устройство полностью стирается после каждого использования.

Сети

Виртуальное частное облако (VPC) - один из ключевых сервисов, которые мы должны знать для бесперебойной работы с AWS. Это виртуальное облако, которое мы можем создавать и управлять им самостоятельно. Его можно, но не обязательно, подключать к Интернету с помощью Интернет-шлюза. Каждый VPC может состоять из нескольких частных или общедоступных подсетей с указанными диапазонами IP-адресов. AWS всегда резервирует пять IP-адресов, поэтому наш пул IP-адресов немного ограничен. Подсеть может располагаться только в одной зоне доступности.

Список управления доступом к сети (ACL) - это набор правил, которые применяются к трафику, входящему и исходящему из подсети в наших VPC. В отличие от правил групп безопасности списки ACL не имеют состояния, поэтому нам нужно отдельно настраивать входящий и исходящий трафик. Подсеть может быть связана только с одним ACL. ACL оцениваются в числовом порядке (каждое правило имеет номер), и если одно из правил соблюдается, трафик разрешается без проверки остальных. ACL могут как разрешать, так и запрещать трафик для данного порта и IP-адресов.

VPC можно подключить к другому с помощью пиринга VPC. Существует ограничение на пиринг VPC, и один VPC может взаимодействовать только с четырьмя другими VPC. Одноранговые VPC могут подключаться друг к другу, как если бы они находились в одной сети. Если мы хотим, чтобы наши ресурсы из частного VPC использовали другие сервисы AWS, мы также можем использовать Конечную точку VPC. В этом случае трафик не будет покидать сеть AWS, и наши сервисы смогут безопасно общаться друг с другом.

Если мы находимся в частной подсети, нам все равно необходимо иметь возможность общаться с внешним миром и устанавливать новое программное обеспечение, не открывая экземпляр в Интернете. Мы можем добиться этого с помощью Nat Instance или Nat Gateway. Разница между ними в том, что Nat Instance - это экземпляр, который направляет трафик в нашу частную подсеть и из нее, а Nat Gateway - это высокодоступный сервис, управляемый AWS.

Базы данных

AWS предоставляет множество вариантов для решений с управляемыми базами данных. Мы всегда можем создать сервер базы данных на нашем собственном экземпляре EC2 или позволить AWS снять это бремя с наших плеч.

Служба реляционной базы данных (RDS) предоставляет нам множество готовых к использованию баз данных управляемых отношений. Мы можем выбрать шесть решений для баз данных:

  • Aurora (проприетарное решение базы данных AWS, совместимое с MySQL и PostgreSQL)
  • MySQL
  • MariaDB
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server

RDS не является бессерверным решением (в бессерверной версии можно использовать только Aurora). Мы выбираем типы базового экземпляра, но не имеем прямого доступа к нему.

Для повышения производительности мы можем создавать реплики для чтения нашего RDS. Они могут быть расположены в том же или другом регионе, чем основная база данных. У нас может быть до пяти реплик чтения на каждую базу данных. Мы также можем использовать развертывание в нескольких зонах доступности для автоматического переключения при отказе в случае проблем с зоной доступности, в которой находится наш экземпляр.

Для баз данных можно автоматически создавать резервные копии в течение выбранного периода хранения. Поскольку резервное копирование может вызвать некоторые проблемы с производительностью, мы можем выбрать время, когда это должно быть сделано. Обслуживание экземпляра также будет выполняться AWS в заданное временное окно. В любое время мы также можем вручную создавать снимки базы данных.

Все типы баз данных RDS могут быть зашифрованы в состоянии покоя с помощью системы управления ключами (KSM). Если наша база данных зашифрована, будут считываться реплики, резервные копии и снимки.

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

AWS предоставляет решение для кэширования корпоративного уровня под названием ElastiCache. Мы можем использовать Redis или Memcached. В случае использования Redis мы также можем извлечь выгоду из автоматической отработки отказа в нескольких зонах доступности и возможности автоматического резервного копирования.

Redshift - это инструмент онлайн-аналитики (OLAP), который может обрабатывать огромные объемы данных. Он предназначен для использования в качестве бизнес-аналитического решения, которое может обрабатывать сложные запросы. На данный момент кластеры Redshift можно развернуть только в одной зоне доступности.

Есть еще много других решений для баз данных, которые определенно стоит знать, но которые считаются выходящими за рамки экзамена Solution Architect Associate. Некоторые из них:

  • Нептун (решение для графической базы данных)
  • Управляемая служба Cassandra
  • Служба Elasticsearch
  • Elastic MapReduce (управляемая платформа больших данных, например Hadoop)
  • Афина (бессерверная служба запросов к большим данным)

Бессерверная

Бессерверная версия - очень популярная парадигма, которая может упростить разработку приложений и сделать ее более рентабельной. AWS Lambda - это решение функция как услуга (FaaS). Нам не нужно заботиться ни о чем, кроме написанного нами кода. Мы запускаем наш код в виде функции на одном из поддерживаемых языков (или предоставляем настраиваемую среду выполнения). Мы платим только за выполненные запуски в ответ на выбранные триггеры. Триггером может быть, среди прочего: API Gateway (например, HTTP-запрос), S3 (например, создание или обновление файла) или DynamoDB (например, добавление нового элемента). Лямбда автоматически масштабируется по горизонтали и имеет высокую доступность благодаря своей конструкции.

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

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

Если мы хотим иметь API, мы можем воспользоваться полностью управляемой службой под названием API Gateway, которая может быть «входной дверью» нашего приложения. Это решение автоматически масштабируется и поддерживает регулирование, авторизацию, аутентификацию и сохранение журналов в Cloud Watch. API Gateway поддерживает как REST API, так и WebSockets. С нас взимается плата за количество полученных звонков и объем переданных данных. API Gateway может передавать запросы таким сервисам, как Lambda, Kinesis или EC2.

Служба простого уведомления (SNS) - это служба push-сообщений. После публикации сообщения в SNS его можно передать в такие службы, как Lambda или SQS, или отправить по электронной почте или SMS.

Самым первым сервисом, доступным на AWS, является Simple Queue Service (SQS). Это служба для небольших сообщений (максимальный размер 256 КБ). Есть два основных типа SQS:

  • Очередь FIFO (сообщения доставляются только один раз в строгом порядке, менее эффективно, более дорого)
  • Стандартная очередь (нет гарантии того же порядка, высокая пропускная способность, дешевле)

Другие услуги

Облачное образование

Инфраструктура как код (IaaS) - чрезвычайно полезная концепция, с помощью которой мы можем управлять нашими серверами и службами и изменять их версии с помощью сценариев. Мы можем воплотить в жизнь ту же конфигурацию и серверы для разработки и легко отслеживать изменения. AWS предоставляет сервис под названием Cloud Formation. Мы можем определить все службы, которые мы используем, в одном файле YAML или JSON и управлять ими с помощью всего нескольких команд. Модель бессерверного приложения (SAM) - это расширение Cloud Formation, призванное упростить работу с бессерверными решениями. Это также единственный сервис AWS с собственным талисманом.

AWS предоставляет ряд инструментов разработки. Мы сканируем и строим весь конвейер CI / CD с помощью Code Pipeline, Code Build и Code Star. Также существует облачная IDE для разработки приложений под названием Cloud 9.

Облачный след

Важно знать, какие действия каждый пользователь выполняет с нашей учетной записью и какие службы используются. Cloud Trail регистрирует все вызовы API и действия консоли, выполняемые вручную.

Маршрут 53

AWS имеет собственное решение DNS, глубоко интегрированное с другими сервисами. Он предоставляет ряд возможных политик маршрутизации, таких как:

  • Маршрутизация на основе задержки
  • Геолокация
  • Географическая близость
  • Взвешенный круговой алгоритм

Кинезис

В некоторых случаях мы получаем постоянный поток данных (например, от устройств IOT). Мы могли бы обрабатывать их один за другим, когда бы мы их ни получали, но это может создать огромное количество операций. Используя Kinesis, мы можем буферизовать такие данные, и только после сбора достаточного количества данных или определенного времени они передаются различным службам для их обработки.

Cognito

AWS предоставляет нам решение для аутентификации и федерации веб-идентификации. Он упрощает масштабное управление пользователями и интегрируется с множеством других сервисов AWS. Это также упрощает интеграцию со сторонними поставщиками идентификационной информации (например, Facebook или Google).

Cloud Front

Мы кратко упоминали об этой услуге в предыдущих разделах. Cloud Front позволяет нам хранить файлы ближе к конечным пользователям и сокращать задержки. Это может быть статический файл или RTMP для потоковой передачи мультимедиа. Cloud Front - это сеть доставки контента, которая пользуется преимуществами периферийных местоположений по всему миру.

Прочтите статьи и ответы на часто задаваемые вопросы

Стоит немного прочитать о сценариях использования и различных перспективах сервисов AWS. Люди очень хотят делиться своим опытом и примерами кода. На самом деле о среде действительно есть тысячи статей с руководствами и мыслями об AWS.

Большинство часто задаваемых вопросов на веб-сайтах совершенно бесполезны и не соответствуют действительности. Часто задаваемые вопросы по сервисам AWS не попадают в эту категорию. Очевидно, что на то, чтобы сделать их максимально полезными, было потрачено безумно много времени и сил. Когда мы начинаем думать о каждой услуге, возникает множество вопросов. Вы не поверите, но ответы на большую часть из них можно найти в FAQ. Знакомство с ними имеет решающее значение, так как если вы хотите стать экспертом по AWS, вы будете тем, кто получает вопросы и должен на них отвечать.





Хорошо продуманная структура

Один из рекомендуемых ресурсов для экзамена - это платформа с хорошей архитектурой, созданная AWS. Это набор правил, которые могут помочь использовать большинство возможностей облака и определить возможности для улучшений. Он также состоит из обширного списка вопросов, которые должны помочь в этом. Более того, есть даже сервис AWS, цель которого как раз и есть. AWS Well-Architected Tool поможет вам получить доступ к потенциальным рискам и отслеживать состояние и улучшения архитектуры вашего проекта с помощью контрольных точек. Определенно инструменты, которые стоит использовать и совершенно бесплатно.

В основе этой концепции лежат пять столпов:

  • операционное превосходство

Для предоставления программного обеспечения высочайшего качества необходимо установить надлежащие внутренние правила и практику. Производительность нашей системы следует оценивать с помощью показателей, а не субъективных мнений. Мы должны собирать данные, которые помогут понять и улучшить качество наших операций и услуг. Структура способствует обмену знаниями и созданию обратной связи, чтобы иметь возможность учиться на прошлых событиях. Ваше программное обеспечение постоянно развивается, так же как и процессы, архитектура и решения.

  • Безопасность

Даже самое лучшее программное обеспечение может уничтожить всю компанию, если не позаботиться о безопасности так, как она заслуживает. Мы должны иметь возможность защищать данные, которые использует наша система, и предотвращать несанкционированное использование сервисов. Инциденты безопасности могут происходить всегда и, вероятно, будут в какой-то момент, но мы должны подготовиться, чтобы отреагировать и изучить причины. AWS предоставляет сервисы, которые помогают отслеживать события в нашей системе и обнаруживать отклонения.

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

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

  • Эффективность производительности

У нас всегда есть ограниченное количество доступных ресурсов, и мы должны использовать их с умом. Выбор правильного решения - непростая задача. В облаке AWS есть ряд различных сервисов, которые можно использовать для решения схожих проблем разными способами. Компромиссы неизбежны, и решения следует выбирать с учетом драйверов проекта и моделей использования.

Наше программное обеспечение должно иметь возможность автоматического масштабирования, чтобы обслуживать различное количество пользователей и обеспечивать высокое качество. Увеличение и уменьшение масштаба должно зависеть от рабочей нагрузки и помогать в оптимизации затрат. В облаке мы также можем извлечь выгоду из управляемых решений и минимизировать затраты на эксплуатацию и настройку. Применяя подход эволюционной архитектуры и извлекая уроки из опыта, мы должны адаптировать наши решения к меняющимся условиям.

  • Надежность

Наша система должна быть отказоустойчивой и уметь восстанавливаться после повреждений или неправильной конфигурации. Неудачи имеют тенденцию случаться, и в долгосрочной перспективе обязательно будут. Мы должны быть готовы реагировать в таких случаях, как DDoS-атаки, неправильная конфигурация, проблемы с сетью и другие распространенные сценарии. Мы можем извлечь выгоду из гибкости облака и протестировать разработанные стратегии восстановления с минимальными затратами. Имея несколько экземпляров системы, которые автоматически масштабируются, мы также можем избежать единой точки отказа.

Мы должны иметь возможность предоставлять предсказуемые объекты уровня обслуживания (SLO) и соглашения об уровне обслуживания (SLA) для наших систем. Эти показатели должны учитывать зависимости используемых систем и доступность услуг. Достижение высоких целей SLA и SLO невозможно без автоматического восстановления. Ручные - исключены, если наша цель - высокая доступность (например, 99,99% дают нам всего 52 минуты простоя в год).

  • Оптимизация затрат

Мы должны знать о гибкости, которую нам предоставляет облако. Нам не нужно делать большие предварительные покупки, мы можем регулировать используемые ресурсы в зависимости от потребностей. Мы можем отслеживать, какие ресурсы являются наиболее дорогостоящими, и сравнивать их с их потребительской ценностью. Использование тегов и AWS Cost Explorer может помочь избавиться от ненужных затрат и ограничить количество потраченных денег.

Понимание закономерностей использования ресурсов может привести к радикальному снижению затрат. Существует несколько возможных вариантов покупки и обслуживания (например, использование спотовых или зарезервированных экземпляров вместо экземпляров по запросу).

Это было лишь краткое введение. Мы настоятельно рекомендуем прочитать статьи целиком:



В самом конце технического документа фреймворка есть список вопросов с довольно подробными рекомендациями и описаниями. Мы думаем, что лучшее упражнение - это ответить на них по проекту, над которым вы сейчас работаете. Вы также можете сохранить результаты в AWS Well-Architected Tool.

Обзор

На экзамене 65 вопросов. Сдаем в экзаменационном центре и бронируем через специальный сайт. Есть вопросы как с множественным, так и с единственным выбором. У нас есть 130 минут, и мы должны заплатить 150 долларов + НДС. Я настоятельно рекомендую задержаться как можно дольше и просмотреть все ответы. Мы можем изменить их в любой момент во время экзамена. Чтение каждого вопроса более одного раза также может уменьшить количество возможных ошибок.

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

В настоящее время существует две разные версии экзамена: SAA-C01 и SAA-C02. С 23 марта можно будет брать только последний. Считается, что он имеет немного более широкий охват, но между ними не должно быть слишком большой разницы. На официальном сайте есть краткое руководство и несколько примеров вопросов для обоих:



Если вы сдадите экзамен (что, очевидно, произойдет), вы увидите соответствующее сообщение на экране сразу после экзамена и получите подробную оценку в течение следующих нескольких дней.

Веселитесь и пачкайте руки

Изучение чистой теории - это одно, но мы действительно склонны понимать и запоминать вещи, выполняя их. AWS может быть интересным, особенно если вы занимаетесь программированием и программным обеспечением. Есть миллионы забавных побочных проектов, которые можно сделать, чтобы опробовать сервисы AWS. Таким образом, мы лучше познакомимся с большинством сервисов и посмотрим, как они могут помочь в том или ином сценарии.

У вас, вероятно, есть масса идей для самостоятельных примеров проектов. Если вам нужно еще, вот они:

  1. Используйте или разработайте очень простое веб-приложение (желательно, чтобы оно было удобно и для других задач). Создайте конфигурацию обеда или шаблон обеда, которые будут автоматически создавать экземпляры EC2 с нашим веб-приложением. Используйте его для создания группы автоматического масштабирования с помощью Application Load Balancer.
  2. Настройте конвейер CI / CD с помощью AWS CodeStar для простого веб-приложения.
  3. Используя API Gateway, создайте простой REST API с двумя конечными точками, связанными с двумя функциями Lambda, приветствуя пользователя по-разному.
  4. Создайте приложение, которое конвертирует видео, загруженные в корзину S3, из .mp4 в .webm. Когда загружается новый файл .mp4, запускается функция Lambda, использующая для задания эластичный транскодер.
  5. Создайте общедоступные и частные подсети в VPC с одним экземпляром EC2 в каждой. Подключите экземпляр из частной подсети к внешнему миру с помощью шлюза NAT. Запустите apt-get update или yum update, чтобы проверить соединение.
  6. Создайте простое одностраничное приложение и разместите его на S3. Создайте простой REST API с API Gateway и Lambda, чтобы сделать его более интерактивным.
  7. Создайте одностраничное приложение с Facebook и входом в Google с помощью AWS Cognito. Разрешить зарегистрированным пользователям загружать файлы в S3. Amplify будет очень кстати.

И последнее, но не менее важное: не торопитесь и хорошо выспитесь накануне.

Удачи с экзаменом!

Ресурсы: