декабря 21, 2025
12 мин. чтения

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

interview
career-advice
job-search
entry-level
Вопросы для собеседования на должность младшего облачного инженера AWS: Полное руководство
MB

Milad Bonakdar

Автор

Освойте основные принципы AWS с помощью подробных вопросов для собеседования, охватывающих EC2, S3, VPC, IAM и основные облачные концепции для должностей младшего облачного инженера.


Введение

AWS (Amazon Web Services) — ведущая облачная платформа, предлагающая более 200 сервисов для вычислений, хранения данных, сетей и многого другого. Как начинающему облачному инженеру, вам потребуются базовые знания об основных сервисах AWS и облачных концепциях для построения и управления облачной инфраструктурой.

В этом руководстве рассматриваются основные вопросы для собеседований с начинающими облачными инженерами AWS, с упором на EC2, S3, VPC, IAM и фундаментальные облачные концепции.


AWS EC2 (Elastic Compute Cloud)

1. Что такое AWS EC2 и каковы его основные преимущества?

Ответ: EC2 (Elastic Compute Cloud) предоставляет виртуальные серверы с изменяемыми размерами в облаке.

Основные преимущества:

  • Эластичность: Масштабирование вверх/вниз в зависимости от спроса
  • Оплата по факту использования: Платите только за то, что используете
  • Разнообразие: Множество типов инстансов для различных рабочих нагрузок
  • Глобальность: Развертывание в нескольких регионах по всему миру
  • Интеграция: Бесперебойная работа с другими сервисами AWS

Типичные варианты использования:

  • Веб-хостинг
  • Серверы приложений
  • Среды разработки/тестирования
  • Пакетная обработка
  • Высокопроизводительные вычисления

Распространенность: Очень часто Сложность: Легко


2. Объясните разницу между остановкой и завершением работы инстанса EC2.

Ответ:

Остановка инстанса:

  • Инстанс выключается, но не удаляется
  • Сохраняется корневой том EBS
  • Взимается плата за хранилище EBS
  • Можно перезапустить позже с той же конфигурацией
  • Elastic IP остается связанным
  • ID инстанса остается прежним

Завершение работы инстанса:

  • Инстанс удаляется навсегда
  • Корневой том EBS удаляется (если не настроено иначе)
  • После завершения работа плата не взимается
  • Невозможно перезапустить
  • Elastic IP отсоединяется
  • ID инстанса нельзя использовать повторно
# Примеры AWS CLI

# Остановить инстанс
aws ec2 stop-instances --instance-ids i-1234567890abcdef0

# Запустить остановленный инстанс
aws ec2 start-instances --instance-ids i-1234567890abcdef0

# Завершить работу инстанса
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0

Распространенность: Очень часто Сложность: Легко


AWS S3 (Simple Storage Service)

3. Что такое Amazon S3 и какие существуют различные классы хранения?

Ответ: S3 — это объектное хранилище для хранения и извлечения любого объема данных из любого места.

Классы хранения:

КлассВариант использованияДоступностьСтоимость
S3 StandardЧасто используемые данные99,99%Самая высокая
S3 Intelligent-TieringНеизвестные/изменяющиеся шаблоны доступа99,9%Автоматическая оптимизация
S3 Standard-IAРедко используемые99,9%Ниже
S3 One Zone-IAРедкое, некритичное использование99,5%Самая низкая IA
S3 Glacier InstantАрхив, мгновенное извлечение99,9%Очень низкая
S3 Glacier FlexibleАрхив, извлечение в течение нескольких минут-часов99,99%Очень низкая
S3 Glacier Deep ArchiveДолгосрочный архив, извлечение за 12 часов99,99%Самая низкая
# Создать бакет S3
aws s3 mb s3://my-bucket-name

# Загрузить файл
aws s3 cp myfile.txt s3://my-bucket-name/

# Список объектов
aws s3 ls s3://my-bucket-name/

# Скачать файл
aws s3 cp s3://my-bucket-name/myfile.txt ./

Распространенность: Очень часто Сложность: Легко-Средне


AWS VPC (Virtual Private Cloud)

4. Что такое AWS VPC и каковы его ключевые компоненты?

Ответ: VPC — это логически изолированная виртуальная сеть, в которой вы запускаете ресурсы AWS.

Ключевые компоненты:

Loading diagram...

Компоненты:

  1. Подсети: Сегменты диапазона IP-адресов VPC

    • Публичные: Имеют маршрут к интернет-шлюзу
    • Приватные: Нет прямого доступа к Интернету
  2. Интернет-шлюз: Обеспечивает доступ в Интернет

  3. NAT-шлюз: Позволяет приватной подсети получить доступ в Интернет (только исходящий)

  4. Таблицы маршрутов: Управляют маршрутизацией трафика

  5. Группы безопасности: Брандмауэр уровня инстанса (с отслеживанием состояния)

  6. Сетевые ACL: Брандмауэр уровня подсети (без отслеживания состояния)

Распространенность: Очень часто Сложность: Средне


5. В чем разница между группами безопасности и сетевыми ACL?

Ответ:

ХарактеристикаГруппа безопасностиСетевой ACL
УровеньИнстансПодсеть
СостояниеС отслеживанием состоянияБез отслеживания состояния
ПравилаТолько разрешитьРазрешить и запретить
Обратный трафикАвтоматическиДолжен быть явно разрешен
ПрименениеВыборочно (для каждого инстанса)Все инстансы в подсети
Оценка правилВсе правилаПравила по порядку

Пример:

# Создать группу безопасности
aws ec2 create-security-group \
  --group-name web-sg \
  --description "Группа безопасности веб-сервера" \
  --vpc-id vpc-1234567890abcdef0

# Добавить входящее правило (разрешить HTTP)
aws ec2 authorize-security-group-ingress \
  --group-id sg-0123456789abcdef0 \
  --protocol tcp \
  --port 80 \
  --cidr 0.0.0.0/0

# Добавить входящее правило (разрешить SSH с определенного IP)
aws ec2 authorize-security-group-ingress \
  --group-id sg-0123456789abcdef0 \
  --protocol tcp \
  --port 22 \
  --cidr 203.0.113.0/24

Распространенность: Очень часто Сложность: Средне


AWS IAM (Identity and Access Management)

6. Объясните пользователей, группы и роли IAM.

Ответ: IAM контролирует доступ к ресурсам AWS.

Пользователи IAM:

  • Индивидуальная идентификация с учетными данными
  • Долгосрочные учетные данные (пароль, ключи доступа)
  • Используются для людей или приложений

Группы IAM:

  • Коллекция пользователей
  • Политики присоединяются к группам
  • Пользователи наследуют разрешения группы

Роли IAM:

  • Временные учетные данные
  • Принимаются пользователями, приложениями или сервисами
  • Нет долгосрочных учетных данных
  • Используются для инстансов EC2, функций Lambda, межрегионального доступа
// Пример политики IAM (S3 только для чтения)
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ]
    }
  ]
}

Рекомендации:

  • Используйте роли для инстансов EC2 (а не ключи доступа)
  • Следуйте принципу наименьших привилегий
  • Включите MFA для привилегированных пользователей
  • Регулярно меняйте учетные данные
  • Используйте группы для управления разрешениями

Распространенность: Очень часто Сложность: Средне


Основные концепции AWS

7. Что такое регионы и зоны доступности AWS?

Ответ:

Регион AWS:

  • Географическое местоположение (например, us-east-1, eu-west-1)
  • Содержит несколько зон доступности
  • Изолирован от других регионов
  • Выбирайте на основе: задержки, соответствия требованиям, стоимости

Зона доступности (AZ):

  • Один или несколько центров обработки данных в регионе
  • Изолированы от сбоев в других AZ
  • Соединены сетью с низкой задержкой
  • Развертывание в нескольких AZ для высокой доступности
Loading diagram...

Пример высокой доступности:

# Запустить инстансы в нескольких AZ
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t2.micro \
  --subnet-id subnet-1a \
  --count 1

aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t2.micro \
  --subnet-id subnet-1b \
  --count 1

Распространенность: Очень часто Сложность: Легко


8. Что такое AMI (Amazon Machine Image)?

Ответ: AMI — это шаблон для создания инстансов EC2.

Содержит:

  • Операционную систему
  • Сервер приложений
  • Приложения
  • Настройки конфигурации

Типы:

  • Предоставляемые AWS: Amazon Linux, Ubuntu, Windows
  • Marketplace: AMI сторонних разработчиков
  • Пользовательские: Ваши собственные AMI

Создание пользовательского AMI:

# Создать AMI из запущенного инстанса
aws ec2 create-image \
  --instance-id i-1234567890abcdef0 \
  --name "My-Web-Server-AMI" \
  --description "Веб-сервер с настроенным Apache"

# Запустить инстанс из AMI
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t2.micro \
  --key-name my-key-pair

Варианты использования:

  • Стандартизированные развертывания
  • Резервное копирование и восстановление
  • Автомасштабирование
  • Развертывание в нескольких регионах

Распространенность: Часто Сложность: Легко-Средне


Хранилище AWS

9. Что такое EBS и какие существуют типы томов?

Ответ: EBS (Elastic Block Store) предоставляет постоянное блочное хранилище для инстансов EC2.

Типы томов:

ТипВариант использованияПроизводительностьСтоимость
gp3 (SSD общего назначения)Большинство рабочих нагрузок3000-16 000 IOPSСамый низкий SSD
gp2 (SSD общего назначения)Устаревший, общее использованиеДо 16 000 IOPSНизкая
io2/io1 (Provisioned IOPS)Базы данных, критически важные приложенияДо 64 000 IOPSСамая высокая
st1 (Throughput Optimized HDD)Большие данные, хранилища данныхВысокая пропускная способностьНизкая
sc1 (Cold HDD)Редкий доступСамая низкая стоимостьСамая низкая

Создание и подключение EBS:

# Создать том EBS
aws ec2 create-volume \
  --availability-zone us-east-1a \
  --size 100 \
  --volume-type gp3 \
  --iops 3000 \
  --throughput 125

# Подключить к инстансу
aws ec2 attach-volume \
  --volume-id vol-1234567890abcdef0 \
  --instance-id i-1234567890abcdef0 \
  --device /dev/sdf

# Отформатировать и смонтировать (на инстансе)
sudo mkfs -t ext4 /dev/sdf
sudo mkdir /data
sudo mount /dev/sdf /data

# Сделать постоянным (добавить в /etc/fstab)
echo "/dev/sdf /data ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab

Снимки EBS:

# Создать снимок
aws ec2 create-snapshot \
  --volume-id vol-1234567890abcdef0 \
  --description "Резервная копия перед обновлением"

# Восстановить из снимка
aws ec2 create-volume \
  --snapshot-id snap-1234567890abcdef0 \
  --availability-zone us-east-1a \
  --volume-type gp3

# Скопировать снимок в другой регион
aws ec2 copy-snapshot \
  --source-region us-east-1 \
  --source-snapshot-id snap-1234567890abcdef0 \
  --destination-region us-west-2

Ключевые особенности:

  • Постоянство: Данные сохраняются после завершения работы инстанса
  • Снимки: Резервные копии на определенный момент времени в S3
  • Шифрование: В состоянии покоя и при передаче
  • Изменяемый размер: Увеличение размера без простоя
  • Multi-attach: Тома io2 могут быть подключены к нескольким инстансам

Рекомендации:

  • Используйте gp3 для большинства рабочих нагрузок (лучшее соотношение цены и производительности)
  • Включите шифрование по умолчанию
  • Регулярные снимки для резервного копирования
  • Удалите неиспользуемые тома, чтобы сэкономить средства

Распространенность: Очень часто Сложность: Легко-Средне


10. Объясните политики бакетов S3 и чем они отличаются от политик IAM.

Ответ: Оба контролируют доступ к S3, но работают по-разному:

Политики IAM:

  • Прикреплены к пользователям, группам или ролям
  • Контролируют, что идентификаторы могут делать
  • Управляются централизованно в IAM

Политики бакетов S3:

  • Прикреплены к бакетам S3
  • Контролируют доступ к определенным бакетам
  • Могут предоставлять межрегиональный доступ
  • Могут ограничивать по IP-адресу

Пример политики IAM:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::my-bucket/*"
    }
  ]
}

Пример политики бакета S3:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-public-bucket/*"
    },
    {
      "Sid": "RestrictByIP",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ],
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": "203.0.113.0/24"
        }
      }
    }
  ]
}

Применить политику бакета:

# Создать файл политики (policy.json)
# Затем применить его
aws s3api put-bucket-policy \
  --bucket my-bucket \
  --policy file://policy.json

# Посмотреть текущую политику
aws s3api get-bucket-policy \
  --bucket my-bucket

# Удалить политику
aws s3api delete-bucket-policy \
  --bucket my-bucket

Типичные варианты использования:

1. Публичный веб-хостинг:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-website/*"
    }
  ]
}

2. Межрегиональный доступ:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      },
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::shared-bucket",
        "arn:aws:s3:::shared-bucket/*"
      ]
    }
  ]
}

3. Принудительное шифрование:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::my-bucket/*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "AES256"
        }
      }
    }
  ]
}

Когда использовать:

  • Политика IAM: Контролируйте, что могут делать ваши пользователи/приложения
  • Политика бакета: Контролируйте, кто может получить доступ к вашему бакету (включая внешние учетные записи)

Распространенность: Очень часто Сложность: Средне


Мониторинг и управление

11. Что такое CloudWatch и как вы его используете для мониторинга?

Ответ: CloudWatch — это сервис мониторинга и наблюдаемости AWS.

Ключевые компоненты:

1. Метрики:

  • Числовые точки данных во времени
  • EC2: ЦП, сеть, диск
  • RDS: Подключения, IOPS
  • Пользовательские метрики: Специфичные для приложения
# Просмотреть метрики ЦП EC2
aws cloudwatch get-metric-statistics \
  --namespace AWS/EC2 \
  --metric-name CPUUtilization \
  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
  --start-time 2024-11-25T00:00:00Z \
  --end-time 2024-11-25T23:59:59Z \
  --period 3600 \
  --statistics Average,Maximum

# Опубликовать пользовательскую метрику
aws cloudwatch put-metric-data \
  --namespace MyApp \
  --metric-name PageLoadTime \
  --value 0.5 \
  --unit Seconds

2. Оповещения:

# Создать оповещение о высокой загрузке ЦП
aws cloudwatch put-metric-alarm \
  --alarm-name high-cpu-alarm \
  --alarm-description "Предупреждение, когда загрузка ЦП превышает 80%" \
  --metric-name CPUUtilization \
  --namespace AWS/EC2 \
  --statistic Average \
  --period 300 \
  --threshold 80 \
  --comparison-operator GreaterThanThreshold \
  --evaluation-periods 2 \
  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
  --alarm-actions arn:aws:sns:us-east-1:123456789012:my-topic

3. Журналы:

# Создать группу журналов
aws logs create-log-group \
  --log-group-name /aws/application/myapp

# Создать поток журналов
aws logs create-log-stream \
  --log-group-name /aws/application/myapp \
  --log-stream-name instance-1

# Поместить события журнала
aws logs put-log-events \
  --log-group-name /aws/application/myapp \
  --log-stream-name instance-1 \
  --log-events \
    timestamp=1234567890000,message="Приложение запущено" \
    timestamp=1234567891000,message="Обработка запроса"

# Запросить журналы
aws logs filter-log-events \
  --log-group-name /aws/application/myapp \
  --filter-pattern "ERROR" \
  --start-time 1234567890000

4. Панели мониторинга:

# Создать панель мониторинга с помощью boto3
import boto3
import json

cloudwatch = boto3.client('cloudwatch')

dashboard_body = {
    "widgets": [
        {
            "type": "metric",
            "properties": {
                "metrics": [
                    ["AWS/EC2", "CPUUtilization", {"stat": "Average"}]
                ],
                "period": 300,
                "stat": "Average",
                "region": "us-east-1",
                "title": "Загрузка ЦП EC2"
            }
        },
        {
            "type": "metric",
            "properties": {
                "metrics": [
                    ["AWS/RDS", "DatabaseConnections"]
                ],
                "period": 300,
                "stat": "Sum",
                "region": "us-east-1",
                "title": "Подключения RDS"
            }
        }
    ]
}

cloudwatch.put_dashboard(
    DashboardName='MyAppDashboard',
    DashboardBody=json.dumps(dashboard_body)
)

Общие сценарии мониторинга:

Мониторинг инстанса EC2:

# Метрики ЦП, сети, диска автоматические
# Для памяти требуется агент CloudWatch

# Установить агент CloudWatch
wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
sudo rpm -U ./amazon-cloudwatch-agent.rpm

# Настроить агент (создает файл конфигурации)
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

# Запустить агент
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
  -a fetch-config \
  -m ec2 \
  -s \
  -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

Мониторинг журналов приложений:

# Приложение Python с ведением журнала CloudWatch
import boto3
import logging
from datetime import datetime

class CloudWatchHandler(logging.Handler):
    def __init__(self, log_group, log_stream):
        super().__init__()
        self.client = boto3.client('logs')
        self.log_group = log_group
        self.log_stream = log_stream
        
    def emit(self, record):
        log_entry = self.format(record)
        self.client.put_log_events(
            logGroupName=self.log_group,
            logStreamName=self.log_stream,
            logEvents=[{
                'timestamp': int(datetime.now().timestamp() * 1000),
                'message': log_entry
            }]
        )

# Использование
logger = logging.getLogger()
logger.addHandler(CloudWatchHandler('/aws/myapp', 'instance-1'))
logger.info("Приложение запущено")

Рекомендации:

  • Настройте оповещения для критических метрик
  • Используйте группы журналов для организации журналов
  • Создайте панели мониторинга для быстрого обзора
  • Установите политики хранения для контроля затрат
  • Используйте фильтры метрик для анализа журналов

Распространенность: Очень часто Сложность: Средне


Заключение

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

  1. EC2: Типы инстансов, жизненный цикл, безопасность
  2. S3: Классы хранения, политики бакетов, версионирование
  3. VPC: Сети, подсети, группы безопасности
  4. IAM: Пользователи, роли, политики, наименьшие привилегии
  5. Основные концепции: Регионы, AZ, AMI

Практикуйтесь в использовании консоли AWS и CLI, чтобы получить практический опыт. Удачи!

Newsletter subscription

Еженедельные советы по карьере, которые действительно работают

Получайте последние идеи прямо на вашу почту

Похожие посты

Decorative doodle

Ваше следующее собеседование — всего одно резюме

Создайте профессиональное оптимизированное резюме за несколько минут. Не нужны навыки дизайна—только проверенные результаты.

Создать моё резюме

Поделиться этим постом

Преодолейте 75% Уровень Отказа ATS

3 из 4 резюме никогда не доходят до человеческих глаз. Наша оптимизация ключевых слов повышает ваш процент прохождения до 80%, гарантируя, что рекрутеры действительно увидят ваш потенциал.